/* 
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.7
Text Domain: greenroom
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: 
*/

/* 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; /* remove default underline */
  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,
.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,
.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{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;/* !!! change to intergers */
}

/** headings **/
.elementor-widget-heading .elementor-heading-title{line-height:inherit}
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;/* !!! change to intergers */
}
h2,.h2,.h2 h3,.h2 h4,.h2 h5,.h2 h6,.h2 p{
  font-size: 4.8rem;
  line-height: 52px;
}
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 {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;
}
.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;
  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 .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(--pink) !important}
.elementor-price-table__additional_info{margin: 0 !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: transparent !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: transparent !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: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.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;}

:root{--sitemargins:16px;}
@media screen and (max-width:1025px) and (min-width:768px){
  :root{--sitemargins:30px;}
}
@media screen and (min-width:1025px){
  :root{--sitemargins:60px;}
}
/* .elementor > .e-con, */
.elementor >.e-con-boxed{padding-left:var(--sitemargins);padding-right:var(--sitemargins)}