/*
 Theme Name:   A-1 Guaranteed
 Theme URI:    https://www.energycircle.com
 Description:  A-1 Guaranteed
 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;
}

.global-hero,
.page-hero {
	background-image: linear-gradient(144deg, var(--global-color-1), var(--global-color-2));
	border-top: 1px solid white;
}

.global-hero .inside-page-hero.grid-container.grid-parent,
.page-hero .inside-page-hero.grid-container.grid-parent {
	font-family: "Poppins";
}

@media (max-width: 768px) {
	.page-hero {
		padding: 50px 20px;
	}
}

@media only screen and (min-width: 1024px) {
	.site-logo {
        margin-top: -80px;
		max-width: 150px;
    }
    
    .global-hero .inside-page-hero.grid-container.grid-parent {
        display: flex;
        justify-content: space-between
    }
        
    .page-hero .inside-page-hero.grid-container.grid-parent h1 {
        font-size: 46px;
    }

    .global-hero .inside-page-hero.grid-container.grid-parent h3 {
        max-width: 40%;
    }

    .global-hero .inside-page-hero.grid-container.grid-parent h1 {
        max-width: 60%;
        padding-right: 40px;
    }
}

@media only screen and (min-width: 1200px) {
	.site-logo {
		margin-top: -60px;
	}
}

/* -------------------- Auxiliary menu styles -------------------- */
.secondary-navigation .menu-toggle {
    display: none;
}

.secondary-navigation {
	padding-top: 10px;
}

@media (max-width: 1080px) {
    #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-navigation {
    box-sizing: border-box;
    padding: 10px;
    position: relative;
	background: var(--global-color-3)
}

.mobile-header-navigation .gp-icon {
    font-size: 24px;
    line-height: inherit;
}

.mobile-header-navigation .gp-icon svg {
    height: 1.1em;
    width: 1.1em;
}

#generate-slideout-menu .gb-button-wrapper .gb-button,
.slideout-navigation.do-overlay .inside-navigation .main-nav,
.slideout-navigation.do-overlay .inside-navigation .slideout-widget {
    width: 100%;
}

.slideout-navigation.do-overlay .inside-navigation .main-nav {
    padding-left: 20px;
}

#generate-slideout-menu.main-navigation .main-nav ul ul {
    left: 20px !important;
}

.main-navigation.slideout-navigation .main-nav > ul > li > a {
    line-height: 30px;
}

#generate-slideout-menu .gb-block-image {
    display: flex;
}

#generate-slideout-menu .gb-block-image img {
    height: auto;
    width: 150px;
    margin-left: 20px;
}

#generate-slideout-menu.do-overlay .slideout-menu li {
    text-align: left !important;
}

#generate-slideout-menu .main-nav {
    margin-bottom: 0 !important;
}

#generate-slideout-menu a.gb-button {
    color: var(--global-color-2);
    margin-bottom: 10px;
}

#generate-slideout-menu a.gb-button:hover {
    color: var(--global-color-1);
}

#generate-slideout-menu .main-nav ul ul li a {
    padding: 10px 0 0 0 !important;
}

#menu-aux-menu-2.gp-collapsible-menu {
    display: block;
}

#menu-aux-menu-2.gp-collapsible-menu li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 10px;
}

#menu-aux-menu-2.gp-collapsible-menu li a {
    color: var(--global-color-4);
    text-align: left;
}

#menu-aux-menu-2.gp-collapsible-menu li a:hover, 
#menu-aux-menu-2.gp-collapsible-menu li.current-menu-ancestor > a, 
#menu-aux-menu-2.gp-collapsible-menu li.current-menu-item a 
 {
     color: var(--global-color-3);
}

#menu-aux-menu-2.gp-collapsible-menu .sub-menu-toggle {
    color: var(--global-color-4);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    position: absolute;
    right: 20px;
}

#menu-aux-menu-2.gp-collapsible-menu li.open > .sub-menu {
  display: unset;
  position: relative;
  left: 0;
  opacity: 1;
  height: auto;
  padding: 10px 0 0 15px;
}

#menu-aux-menu-2.gp-collapsible-menu li.open > .sub-menu li {
    position: relative;
    left: 0;
}

#menu-aux-menu-2.gp-collapsible-menu .toggle-icon {
    transition: transform 0.3s ease;
}

#menu-aux-menu-2.gp-collapsible-menu li.open .toggle-icon {
    transform: rotate(180deg);
}

.slideout-navigation .wp-block-site-logo {
	text-align: left;
}

.slideout-navigation #menu-aux-menu-2.gp-collapsible-menu li a,
.slideout-navigation #menu-aux-menu-2.gp-collapsible-menu .sub-menu-toggle {
	color: var(--base-1)
}

.slideout-navigation .main-nav {
	margin-bottom: 0;
}


.slideout-navigation a:not(.gb-button) {
    color: var(--base-1);
}

.slideout-exit .gp-icon svg {
    fill: var(--base-1);
}

.slideout-navigation.main-navigation .main-nav ul li a {
    color: var(--global-color-1);
}

#generate-slideout-menu.slideout-navigation.do-overlay .menu-item-has-children .dropdown-menu-toggle {
    border-left: unset;
}

body:not(.resize-header) #mobile-header img {
    height: 100px;
}

.inside-header,
#secondary-navigation .inside-navigation,
#mobile-header a {
  padding-top: 10px;
}

#masthead .inside-header {
    padding: 0 20px;
}

#secondary-navigation .inside-navigation {
    position: relative;
}

#secondary-navigation .inside-navigation::before {
    position: absolute;
    top: 0;
    left: 0;
    border-left: 1px dotted white;
    height: 190px;
    content: "";
    z-index: 1;
}

@media only screen and (min-width: 1081px) and (max-width: 1200px) {
	#secondary-navigation .inside-navigation {
		display: flex;
		flex-direction: column;
		align-items: end;
	}
}

nav#mobile-header::after {
    position: absolute;
    top: 0;
    right: 20px;
    height: 150px;
    content: "";
    border-right: 1px dotted white;
}

nav#mobile-header::before {
    position: absolute;
    top: 0;
    left: 20px;
    height: 150px;
    content: "";
    border-right: 1px dotted white;
}

@media (max-width: 1279px) {
    #generate-slideout-menu.main-navigation ul.ec_menu_ul {
        display: block !important;
    }

    .slideout-navigation.do-overlay .slideout-exit {
        position: fixed !important;
        right: 20px !important;
    }

    .slideout-navigation.do-overlay .inside-navigation {
        padding: 0 !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(--global-color-1);
}

.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(--global-color-4);
    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%;
    }
}

.testimonial-slide .wp-block-getwid-template-post-content p:before,
.testimonial-slide .wp-block-getwid-template-post-content p:after{
	content: "\""
}


.testimonial-slide p.name:before  {
    content: "- ";
}

.testimonial-slide p.location:before  {
    content: ", ";
}


.testimonials-list p {
	color: var(--global-color-1) !important;
	text-align: left;
}

.testimonials-list .wp-block-getwid-custom-post-type__post:not(:first-of-type) {
	border-top: 1px solid red;
	padding-top: 40px;
}

.testimonials-list p.gb-headline-text {
	text-align: right;
	font-weight: bold;
}

.home .wp-block-getwid-post-carousel .slick-track>* {
    height: fit-content;
}

/* -------------------- 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;
}

.wp-block-getwid-post-carousel:not(.custom-post-type-testimonial) .slick-track {
    align-items: center;
}

.wp-block-getwid-post-carousel.custom-post-type-testimonial .read-more-container a {
    color: var(--global-color-4);
}

/* -------------------- Footer styles -------------------- */
.ec_menu_ul {
    margin-left: 0em;
    list-style-type: none;
}

.ec_menu_ul ul.sub-menu {
    list-style-type: none;
}

.footer a:hover {
	text-decoration: underline !important;
}

.footer-col-2 a,
.footer-col-3 a {
	font-size: 16px !important;
	line-height: 2.2 !important;
}

.footer-col-2 #menu-aux-menu-1>li>a,
.footer-col-3 .menu-item-object-service-category>a {
	font-weight: bold;
} 

/* Update color */
.footer a,
.footer .ec_menu_ul li a {
    color: var(--base-1);
}

@media (max-width: 768px) {
    .footer {
        text-align: center;
    }
}



/* -------------------- WP Forms styles -------------------- */
/* Check if needed */
/* Update color */
/* Submit button footer style - .btn-footer custom class in WPForms */
.wpforms-submit.btn-footer {
    color: var(--contrast) !important;
    background-color: var(--global-color-2) !important;
    border: none !important;
}

/* Check if needed */
/* Update color */
/* Submit button footer hover style - .btn-footer custom class in WPForms */
.wpforms-submit.btn-footer:hover {
    color: var(--base-1) !important;
    background-color: var(--global-color-1) !important;
    border: none !important;
}

/* Update color */
/* 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,
input.search-submit.swp-button {
    display: inline-flex;
    flex-direction: row-reverse !important;
    align-items: center;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    font-weight: 500;
    padding: 10px 20px;
    border-radius: 10px !important;
    background-color: var(--global-color-4);
    color: #ffffff;
    text-decoration: none;
    transition: color .1s ease-in-out, background-color .1s ease-in-out;
}

div.wpforms-container-full .wpforms-form input[type='submit']::before ,
div.wpforms-container-full .wpforms-form button[type='submit']::before ,
div.wpforms-container-full .wpforms-form .wpforms-page-button::before,
input.search-submit.swp-button::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 8px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" height="20" width="20"> <path fill="white" d="M6.66663 15.8333V4.16667L15.8333 10L6.66663 15.8333Z"></path> </svg>');
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    transition: transform 300ms ease-out !important;
}

/* Update color */
/* Submit button hover style */
div.wpforms-container-full .wpforms-form input[type='submit']:hover,
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']:hover,
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:hover,
div.wpforms-container-full .wpforms-form .wpforms-page-button:active,
div.wpforms-container-full .wpforms-form .wpforms-page-button:focus,
input.search-submit.swp-button:hover,
input.search-submit.swp-button:focus,
input.search-submit.swp-button:active {
    color: var(--base-1) !important;
    background-color: var(--global-color-3) !important;
}

div.wpforms-container-full .wpforms-form input[type='submit']:hover::before,
div.wpforms-container-full .wpforms-form input[type='submit']:focus::before,
div.wpforms-container-full .wpforms-form input[type='submit']:active::before,
div.wpforms-container-full .wpforms-form button[type='submit']:hover::before,
div.wpforms-container-full .wpforms-form button[type='submit']:focus::before,
div.wpforms-container-full .wpforms-form button[type='submit']:active::before,
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover::before,
div.wpforms-container-full .wpforms-form .wpforms-page-button:active::before,
div.wpforms-container-full .wpforms-form .wpforms-page-button:focus::before {
    transform: translateX(10px); /* Moves the ::before element right on hover */
}

@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;
    }
}

@media only screen and (max-width: 600px) {
    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%;
        justify-content: left;
    }
}

@media only screen and (min-width: 601px) {
	.wpforms-submit-container {
    display: flex;
    flex-direction: row-reverse;
}
	
	body:not(.page-id-3798) .wpforms-submit-container {
		    margin-top: -50px !important;
	}
	
	.wpforms-container .wpforms-field {
		padding: 5px 0;
	}
}

/* -------------------- General styles -------------------- */

a:not(.gb-button):hover {
	text-decoration: underline !important;
}

.why-choose-block h4 {
	color: white;
	border-top-color: white;
}

/* Border on image grid */
.extended-border {
    position: relative;
    overflow: visible;
}

.extended-border::before {
   content: "";
    position: absolute;
    left: -50px;           /* Extends dotted line to the left */
    right: -50px;          /* Extends dotted line to the right */
    top: 40;
    border-top: 1px dotted white;
    height: 0;
}

/* Bottom */
.extended-border::after {
    content: "";
    position: absolute;
    left: -50px;
    right: -50px;
    bottom: 40;
    height: 0;
    border-bottom: 1px dotted white;
    pointer-events: none;
}
/* ----------------------- */

.aux-phone-buttons {
    order: 1;
}

.aux-phone-buttons .header-button {
	margin-bottom: 5px !important;
}

/* Gradient Box Shadow */
.gradient-boxshadow {
	position: relative;
}

.gradient-boxshadow:after {
	content: '';
  position: absolute;
  left: -10px;
  top: 10px;
  width: 100%;
  height: 100%;
  background: linear-gradient(144deg, var(--global-color-1), var(--global-color-2));
  z-index: -1;
}
/* -------------------------- */
/* Red Button Hover Styling */
.red-button span.gb-icon  {
    transition: transform 300ms ease-out !important;
}
.red-button:hover span.gb-icon  {
  transform: translateX(10px);
}

@media only screen and (max-width: 767px) {
    .red-button {
        width: 100%;
        justify-content: left;
    }
}

/* Blog Container Hover Styling */
.blog-text-container span.gb-icon  {
    transition: transform 300ms ease-out !important;
}

.blog-text-container:hover span.gb-icon  {
  transform: translateX(10px);
}

.blog-image img {
    padding-bottom: 20px;
}

@media only screen and (min-width: 768px) {
	.blog-image img {
    max-width: 400px !important;
    padding: 0 20px 10px 0;
	}
}
/* -------------------------- */

.home-service-grid>div>div>div:hover,
.home-service-grid>div>div>div:hover .gb-icon svg path {
	border-color: var(--global-color-4);	
    fill: var(--global-color-4);
}

