/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/





/*=====================================================================
HEADER / NAV STYLES
======================================================================*/

/* STICKY NAV */
.sticky-enabled .main-navigation.is_stuck .inside-navigation {
    padding: 5px 40px;
}

.sticky-enabled .main-navigation.is_stuck .inside-navigation .navigation-branding img {
    height: auto;
    max-height: 80px;
}

.main-navigation.is_stuck,
.main-navigation.is_stuck ul ul {
    background-color: var(--brand-blue-dark);
}

.main-navigation.navigation-stick .main-nav ul li a,
.main-navigation.navigation-stick a:not([aria-label*='Close']) {
    color: #fff !important;
}

/* SUB MENU STYLING */
.sub-menu {
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.15) !important;
}

.sub-menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.sub-menu li:last-child {
    border-bottom: 0;
}

/* MOBILE MENU STYLING */
#mobile-menu>ul>li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

#mobile-menu>ul>li:last-child {
    border-bottom: 0;
}

.main-navigation .menu-toggle{
	line-height:auto;
}

@media (max-width: 1260px){
	.navigation-branding img, .site-logo.mobile-header-logo {
		height: 80px!important;
	}
}

/*=====================================================================
MEGA MENU
======================================================================*/

@media (min-width: 1260px){
    nav .main-nav .mega-menu {
        position: static;
    }

    nav .main-nav .mega-menu > ul {
        position: absolute;
        width: 100%;
        /*left: 0 !important;*/
        display: flex;
        flex-wrap: wrap;
    }

    nav .main-nav .mega-menu > ul > li > a {
        font-weight: 600;
    }

    nav .main-nav .mega-menu>ul>li {
        display: inline-block;
        width: 25%;
        vertical-align: top;
    }

    nav .main-nav .mega-menu.mega-menu-col-2>ul>li {
        width: 50%;
    }

    nav .main-nav .mega-menu.mega-menu-col-3>ul>li {
        width: 33.3333%;
    }

    nav .main-nav .mega-menu.mega-menu-col-5>ul>li {
        width: 20%;
    }

    nav .main-nav .mega-menu > ul > li:hover > a,
    nav .main-nav .mega-menu > ul > li:focus > a,
    nav .main-nav .mega-menu > ul > li[class*="current-"] > a,
    nav .main-nav .mega-menu ul ul {
        background-color: transparent !important;
        color: inherit;
    }

    nav .main-nav .mega-menu ul .sub-menu {
        position: static;
        display: block;
        opacity: 1;
        visibility: visible;
        width: 100%;
        box-shadow: 0 0 0;
        left: 0;
        height: auto;
        pointer-events: auto;
        transform: scale(1);
    }

    nav .main-nav .mega-menu ul.toggled-on .sub-menu {
        pointer-events: auto;
    }

    nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
        display: none;
    }
	
	nav .main-nav .mega-menu > .sub-menu{
		padding:20px;
		max-width:800px;
	}
	
	nav .main-nav .mega-menu > .sub-menu > li{
		border:0;
	}
	
	nav .main-nav .mega-menu > .sub-menu > li:hover > a,
	nav .main-nav .mega-menu > ul > li[class*="current-"]{
		color:#fff!important;
	}
	
	nav .main-nav .mega-menu .sub-menu .sub-menu{
		border:0;
		box-shadow:none!important;
	}
	
	nav .main-nav .mega-menu .sub-menu .sub-menu li{
		border:0;
	}
	
	nav .main-nav .mega-menu .sub-menu .sub-menu li a{
		font-weight:400;
		display:flex;
	}
	
	nav .main-nav .mega-menu .sub-menu .sub-menu li a:before{
		  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1em' viewBox='0 0 320 512'%3E%3Cpath fill='%23447ec0' d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E");
		  display: block;
		transform: scale(0.9);
			margin:2px 15px 0 0;
	}
	
	nav .main-nav .mega-menu ul li a{
		padding:10px 20px;
	}
}

/*=====================================================================
BUTTONS
======================================================================*/

.header-cta .btn-cta {
    float: right;
}

a.btn-cta,
.gform_wrapper.gravity-theme input[type=submit] {
    padding: 15px 20px;
    margin-left: 3rem;
    background-color: var(--cta);
    color: var(--all-white);
    border-radius: 8px;
    order: 4;
    margin-right: 10px;
    transition: 0.3s;
    font-weight: 600;
}

a.btn-cta:hover,
a.btn-cta:focus,
.gform_wrapper.gravity-theme input[type=submit]:hover,
.gform_wrapper.gravity-theme input[type=submit]:focus {
    background-color: var(--cta-hover);
}

/*=====================================================================
SIDEBAR MENU
======================================================================*/
.sidebar-menu .wp-block-navigation__container {
    width: 100%;
    gap: 0;
}

.sidebar-menu .wp-block-navigation__container li {
    border-bottom: 1px solid #ccc;
    width: 100%;
    padding: 0 0 0 30px;
    position: relative;
}

.sidebar-menu .wp-block-navigation__container li:before {
    content: "";
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 512'%3E%3Cpath fill='%23447ec0' d='M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
}

.sidebar-menu .wp-block-navigation__container li:last-child {
    border-bottom: 0;
}


.sidebar-menu .wp-block-navigation__container a {
    width: 100%;
    padding: 8px;
}

.sidebar-menu {
    background: var(--grey-blue-light);
    padding: 30px;
    border-radius: 20px;
}

#right-sidebar .inside-right-sidebar {
    position: -webkit-sticky;
    /* Safari */
    position: sticky;
    top: 160px;
}

#right-sidebar {
    padding: 40px 0;
}


/*=====================================================================
TYPOGRAPHY
======================================================================*/

.entry-content ul,
.entry-content ol,
.blog-content ul,
.blog-content ol{
    padding: 30px 30px 30px 30px;
    background: var(--grey-blue-light);
    margin-left: 0;
    border-radius: 10px;
}

.entry-content ul li,
.entry-content ol li,
.blog-content ul li,
.blog-content ol li{
    margin-bottom: 15px;
    font-weight: 500;
}

.entry-content ul li:last-child,
.entry-content ol li:last-child,
.blog-content ul li:last-child,
.blog-content ol li:last-child{
    margin-bottom: 0;
}

.entry-content ul li,
.blog-content ul li{
    background: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%239da4a6' d='M9.707 13.707l5-5c0.391-0.39 0.391-1.024 0-1.414l-5-5c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414l3.293 3.293h-9.586c-0.552 0-1 0.448-1 1s0.448 1 1 1h9.586l-3.293 3.293c-0.195 0.195-0.293 0.451-0.293 0.707s0.098 0.512 0.293 0.707c0.391 0.391 1.024 0.391 1.414 0z'%3E%3C/path%3E%3C/svg%3E%0A") no-repeat left 6px;
    list-style-type: none;
    padding-left: 40px;
    background-size: 16px auto;
}

.blog-content ol {
	padding-left:50px;
}

.blog-content ol li{
	padding-left:20px;
}

.blog-content p, 
.blog-content ol li,
.blog-content ul li{
	font-size:1.125rem;
}

.entry-content ul li ul,
.blog-content ul li ul{
    padding: 15px 0 0 0;
}

.entry-content ul li ul li,
.blog-content ul li ul li{
    /*background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%239da4a6' d='M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E") no-repeat left 6px;*/
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%239da4a6' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E") no-repeat left 6px;
    background-size: 12px auto;
    padding-left: 35px;
}

body.parent-services .entry-content h2:not(.service-cta h2),
body.parent-services .entry-content h3,
body.parent-services .entry-content h4,
body.parent-services .entry-content h5,
body.parent-services .entry-content h6,
body.single-post .blog-content h2,
body.single-post .blog-content h3,
body.single-post .blog-content h4,
body.single-post .blog-content h5,
body.single-post .blog-content h6{
    margin-top: 1.5em;
    margin-bottom: 1em;
    font-weight: 500;
}

body.parent-services .entry-content h2:not(.service-cta h2),
body.single-post .blog-content h2{
    border-left: 8px solid var(--brand-blue-mid);
    padding-left: 20px;
}

body.parent-services .entry-content h3,
body.parent-services .entry-content h4,
body.parent-services .entry-content h5,
body.parent-services .entry-content h6,
body.single-post .blog-content h3,
body.single-post .blog-content h4,
body.single-post .blog-content h5,
body.single-post .blog-content h6{
    font-weight: 500;
}

.blog-template-post-title a{
	text-decoration:none;
}

/*=====================================================================
PLUGINS
======================================================================*/

/*===================
GRAVITY FORMS
===================*/

.gform_wrapper.gravity-theme input[type=color],
.gform_wrapper.gravity-theme input[type=date],
.gform_wrapper.gravity-theme input[type=datetime-local],
.gform_wrapper.gravity-theme input[type=datetime],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=month],
.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme input[type=password],
.gform_wrapper.gravity-theme input[type=search],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=time],
.gform_wrapper.gravity-theme input[type=url],
.gform_wrapper.gravity-theme input[type=week],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea {
    font-size: 16px !important;
    padding: 15px !important;
    background-color: var(--grey-blue-light);
    border-radius: 5px;
}

.gform_wrapper.gravity-theme input[type=submit] {
    margin-left: 0;
    font-weight: 600 !important;
    font-size: 18px;
}

/*===================
YOAST SEO
===================*/

.yoast-breadcrumbs {
    color: var(--all-white);
}

.yoast-breadcrumbs a {
    opacity: 0.5;
}

.yoast-breadcrumbs a:hover,
.yoast-breadcrumbs a:focus {
    color: var(--all-white);
    opacity: 0.8;
}

.schema-faq-section {
    border: 1px solid var(--base);
    padding: 30px;
    background: rgba(240, 242, 249, 0.4);
    margin-bottom: 1.4em;
    border-radius: 10px;
}

.schema-faq-section .schema-faq-question {
    font-size: 1.2em;
    margin-bottom: 1em;
    display: block;
    font-weight: 600;
}

.schema-faq-section p.schema-faq-answer:last-child {
    margin-bottom: 0;
    font-size: 1.2rem;
}

/* GOOGLE MAPS */
.wp-block-webfactory-map iframe {
    display: block;
}

/*=====================================================================
FOOTER CTA
======================================================================*/
.footer-cta {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 9;
}

/*=====================================================================
MISC
======================================================================*/

.video-container {
    position: relative;
    height: 0;
	padding-bottom: 56.25%; /* 16:9 */
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*=====================================================================
RESPONSIVE STYLING
======================================================================*/

@media (max-width: 1440px) {
    #right-sidebar {
        padding-right: 40px;
        margin-bottom: 0;
    }

    #right-sidebar .inside-right-sidebar {
        position: relative;
        top: 0;
    }
}

@media (max-width: 1260px) {
    #mobile-header {
        background-color: var(--brand-blue-dark);
    }

    .header-cta {
        display: none;
    }

    #mobile-header .site-logo.mobile-header-logo img {
        height: 80px;
    }

    #mobile-header .menu-toggle svg {
        width: 1.5em;
        height: 1.5em;
    }

    .mobile-header-sticky #mobile-header.toggled .main-nav>ul {
        background: #0c264e;
    }

    .sub-menu {
        border: none;
        box-shadow: none;
        background-color: #081933 !important;
    }

    .sub-menu li:first-child {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }
}

@media (max-width: 768px) {
    #right-sidebar {
        padding: 0;
        margin-bottom: 0;
    }

    #right-sidebar .inside-right-sidebar {
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .sidebar-menu {
        border-radius: 0;
    }

}

/*------------------------------------------
INFINITE SCROLL AJAX (BLOG) - DO NOT DELETE
------------------------------------------*/

/* DISPLAYS MESSAGE WHEN ALL POSTS HAVE BEEN LOADED */
.page-load-status {
  opacity: 0; /* hidden by default */
  padding-top: 20px;
  border-top: 1px solid #DDD;
  text-align: center;
  color: #777;
}

/* LOADING ANIMATION 1 */
.loader-ellips {
  font-size: 20px; /* change size here */
  position: relative;
  width: 4em;
  height: 1em;
  margin: 10px auto;
}

.loader-ellips__dot {
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 0.5em;
  background: #555; /* change color here */
  position: absolute;
  animation-duration: 0.5s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}

.loader-ellips__dot:nth-child(1),
.loader-ellips__dot:nth-child(2) {
  left: 0;
}
.loader-ellips__dot:nth-child(3) { left: 1.5em; }
.loader-ellips__dot:nth-child(4) { left: 3em; }

@keyframes reveal {
  from { transform: scale(0.001); }
  to { transform: scale(1); }
}

@keyframes slide {
  to { transform: translateX(1.5em) }
}

.loader-ellips__dot:nth-child(1) {
  animation-name: reveal;
}

.loader-ellips__dot:nth-child(2),
.loader-ellips__dot:nth-child(3) {
  animation-name: slide;
}

.loader-ellips__dot:nth-child(4) {
  animation-name: reveal;
  animation-direction: reverse;
}

/* LOADING ANIMATION 2 */
/* HTML: <div class="loader"></div> */

.loader{
	margin:20px auto 0 auto;
}

.loader {
  width: 45px;
  aspect-ratio: .75;
  --c: no-repeat linear-gradient(#000 0 0);
  background: 
    var(--c) 0%   50%,
    var(--c) 50%  50%,
    var(--c) 100% 50%;
  animation: l7 1s infinite linear alternate;
}

@keyframes l7 {
  0%  {background-size: 20% 50% ,20% 50% ,20% 50% }
  20% {background-size: 20% 20% ,20% 50% ,20% 50% }
  40% {background-size: 20% 100%,20% 20% ,20% 50% }
  60% {background-size: 20% 50% ,20% 100%,20% 20% }
  80% {background-size: 20% 50% ,20% 50% ,20% 100%}
  100%{background-size: 20% 50% ,20% 50% ,20% 50% }
}

/*===================
BLOG
===================*/
.search-box {
	display: flex;
    width: 30%;
}

.search-box input {
	border: none;
}

.search-box .wp-block-search__inside-wrapper,
.search-box .wp-block-search__button.has-icon {
	border-radius: 0;
}

.modified-date svg {
	transform: scale(1.30);
}

@media (max-width: 1024px) {
	.search-box .wp-block-search__inside-wrapper,
	.search-box {
		width: 100% !important;
	}
}
