/*
 Theme Name:   Resilient Retrofits
 Theme URI:    https://www.energycircle.com
 Description:  Resilient Retrofits
 Author:       Energy Circle
 Author URI:   https://www.energycircle.com
 Template:     generatepress
 Version:      0.1
*/

/* ------------------- Desktop navigation & sticky styles -------------------- */
#sticky-navigation,
#mobile-header.is_stuck {
    box-shadow: 0 5px 2px -2px rgb(0 0 0 / 20%);
}

.main-navigation.sticky-navigation-transition .main-nav > ul > li > a {
    font-size: 16px;
}

#masthead {
    position: fixed;
    width: 100%;
    top: 0;
    padding-top: 30px;
    z-index: 5;
    box-shadow: 0 5px 2px -2px rgb(0 0 0 / 20%);
}

.secondary-navigation {
    z-index: 10;
    position: fixed;
    top: 0;
    width: 100%;
}

.inside-header {
    padding-bottom: 0;
    margin-top: -40px;
}

.site-logo img {
    max-width: 250px;
    padding-bottom: 10px;
}

.nav-float-right #site-navigation {
    align-self: flex-end;
}

/* -------------------- Auxiliary menu styles -------------------- */
.secondary-navigation .menu-toggle {
    display: none;
}

@media (max-width: 1024px) {
    #secondary-navigation {
        display: none;
    }
}

@media (max-width: 992px) {
    .secondary-navigation ul,
    .secondary-navigation:not(.toggled) .main-nav > ul {
        display: none;
    }
}

@media (max-width: 768px) {
    .secondary-navigation {
        text-align: center !important;
    }
    .secondary-navigation ul {
        display: block;
    }
    .secondary-navigation .sf-menu > li {
        float: none;
        display: inline-block !important;
    }
}

/* -------------------- Mobile header and hamburger menu styles -------------------- */
#mobile-header {
    background-color: var(--base-1);
}

.mobile-header-navigation {
    box-sizing: border-box;
    padding: 10px;
}

#generate-slideout-menu img {
    max-width: 150px !important;
}

#generate-slideout-menu .gb-button-wrapper .gb-button,
.slideout-navigation.do-overlay .inside-navigation .slideout-widget {
    width: 100%;
}

.slideout-navigation.do-overlay .inside-navigation .main-nav {
    min-width: unset !important;
    background: var(--sage-green);
    margin: -5px 20px 0px 20px !important;
}

.main-navigation.slideout-navigation .main-nav > ul > li > a {
    line-height: 30px;
    color: var(--base-1) !important;
}

.slideout-navigation.do-overlay .inside-navigation {
    padding: 0 !important;
}

#generate-slideout-menu.main-navigation .main-nav a {
    font-weight: 600;
}

#generate-slideout-menu.main-navigation .main-nav ul ul {
    background-color: unset;
    margin-left: 30px;
}

#generate-slideout-menu.do-overlay .slideout-menu li,
#generate-slideout-menu.do-overlay li {
    text-align: left !important;
    line-height: 3em;
}

#generate-slideout-menu.do-overlay .slideout-menu li a:hover,
#generate-slideout-menu.do-overlay li a:hover {
    color: var(--cool-river) !important;
}

.mobile-aux-menu li {
    padding-left: 15px;
}

.mobile-aux-menu li a {
    	font-size: 18px;
	color: var(--base-1);
}

.gb-container-81b79220 {
    display: flex;
    padding-top: 10px;
    padding-bottom: 10px;
}

.menu-toggle .gp-icon svg,
.slideout-exit .gp-icon svg {
    fill: var(--deep-green);
}

#generate-slideout-menu div.inside-navigation {
    padding-bottom: 30%;
}

#generate-slideout-menu .mobile-aux-menu {
    order: 2;
}

@media (max-width: 1024px) {
    #generate-slideout-menu.main-navigation ul.ec_menu_ul {
        display: block !important;
        background: var(--sage-green) !important;
        margin: 0 20px 0 20px !important;
        padding-bottom: 40px;
    }
}

@media (max-width: 768px) {
    .slideout-navigation.do-overlay .slideout-exit {
        position: fixed !important;
    }
}

/* -------------------- Testimonials -------------------- */
.testimonials .testimonial-quote:before {
    content: open-quote;
    top: -30px;
    left: -80px;
}

.testimonials .testimonial-quote:after {
    content: close-quote;
    bottom: 0;
    right: -80px;
}

.testimonials .testimonial-quote:before,
.testimonials .testimonial-quote:after {
    position: absolute;
    display: block;
    width: 40px;
    height: 40px;
    font-size: 4em;
    color: var(--sage-green);
}

.testimonials :is(.custom-field-name, .custom-field-location) {
    text-transform: uppercase;
    margin-bottom: 0;
}

.testimonials.wp-block-getwid-post-carousel.has-arrows-inside
    .slick-prev:before,
.testimonials.wp-block-getwid-post-carousel.has-arrows-inside
    .slick-next:before {
    color: var(--soft-moss);
    font-size: 32px;
    opacity: 1;
}

.testimonials.wp-block-getwid-post-carousel.has-arrows-inside .slick-prev,
.testimonials.wp-block-getwid-post-carousel.has-arrows-inside .slick-next {
    text-shadow: none;
}

@media (max-width: 1024px) {
    .testimonials .testimonial-quote:before,
    .testimonials .testimonial-quote:after {
        display: none;
    }

    .testimonials .slick-next,
    .testimonials .slick-prev {
        top: 80%;
    }
}

/* -------------------- Distinctions -------------------- */
/* Check if all are needed */
.distinctions .wp-block-getwid-post-carousel__post-title {
    display: none;
}

.distinctions .wp-block-getwid-post-carousel__post-thumbnail img {
    object-fit: contain;
}

.distinctions.wp-block-getwid-post-carousel .slick-track {
    align-items: center;
}

/* -------------------- Footer styles -------------------- */
.site-info {
    background-color: var(--global-color-6);
    color: var(--base-1)
}

.site-info a {
    color: var(--soft-moss);
}

.site-info a:hover {
    color: var(--cool-river);
}

.ec_menu_ul {
    margin-left: 0em;
    list-style-type: none;
    line-height: 24px;
}

.ec_menu_ul ul.sub-menu {
    list-style-type: none;
    margin-left: 1em;
}

/* Update color */
.footer .ec_menu_ul li a {
    color: var(--base-1);
}

/* Update color */
.footer .ec_menu_ul li a:hover {
    color: var(--cool-river);
}

/* -------------------- WP Forms styles -------------------- */
/* Submit button style */
div.wpforms-container-full .wpforms-form input[type='submit'],
div.wpforms-container-full .wpforms-form button[type='submit'],
div.wpforms-container-full .wpforms-form .wpforms-page-button {
    font-family: Poppins, sans-serif !important;
    font-size: 1em !important;
    padding: 10px 35px !important;
    border-radius: 7px !important;
    background-color: var(--soft-moss) !important;
    color: var(--global-color-6) !important;
    transition: all 0.5s ease 0s !important;
    border: none !important
}

@media only screen and (max-width: 768px) {
    div.wpforms-container-full .wpforms-form input[type='submit'],
    div.wpforms-container-full .wpforms-form button[type='submit'],
    div.wpforms-container-full .wpforms-form .wpforms-page-button {
        width: 100%;
        text-align: center;
    }
}

/* Update color */
/* Submit button hover style */
div.wpforms-container-full .wpforms-form input[type='submit']:hover,
div.wpforms-container-full .wpforms-form button[type='submit']:hover,
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover {
	background-color: var(--cool-river) !important;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25) !important;
	cursor: pointer !important; 
}

div.wpforms-container-full .wpforms-form input[type='submit']:focus,
div.wpforms-container-full .wpforms-form input[type='submit']:active,
div.wpforms-container-full .wpforms-form button[type='submit']:focus,
div.wpforms-container-full .wpforms-form button[type='submit']:active,
div.wpforms-container-full .wpforms-form .wpforms-page-button:active,
div.wpforms-container-full .wpforms-form .wpforms-page-button:focus {
	background-color: var(--cool-river) !important;
	box-shadow: 0px 1px 2.5px 0px rgba(0, 0, 0, 0.47) inset, 0px 3px 4.3px 0px rgba(0, 0, 0, 0.09) inset !important;
}

@media (max-width: 500px) {
    div.wpforms-field-container .wpforms-field-name .wpforms-one-half {
        width: 100% !important;
    }

    div.wpforms-field-container
        .wpforms-field-name
        .wpforms-field-row
        > .wpforms-one-half:last-child {
        margin: 20px 0 0;
    }
}

.cta-form h2,
.cta-form h3 {
	color: var(--base-1);
}

.cta-form a {
	color: var(--soft-moss);
}

.cta-form a:hover {
	color: var(--cool-river);
}

form#wpforms-form-3786 {
    position: relative;
}
form#wpforms-form-3786 .floating label:nth-of-type(2) {
    display: none;
}
.wpforms-container .wpforms-form .wpforms-field {
    position: relative;
}

.wpforms-container .wpforms-form .floating input {
    position: relative;
    font-size: 14px;
    height: 50px;
}
.wpforms-container .wpforms-form .floating textarea {
    position: relative;
    padding: 15px 15px;
    font-size: 14px;
    height: 50px;
}
.wpforms-container .wpforms-form .floating input + label {
    position: absolute;
    top: 0;
    padding: 10px 0 0 10px;
    opacity: .5;
    font-size: 14px;
    font-weight: 400;
    transition: all .5s ease-in-out 0s;
}
.wpforms-container .wpforms-form .floating textarea + label {
    position: absolute;
    top: 0;
    opacity: .5;
    padding: 10px 0 0 10px;
    font-size: 14px;
    font-weight: 500;
    transition: all .5s ease-in-out 0s;
}
.wpforms-container .wpforms-form .floating input:focus + label, .floating input:not(:placeholder-shown) + label {
    top: -10px;
    opacity: .5;
    font-size: 10px;
}
.wpforms-container .wpforms-form .floating textarea:focus + label, .floating textarea:not(:placeholder-shown) + label {
    top: -10px;
    opacity: 1;
    font-size: 10px;
}
.wpforms-container .wpforms-form .floating.wpforms-has-error em.wpforms-error {
    position: relative;
    top: -60px;
    left: 10px;
    font-size: 12px;
}

div.wpforms-container-full .wpforms-form label.wpforms-error:before, 
div.wpforms-container-full .wpforms-form em.wpforms-error:before {
    width: 12px;
    height: 12px;
}

.wpforms-field-textarea.floating.wpforms-has-error em.wpforms-error {
    position: relative;
    top: -190px;
    left: 10px;
}
.floating.wpforms-has-error label {
    display: none;
}
.floating ::-webkit-input-placeholder { /* Chrome and Safari */
   color: transparent !important;
}
.floating :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: transparent !important;
}
  
.floating ::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: transparent !important;
}
  
.floating :-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: transparent !important;
}
  
.floating ::-ms-input-placeholder { /* Microsoft Edge */
   color: transparent !important;
}

#wpforms-form-3786 div.wpforms-field-checkbox {
    padding-bottom: 0 !important;
}

div.wpforms-container-full #wpforms-form-3786 .wpforms-field.wpforms-field-checkbox ul li input+label,
div.wpforms-container-full #wpforms-form-3786 .wpforms-field.wpforms-field-gdpr-checkbox ul li input+label {
    color: var(--base-1) !important;
}

#wpforms-form-3786 .wpforms-field-gdpr-checkbox .wpforms-field-description {
    padding-left: 28px !important;
    font-size: 14px !important;
    color: var(--base-1) !important;
    margin-top: 1px !important
}

#wpforms-form-3786 .wpforms-field-gdpr-checkbox .wpforms-field-description a:hover {
    color: var(--base-1) !important;
}

#wpforms-form-3786 .wpforms-field-gdpr-checkbox .wpforms-field-description a {
    color: var(--soft-moss) !important;
}

.wpforms-field-container > div:not(:last-child) {
    padding-bottom: 0 !important;
}


/* -------------------- General styles -------------------- */

a {
	text-decoration: underline;
}
.footer a {
	text-decoration: none;
}

/* Search Modal */
.gp-search-modal .gp-modal__overlay {
    background: rgba(0,0,0,0.75) !important;
}

.search-modal-fields .gp-icon svg {
    fill: var(--soft-moss);
}

input#search-modal-input::placeholder,
input#search-modal-input:focus {
    color: var(--base-1);
}

input#search-modal-input:focus-visible {
    outline: var(--base-1) 1px solid;
}

.search-results .page-header {
    width: 100%;
}

.search-results main#main {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 20px 40px 20px;
}

.search-results article {
    flex: 1 1 100%;
    box-sizing: border-box;
}

@media only screen and (min-width: 769px) {
    .search-results article {
        flex: 1 1 calc(33.333% - 10px);
        box-sizing: border-box;
    }

    .search-results .page-header {
        margin-top: 140px;
    }
}

.search-no-results div#page {
    margin: 40px 0 40px 0;
}

.search-no-results #main {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
}

@media only screen and (min-width: 769px) {
	.search-no-results div#page {
    margin-top: 225px;
	}
}

/* 404 & 403 */
.error404 .inside-article {
    max-width: 1280px;
    margin: 0 auto;
    padding: 140px 20px 60px 20px;
}

/* Images */
.entry-content img {
    border-radius: 7px;
}

/* Buttons */
.gb-button:hover {
	background-color: var(--soft-moss);
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
	cursor: pointer; 
}

.gb-button:active {
	background-color: var(--cool-river);
	box-shadow: 0px 1px 2.5px 0px rgba(0, 0, 0, 0.47) inset, 0px 3px 4.3px 0px rgba(0, 0, 0, 0.09) inset;
}