/* 
Theme Name: Greenroom
Theme URI: https://www.robineaster.com
Description: Custom Theme for Greenroom
Author: Robin Easter Design
Author URI: https://www.robineaster.com
Template: hello-elementor
Version: 3.4.9
Text Domain: greenroom
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: 
*/
html, body {
  scroll-behavior: smooth !important;
}

/* variables */
:root{
 /*colors*/
 --lightgreen: #C1F1CD;
 --green: #0ACF75;
 --black: #1E2220;
 --off-white: #EEE;
 --yellow: #F6E552;
 --periwinkle: #ADB2FC;
 --pink: #EBAAEE;
 /*fonts*/
 --cofo: "cofo-sans-mono-variable",sans-serif;
 --rethink: "Rethink Sans",sans-serif;
}


/* links */
a{transition:color .3s ease}
a,a:hover,a:focus{color:inherit !important;}
.elementor p a,
.elementor .elementor-widget-text-editor p a {
  color: inherit;
  position: relative;
  text-decoration: none;
  transition: color 0.3s ease;
}
/** underlined animation **/
.elementor p a::after,
.elementor .elementor-widget-text-editor p a::after {
  background-color: var(--black);
  content: '';
  position: absolute;
   bottom: 0;
   left: 0;
  opacity: 1;
  transform: scaleX(1);
  transform-origin: center;
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 100%;
   height: 1px;
}
/** hide the underline **/
.elementor p a:hover::after,
.elementor p a:focus::after,
.elementor .elementor-widget-text-editor p a:hover::after,
.elementor .elementor-widget-text-editor p a:focus::after {
  transform: scaleX(0);
  opacity: 0;
}
.periwinkle p a::after,
.nounder p a::after,
.elementor.elementor-location-footer p a::after{
  bottom: -7px;
  height: 3px;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.periwinkle p a:hover::after,
.nounder p a:hover::after,
.elementor.elementor-location-footer p a:hover::after{
  opacity: 1;
  transform: scaleX(1);
}
.periwinkle p a{color:#5548CC !important}
.periwinkle p a::after{background-color:#5548CC}
.elementor.elementor-location-footer p a::after,.nounder p a::after{background-color:var(--green)}

/* typography */

/** Set html to 62.5% so that all the REM measurements throughout are based on 10px sizing. ~1.5rem = 15px **/
html{background-color: var(--off-white);font-size:62.5%}

/* body text */
body{
  background-color: var(--off-white);
  color: var(--black);
  font-family: var(--rethink);
  font-optical-sizing: auto;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: normal;
  line-height: 35px;
}

/** headings **/
.elementor-widget-heading .elementor-heading-title{
  line-height: inherit;
}

/* .elementor-widget-heading p.elementor-heading-title{line-height: 1.5 !important;} */

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  font-family: var(--rethink);
  font-size: 6.4rem;
  font-weight: 500;
}
h1,.h1,.h1 h2,.h1 h3,.h1 h4,.h1 h5,.h1 h6,.h1 p{
  /*line-height: 77px !important;*/
  line-height: 1.205 !important;
}
h2,.h2,.h2 h3,.h2 h4,.h2 h5,.h2 h6,.h2 p{
  font-size: 4.8rem;
  /* line-height: 52px !important; */
  line-height: 1.0835 !important;
}
h3,.h3,.h3 h2,.h3 h4,.h3 h5,.h3 h6,.h3 p{
  font-size: 3.2rem;
}
h4,.h4,.h4 h2,.h4 h3,.h4 h5,.h4 h6,.h4 p{
  font-family: var(--cofo);
  font-size: 1.6rem;
  letter-spacing: .01em;
  text-transform: uppercase;
}
h5,.h5,.h5 h2,.h5 h3,.h5 h4,.h5 h6,.h5 p{
  font-size: 1.6rem;
  font-weight: 600;
}
h6,.h6,.h6 h2,.h6 h3,.h6 h4,.h6 h5,.h6 p{
  font-size: 1.4rem;
  font-weight: 600;
}
nav,.smallcaps p{
  font-family: var(--cofo);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .01em;
  text-transform: uppercase;
}


/* dark sections */
.dark{background-color:var(--black)}
.dark {color:var(--off-white)}
.dark .elementor-button,.dark .elementor-button * {color:initial}


/* elementor */
/* .elementor-section,.e-con {transition: none !important;} */
.elementor-widget-text-editor .elementor-widget-container p:last-child{margin-bottom:0}

/** nav **/
/* Allow overflow for pseudo-element animations */
.site-main .menu-navigation-container {
  overflow: visible;
}
/* Base pseudo-element for underline */
.e--pointer-underline .elementor-item:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 7px;
  width: 100%;
  height: 3px;
  background-color: var(--green);
  opacity: 1;
  transform: scaleX(1);
  transform-origin: center;
  transition: transform 0.3s cubic-bezier(.58,.3,.005,1), opacity 0.3s cubic-bezier(.58,.3,.005,1);
  z-index: 2;
}
/* Hide underline when not hovered/focused/active/highlighted */
.e--pointer-underline .elementor-item:not(:hover):not(:focus):not(.elementor-item-active):not(.highlighted):after {
  opacity: 0;
  transform: scaleX(0);
}
/* Show underline on hover/focus/active/highlighted */
.e--pointer-underline .elementor-item:focus:after,
.e--pointer-underline .elementor-item:hover:after,
.e--pointer-underline .elementor-item-active:after,
.e--pointer-underline .elementor-item.highlighted:after {
  opacity: 1;
  transform: scaleX(1);
}

/* rounded cards */
.swiper-slide > .e-con{border-radius:22px}

/** elementor pricing cards **/
.elementor-widget-price-table{
  background-color: var(--lightgreen)!important;
  padding: 50px;
}
.price_carousel .elementor-swiper-button.elementor-swiper-button-prev svg,
.price_carousel .elementor-swiper-button.elementor-swiper-button-next svg{fill:var(--black) !important}
.elementor-widget-price-table,
.elementor-price-table .elementor-price-table__header,.elementor-price-table__header
{background-color:transparent !important}
.elementor-price-table__header,
.elementor-price-table__features-list,
.elementor-price-table__footer
{text-align:left}
.elementor-price-table__preheading,
.elementor-price-table__heading,
.elementor-price-table__subheading,
.elementor-price-table__price,
.elementor-price-table__features-list
{color: var(--black) !important;}
.elementor-ribbon-inner{background-color:var(--black)}
.elementor-price-table__preheading{
  font-family: var(--cofo);
  font-weight: 400;
  text-transform: uppercase;
}
.elementor-price-table__heading{
  font-size: 4.8rem !important;
  font-weight: 500 !important;
  /* line-height: 52px !important; */
  line-height: 1.0835 !important;
  margin-bottom: 12px !important;
}
.elementor-price-table .elementor-price-table__header{
  padding: 0 !important;
}
.elementor-price-table__subheading{
  font-size: 1.6rem !important;
  padding-bottom: 12px !important;
}
.elementor-widget-price-table .elementor-price-table .elementor-price-table__subheading{
  display: block !important;
  line-height: 1.3125 !important;
  margin-top: 0.25em !important;
  margin-bottom: 0 !important;
}
.elementor-price-table__features-list{
  font-family: var(--cofo);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.elementor-price-table .elementor-price-table__features-list li{
  font-size: 1.6rem;
  line-height: 1.5;
}
.elementor-price-table .elementor-price-table__features-list li .elementor-price-table__feature-inner{margin-inline:0 !important}
.elementor-price-table .elementor-price-table__features-list li::before{
  border-top: 1px solid var(--black) !important;
  margin:20px 0 !important;
}
.elementor-price-table .elementor-price-table__features-list li:first-child::before,
.elementor-price-table .elementor-price-table__features-list li:last-child::after{
  content: "";
  display: block;
  border-top: 1px solid var(--black) !important;
  margin:20px 0 !important;
}
.elementor-widget-price-table .elementor-button{
  background-color: transparent !important; /*ghost those chart buttons*/
}
.elementor-widget-price-table .elementor-button:hover{
  background-color: var(--black) !important;
  color: var(--lightgreen) !important;
}
.elementor-price-table__additional_info{margin: 0 !important;}

.elementor-widget-price-table .elementor-button:not([href]),
.elementor-button.disabled{
  color: inherit;
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}

/* mailchimp signup */
.mailchimp .elementor-button{
  background-color: transparent !important; /*ghost those chart buttons*/
}
.mailchimp .elementor-button:hover{
  background-color: var(--black) !important;
  color: var(--lightgreen) !important;
}

/* Forms */
::placeholder{opacity:1 !important}
button,
input,
optgroup,
select,
textarea{
  font-family: var(--cofo);
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}
input,
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea{
  background-color: var(--off-white) !important;
  border: 2px solid var(--black);
  border-radius: 22px;
  padding: 10px 33px;
  transition: all .3s ease;
}
textarea{
  border: 0 !important;
  border-bottom: 1px solid var(--black) !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
}
textarea
input:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus{
  background-color: var(--off-white) !important;
  border-color: var(--pink) !important;
  box-shadow: none !important;
  outline: none;
  transition: all .3s ease;
}
input{overflow:visible}
button,select{text-transform:none}
[type="button"],
[type="reset"],
[type="submit"],
button{
  width: auto;
   -webkit-appearance: button;
}
[type="button"],
[type="submit"],
button,
.elementor-button,
.elementor-button[type="submit"],
.elementor-button:visited,
.elementor-button.elementor-size-lg,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-sm{
  background-color: var(--green);
  border: 1px solid var(--black);
  border-radius: 22px;
  color: var(--black);
  display: inline-block;
  font-family: var(--cofo);
  font-size: 16px;
  font-weight: 400;
  padding: 14px 33px;
  text-align: center;
  transition: all .3s ease !important;
  user-select: none;
   -webkit-user-select: none;
   -moz-user-select: none;
  white-space: nowrap;
}
[type="button"]:not(:disabled),[type="submit"]:not(:disabled),
button:not(:disabled){cursor:pointer}
[type="button"]:focus:not(:focus-visible),
[type="submit"]:focus:not(:focus-visible),
button:focus:not(:focus-visible){
  outline: none;
}
[type="button"]:focus,[type="button"]:hover,[type="submit"]:focus,[type="submit"]:hover,button:focus,button:hover,
.elementor-button:focus,.elementor-button:hover,.elementor-button:visited{
  color: var(--black);
  text-decoration: none;
}
[type="button"]:hover,
[type="submit"]:hover,
button:hover,
.elementor-button:focus-visible,
.elementor-button:focus,
.elementor-button:hover,
.elementor-button[type="submit"]:focus,
.elementor-button[type="submit"]:hover,
.elementor-button.elementor-size-mlg:focus,
.elementor-button.elementor-size-lg:hover,
.elementor-button.elementor-size-md:focus,
.elementor-button.elementor-size-md:hover,
.elementor-button.elementor-size-sm:focus,
.elementor-button.elementor-size-sm:hover{
  background-color: var(--pink);
}
/* elementor basic forms */
.elementor-button{fill:var(--black)}
.elementor-field-textual{font-size:1.6rem;}
.elementor-field-group .elementor-field-textual{
  /* background-color: transparent !important; */
  border-color:var(--black);
}
.elementor-field-option{flex-direction:column;}
input[type=radio] + label,input[type=checkbox] + label{transition: color .3s ease}
input[type=radio]:checked + label,input[type=checkbox]:checked + label{color:var(--pink);transition: color .3s ease}
select,select.elementor-field-textual{border:0 !important;padding-left:0;padding-right:0;}

/* Gravity forms */
.gfield_label,.gfield_required{
  font-family: var(--cofo) !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase;
}
.gfield_required{color:var(--black) !important;}
.gfield input,.gfield textarea,
.gform-theme--framework input[type]:where(:not(.gform-text-input-reset):not([type="hidden"])):where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)){
  border-radius: 0 !important;
  border-top:0 !important;border-right:0 !important;border-left:0 !important;
  box-shadow: none  !important;
  font-family: var(--rethink) !important;
  font-size: 4.8rem !important;
  font-weight: 500 !important;
  height: auto !important;
  padding-top: 8px !important;
  padding-right: 0 !important;
  padding-bottom: 16px !important;
  padding-left: 0 !important;
}
.gfield ::placeholder{
  color: #AFAFAF !important;
  font-family: var(--rethink) !important;
  font-size: 4.8rem !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}
.gform-theme--foundation .gfield textarea.large {
  max-block-size: 42rem;
}
.gform_button{
  margin-top:24px !important;
  min-width: 174px !important;
}
.gform_button,.gform-theme--framework input[type="submit"]{
  background-color: var(--green) !important;
  border: 0 solid var(--black) !important;
  border-radius: 22px !important;
  color: var(--black) !important;
  display: inline-block !important;
  font-family: var(--cofo) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  padding: 14px 33px !important;
  text-align: center !important;
  transition: all .3s ease !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  white-space: nowrap !important;
}
.gform_button:hover,.gform-theme--framework input[type="submit"]:hover,
.gform_button:focus,.gform-theme--framework input[type="submit"]:focus{
  background-color: var(--pink) !important;
}

/* mobile first css */
:root{
  --sitemargins: 24px;
  --gridpadding: 40px 24px;
  --heading1: 5rem;
  --heading2: 4rem;
  --heading3: 2.8rem;
  --bigp: 2.2rem;
  --smallcap: 1.6rem;
}
/* responsive typography and site margins/grid padding */
@media screen and (min-width:768px){
  :root{
    --sitemargins: 6.4525vw;
    --gridpadding: 8.4525vw 6.4525vw;
    --heading1: 6.4rem;
    --heading2: 4.8rem;
    --heading3: 3.2rem;
    --bigp: 2.4rem;
  }
}
/* use of responsive variables for site margins and grid padding */
.elementor-widget-heading.smallcaps p.elementor-heading-title{font-size:var(--smallcap);}
.elementor-widget-heading p.elementor-heading-title{font-size:var(--bigp);}
h1,.h1,.h1 h2,.h1 h3,.h1 h4,.h1 h5,.h1 h6,.h1.elementor-widget-heading p{font-size:var(--heading1)}
h2,.h2,.h2 h3,.h2 h4,.h2 h5,.h2 h6,.h2.elementor-widget-heading p{font-size:var(--heading2)}
h3, .h3, .h3 h2, .h3 h4, .h3 h5, .h3 h6, .h3.elementor-widget-heading p{font-size:var(--heading3)}
.grid_content > .e-con{padding: var(--gridpadding) !important}
.elementor >.e-con-boxed{padding-left:var(--sitemargins);padding-right:var(--sitemargins)}


/* move recaptcha badge to the left */
.grecaptcha-badge {
  box-shadow: none !important;
  left: 0px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  width: 70px !important;
  z-index: 9999 !important;
}
.grecaptcha-badge:hover {
  width: 256px !important;
}