/*======================================
Theme Name: Yates
Theme URI: https://divicake.com/
Description: Divi child theme for Yates
Version: 1.0
Author: Smith Consulting LLC
Author URI: https://smithcon.us/
Template: Divi
======================================*/

/*
Divi default heading sizes:
h1 { font-size: 30px; }
h2 { font-size: 26px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 14px; }
*/

/* ======================== */
/*       Global Type        */
/* ======================== */

h1.entry-title {
    font-size: 36px;
    line-height: 1.2em;
}

h2,
h3,
h4,
h5,
h6 {
    line-height: 1.15;
    font-weight: bold;
}

p,
h1 {
    padding-bottom: 30px;
}

h2 {
    font-size: 28px;
    padding-bottom: 25px;
}

h3 {
    padding-bottom: 20px;
}

h4,
h5,
h6 {
    padding-bottom: 15px;
}
p a {
  text-decoration: underline;
  text-underline-offset: 2px;
  color: #1e73be;
}

p a:hover {
  text-decoration: underline;
}

.sm-hdr h2 {
    padding-bottom: 10px;
    font-size: 20px;
    font-size: clamp(19px, 1.5vw, 24px);
    color: #aaaaaa !important;
}

.hdr2 p,
.hdr2 h2 {
    padding-bottom: 20px !important;
}

@media screen and (max-width: 980px) {
    .et_pb_section {
        padding: 20px 0;
    }
}

.rank-math-breadcrumb {
    font-size: 14px;
    line-height: 1.5;
    opacity: .8;
}

/* ======================== */
/*        Main Menu         */
/* ======================== */

#main-menu ul#menu-main-menu,
#main-menu nav.et-menu-nav,
#main-menu .et_pb_menu__menu,
#menu-main-menu-1 {
    width: 100%;
    max-width: 1280px;
    justify-content: center;
}

#main-menu nav.et-menu-nav ul {
    justify-content: space-around;
}

#main-menu.et_pb_menu .et-menu-nav > ul ul {
    padding: 20px 0 10px;
    text-align: left;
}

#main-menu .nav li li {
    line-height: 1.2;
    padding: 0 10px 10px !important;
}

.et-menu li li.menu-item-has-children > a:first-child::after {
    right: 8px;
    top: 4px;
}

.et_mobile_menu li a:hover,
#menu-main-menu-1.nav ul li a:hover {
    background-color: rgba(0, 0, 0, .06);
    opacity: .9;
}

#main-menu .et-menu li li a {
    width: 220px;
}

@media screen and (max-width: 980px) {
    #menu-row .et_pb_menu_inner_container,
    #menu-row .et_pb_row {
        display: flex;
        align-items: center;
    }

    #menu-row .et_pb_menu__logo-wrap {
        flex: 0 1 auto;
        display: flex;
        align-items: center;
        margin-bottom: 0;
        margin-right: auto;
    }

    #menu-row .et_pb_menu__wrap {
        justify-content: flex-end;
    }
}

@media screen and (min-width: 981px) {
    #menu-main-menu li a::before,
    #menu-main-menu li li a::before,
    #menu-main-menu-1 li li a::before {
        background: #BC2E37;
    }

    #menu-main-menu li a::before,
    #menu-main-menu-1 li a::before {
        content: "";
        position: absolute;
        z-index: -2;
        left: 0;
        right: 100%;
        bottom: 0;
        background: #fff;
        height: 2px;
        -webkit-transition-property: right;
        transition-property: right;
        -webkit-transition-duration: 0.3s;
        transition-duration: 0.3s;
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
    }

    #menu-main-menu li a:hover::before,
    #menu-main-menu-1 li a:hover::before {
        right: 0;
    }
}

/* ======================== */
/*  Collapsible Mobile Menu */
/* ======================== */

#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
    content: '\4d';
}

ul.et_mobile_menu li.menu-item-has-children {
    position: relative;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
    width: 44px;
    height: 44px;
    padding: 0 !important;
    border: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 999;
    background-color: transparent;
    text-align: center;
    opacity: 1;
}

.et_mobile_menu .menu-item-has-children > a {
    background-color: transparent !important;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu {
    display: none !important;
    visibility: hidden !important;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
    display: block !important;
    visibility: visible !important;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
    top: 10px;
    position: relative;
    font-family: "ETModules";
    content: '\33';
    color: #00234b;
    background: #f0f3f6;
    border-radius: 50%;
    padding: 3px;
}

ul.et_mobile_menu li.menu-item-has-children.dt-open > .mobile-toggle::after {
    content: '\32';
}

/* ======================== */
/*     Footer Social Icons  */
/* ======================== */

ul#footer-social.et_pb_social_media_follow.et_pb_social_media_follow_0_tb_footer {
    margin-left: 15px;
}

#footer-social.et_pb_social_media_follow_0_tb_footer li.et-social-instagram a.icon::before {
    font-size: 32px;
}

#footer-social.et_pb_social_media_follow_0_tb_footer li.et-social-youtube a.icon::before {
    font-size: 40px;
}

#footer-social.et_pb_social_media_follow_0_tb_footer .et_pb_social_icon a.icon {
    vertical-align: top;
}

#footer-social.et_pb_social_media_follow_0_tb_footer li.et-social-facebook a.icon {
    height: 36px;
    width: 36px;
}

#footer-social.et_pb_social_media_follow_0_tb_footer li.et-social-facebook a.icon::before {
    font-size: 24px;
    line-height: 40px;
    height: 40px;
    width: 38px;
}

#footer-social.et_pb_social_media_follow_0_tb_footer li a.icon::before {
    font-size: 24px;
    line-height: 40px;
    height: 40px;
    width: 48px;
}

#footer-social.et_pb_social_media_follow .et_pb_social_media_follow_network_2_tb_footer .icon::before {
    line-height: 40px;
    height: 40px;
    width: 40px;
}

#footer-social.et_pb_social_media_follow li.et_pb_social_media_follow_network_1_tb_footer a {
    padding-right: 2px;
    padding-left: 2px;
}

/* ======================== */
/*       Home Hero          */
/* ======================== */

.hero-section .et_pb_column {
    position: relative !important;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.hero-section .et_pb_column::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .15);
    z-index: 1;
    pointer-events: none;
}

#bg-video-module {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    z-index: 0 !important;
    pointer-events: none;
}

#bg-video-module .et_pb_code_inner,
#bg-video-module .et_pb_module_inner {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
}

#bg-video-module .et_pb_video_box,
#bg-video-module .fluid-width-video-wrapper {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
}

#bg-video-module .fluid-width-video-wrapper {
    padding-top: 0 !important;
}

#bg-video-module iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    transform: none !important;
    border: 0 !important;
}

#hero-text {
    position: absolute !important;
    top: 60%;
    left: 0;
    transform: translateY(-60%);
    z-index: 3 !important;
    max-width: 90%;
}

#hero-text h1 {
    border-left: 10px solid #bc2e37;
    padding-left: 20px;
    margin-bottom: 19px;
    margin-bottom: clamp(19px, 1.7vw, 28px);
    font-size: 28px;
    font-size: clamp(28px, calc(12.84px + 4.33vw), 96px);
    line-height: 1.1;
    padding-bottom: 10px;
}

#hero-text p {
    font-size: 0.95rem;
    font-size: clamp(15px, 1.9vw, 38px);
    line-height: 1.4;
}

@media screen and (max-width: 767px) {
    #hero-text {
        left: 0;
        top: 70%;
        transform: translateY(-70%);
        padding-left: 10px;
        margin-bottom: 10px;
        border-left: 4px solid #bc2e37;
    }

    #hero-text h1 {
        padding-bottom: 0;
        border-width: 0;
        padding-left: 0;
        margin-bottom: 10px;
    }
}

/* ======================== */
/*       Interior Hero      */
/* ======================== */

#my-hero {
    margin-bottom: 0;
    padding: 100px 0;
    padding: clamp(60px, 8vw, 160px) 0;
}

#my-hero .sm-hdr {
    margin-bottom: 0;
    margin-bottom: clamp(0px, 1.02vw, 10px);
}

#my-hero h1,
#my-hero h1.entry-title {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    font-size: 21px;
    font-size: clamp(19px, 1.7vw, 28px);
    padding-bottom: 12px;
    padding-bottom: clamp(5px, 2vw, 20px);
}

#my-hero .big-hdr {
    max-width: 880px;
    padding-bottom: 0;
    border-left-style: solid;
    border-left-color: #BC2E37;
    padding-left: 15px;
    padding-left: clamp(12px, 1.5vw, 18px);
    border-left-width: 7px;
    border-left-width: clamp(3px, 0.8vw, 10px);
    margin-bottom: 10px;
    margin-bottom: clamp(10px, calc(4.74px + 1.5vw), 30px);
}

#my-hero .big-hdr h2 {
    padding-bottom: 0;
    text-transform: capitalize;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 600;
    font-size: 44px;
    font-size: clamp(32px, 4.7vw, 64px);
    line-height: 1.1;
    color: #fff;
}

#my-hero p {
    font-size: 18px;
    font-size: clamp(15px, 1.9vw, 20px);
    line-height: 1.45;
    padding: 10px 0;
    padding: clamp(0px, 2vw, 20px) 0;
}

@media screen and (max-width: 980px) {
    #my-hero p {
        line-height: 1.4;
    }
}

@media screen and (max-width: 767px) {
    #my-hero {
        padding: 20px 0;
    }
}

/* ======================== */
/*        Home Page         */
/* ======================== */

#srv-ok h2 {
    font-size: 22px;
}

#srv-ok p {
    font-size: 16px;
}

#action .et_pb_row {
    /* Base styles intentionally left to Divi unless overridden below. */
}

@media screen and (min-width: 981px) {
    #srv-ok h2 {
        font-size: 34px;
        font-size: clamp(1.375rem, 1.15rem + 1.125vw, 2.5rem); /* 22px-40px range */
    }

    #srv-ok p {
        font-size: 1rem;
        font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem); /* 14px-18px range */
    }
}

@media screen and (max-width: 767px) {
    #action .et_pb_row {
        padding: 5px 0;
    }
}

/* ======================== */
/*        About Page        */
/* ======================== */

#principles {
    padding-top: 0;
}

#principles .et_pb_row {
    width: 80%;
    max-width: 80%;
}

#principles .intro,
#principles .et_pb_blurb h4 {
    font-size: 1em;
    line-height: 1.2;
}

#principles .et_pb_blurb_description p {
    font-size: 0.92em;
    line-height: 1.5;
}

#principles .et_pb_blurb h4 {
    padding-bottom: 5px;
}

#principles .et_pb_blurb {
    margin-bottom: 23px;
}

#principles .et_pb_main_blurb_image {
    width: 25px;
    margin-bottom: 15px;
}

#principles .et-pb-icon {
    font-size: 25px;
}

#principles .p-text {
    padding-top: 30px;
    padding-left: 0;
}

@media screen and (min-width: 981px) {
    #principles .et_pb_row {
        width: 100%;
        max-width: 100%;
    }

    #principles .et_pb_blurb_container {
        padding-left: 0;
        padding-left: clamp(0px, .5vw, 10px);
    }
}

@media screen and (min-width: 981px) and (max-width: 1679px) {
    #principles .p-text {
        padding-left: 20px;
        padding-left: clamp(20px, 4vw, 80px);
        padding-top: 20px;
        padding-top: clamp(20px, 4vw, 80px);
    }

    #principles .intro {
        margin-bottom: 15px;
        margin-bottom: clamp(15px, 1.5vw, 25px);
        line-height: 1.4;
    }

    #principles .intro,
    #principles .et_pb_blurb h4 {
        font-size: 1em;
        font-size: clamp(0.9em, 1.3vw, 1.1em);
    }

    #principles .et_pb_blurb_container {
        padding-left: 0;
        padding-left: clamp(0px, .5vw, 10px);
    }

    #principles .et_pb_blurb h4 {
        padding-bottom: 5px;
        padding-bottom: clamp(5px, 0.75vw, 15px);
    }

    #principles .et_pb_blurb_description p {
        font-size: 0.82em;
        font-size: clamp(0.82em, 1.3vw, 0.96em);
        line-height: 1.4;
    }

    #principles .et_pb_blurb {
        margin-bottom: 5px;
        margin-bottom: clamp(5px, 1.8vw, 30px);
    }

    #principles .et_pb_main_blurb_image {
        width: 10px;
        width: clamp(10px, 2.2vw, 50px);
        margin-bottom: 15px;
        margin-bottom: clamp(15px, 2vw, 20px);
    }

    #principles .et-pb-icon {
        font-size: 10px;
        font-size: clamp(10px, 2.2vw, 50px);
    }
}

@media screen and (min-width: 1440px) {
    #principles .intro,
    #principles .et_pb_blurb_description p {
        line-height: 1.6;
    }
}

@media screen and (min-width: 1680px) {
    #principles .intro,
    #principles .et_pb_blurb h4 {
        font-size: 1.1em;
        font-size: clamp(1em, 1.5vw, 1.2em);
        line-height: 1.6;
    }

    #principles .p-text {
        padding-left: 80px;
        padding-top: 80px;
    }

    #principles .intro {
        margin-bottom: 15px;
        margin-bottom: clamp(15px, 1.5vw, 25px);
    }

    #principles .et_pb_blurb_container {
        padding-left: 0;
        padding-left: clamp(0px, .5vw, 10px);
    }

    #principles .et_pb_blurb h4 {
        padding-bottom: 5px;
        padding-bottom: clamp(5px, 0.75vw, 15px);
    }

    #principles .et_pb_blurb_description p {
        font-size: 0.9em;
        font-size: clamp(0.9em, 1.1vw, 1.13em);
    }

    #principles .et_pb_blurb {
        margin-bottom: 5px;
        margin-bottom: clamp(5px, 1.8vw, 30px);
    }

    #principles .et_pb_main_blurb_image {
        width: 10px;
        width: clamp(10px, 2.2vw, 50px);
        margin-bottom: 15px;
        margin-bottom: clamp(15px, 2vw, 20px);
    }

    #principles .et-pb-icon {
        font-size: 10px;
        font-size: clamp(10px, 2.2vw, 50px);
    }
}

/* ======================== */
/*     Our Team Gallery     */
/* ======================== */

#team-gal .et_pb_row_2 {
    width: 980px;
    max-width: 60%;
}

#team-gal .et_pb_blurb {
    width: 267px;
    max-width: 100%;
    margin: 0 auto;
}

#team-gal .et_pb_blurb h4 {
    font-size: 1.15em;
    font-size: clamp(1.15em, 1.2vw, 1.35em);
}

#team-gal img {
    max-width: 100%;
}

/* ======================== */
/*        Blog Posts        */
/* ======================== */

#blog-col1 h1.entry-title,
.single-post h1.entry-title {
    font-size: 36px;
    line-height: 1.2em;
    padding-bottom: 0;
}


#blog-col1 .et_pb_post_content p {
    padding-bottom: 1.25em;
}

#blog-col2 .post-meta a {
    background: #dcebff;
    padding: 1px 5px;
    display: inline-block;
    margin-bottom: 3px;
}

/*set the width of the rows inside the Post Content module*/
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_row {
    width: 100%;
    padding: 10px 0;
}
.et-db #et-boc .et-l .et-l--post .et_builder_inner_content .et_pb_section {
    padding: 0;
}
/* Hide empty related posts message */
.related-posts .entry:has(.not-found-title) {
    padding-top: 10px;
}

.related-posts .entry:has(.not-found-title)::before {
    content: "More articles coming soon.";
    display: block;
    font-size: 16px;
    line-height: 1.5;
    color: #666;
}
    
.related-posts .entry:has(.not-found-title) .not-found-title,
.related-posts .entry:has(.not-found-title) .not-found-title + p {
    display: none;
}


/* blog page - blog grid */
#blog-excerpts .post-content-inner {
    margin-bottom: 10px;
}
#blog-excerpts a.more-link {
    color: #FFFFFF !important;
    border: 1px solid #082040;
    background-color: #082040;
    border-radius: 0px;
    letter-spacing: 1px;
    font-size: 12px;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    padding: 2px 10px
}
.et_pb_blog_grid .et_pb_post p {
    font-size: 16px; /*set in Divi blog page */
    line-height: 1.5;
    padding-bottom:      ;
}
/* archive - category pages */
#cat-pages .post-content p {
    font-size: 16px;
    line-height: 1.6em;
}
#cat-pages h2{
    font-size: 26px;
    padding-bottom: 15px;
}
#cat-pages a.more-link {
    font-size: 14px;
}


/* ======================== */
/*     Services Page Rows   */
/* ======================== */

.svcs-row h2 {
    padding-bottom: 0;
}

.svcs-row p {
    font-size: 16px;
}

@media screen and (min-width: 981px) {
    .svcs-row-hdr {
        margin-bottom: 10px;
    }

    .svcs-row h2 {
        font-size: 32px;
        line-height: 1.2em;
    }

    .svcs-row p {
        font-size: 15px;
        line-height: 1.5em;
    }
}

@media screen and (min-width: 1440px) {
    .svcs-row-hdr {
        margin-bottom: 15px;
    }

    .svcs-row h2 {
        font-size: 36px;
        line-height: 1.3em;
    }

    .svcs-row p {
        font-size: 18px;
        line-height: 1.6;
    }
}

/* ======================== */
/*        Gallery Rows      */
/* ======================== */

.img-gal.et_pb_gallery_grid .et_pb_gallery_image {
    aspect-ratio: 400 / 284;
    overflow: hidden;
}

.img-gal.et_pb_gallery_grid .et_pb_gallery_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ======================== */
/*     Service Area Page    */
/* ======================== */

.seasons .et_pb_column {
    border: 1px solid #0a2a54;
    padding: 15px;
    border-radius: 12px;
}

.seasons .et_pb_blurb_content {
    line-height: 1.6;
}

.seasons .et-pb-icon {
    font-size: 50px;
    font-weight: 600 !important;
}

.seasons h4 {
    text-align: center;
}

.seasons .et_pb_blurb_description,
.cty-blks .et_pb_text {
    font-size: 0.92em;
    color: #555;
    line-height: 1.6;
}

.cty-blks.et_pb_row {
    padding: 20px 0 !important;
}

.cty-blks .et_pb_column {
    border: 1px solid #0a2a54;
    padding: 15px;
    border-radius: 12px;
    background: #f4f3f3;
}

.cty-blks .et_pb_text {
    line-height: 1.5;
}

.cty-blks h3 {
    font-size: 18px;
    padding-bottom: 10px;
}

.ctc-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

.ctc-row .et_pb_column {
    float: none !important;
    width: auto !important;
    margin-right: 0 !important;
    flex: 1 1 240px;
    max-width: 320px;
}

.ctc-row .et_pb_text {
    text-align: center;
    font-weight: bold;
    line-height: 1.5;
}

.svc-area-list .et_pb_text_inner p {
    column-width: 220px;
    column-gap: 40px;
}

@media screen and (max-width: 980px) {
    .svc-area-list .et_pb_text_inner p {
        column-width: 100px;
        column-gap: 35px;
    }
}

/* ======================== */
/*    Testimonials Page     */
/* ======================== */

.soc-icons-row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
}

.soc-icons-row .et_pb_column {
    float: none !important;
    width: 27% !important;
    max-width: 175px;
    margin: 0 2% !important;
    flex: 0 0 27%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.soc-icons-row .et_pb_module,
.soc-icons-row .et_pb_image {
    margin: 0 !important;
}

.soc-icons-row img {
    max-width: 100%;
    max-height: 48px;
    max-height: clamp(48px, 10vw, 100px);
    width: auto;
    height: auto;
}

/* ======================== */
/*        Contact Page      */
/* ======================== */

.cntc-icons-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 18px;
    gap: clamp(14px, 2vw, 24px);
    max-width: 980px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.cntc-icons-row .et_pb_column {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    flex: 1 1 192px;
    max-width: 300px;
    display: flex;
    justify-content: center;
}

.cntc-icons-row .et_pb_blurb {
    width: 100%;
}

.cntc-icons-row .et_pb_main_blurb_image {
    margin-bottom: 30px;
}

.cntc-icons-row .et_pb_blurb_description {
    font-size: 17px;
    line-height: 1.5;
    white-space: nowrap;
}

.contact-col {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: center;
}

.cntc-blrb {
    width: 200px;
    margin: 0 10px 20px;
}

@media screen and (max-width: 980px) {
    .cntc-icons-row {
        gap: 18px;
        gap: clamp(14px, 2vw, 24px);
    }

    .cntc-icons-row .et-pb-icon {
        font-size: 40px !important;
    }

    .cntc-icons-row .et_pb_blurb_1 .et_pb_main_blurb_image .et_pb_image_wrap {
        width: 40px !important;
    }

    .cntc-icons-row .et_pb_main_blurb_image {
        margin-bottom: 20px !important;
    }

    .cntc-icons-row .et_pb_blurb_description {
        font-size: 14px !important;
        line-height: 1.5;
    }
}

@media screen and (max-width: 480px) {
    .cntc-icons-row .et_pb_column {
        flex-basis: 100%;
        max-width: 100%;
    }
}

/* Remove iPhone auto-link styling in header/footer */
header a,
footer a,
.et_pb_section a[href^="tel"],
.et_pb_section a[href^="mailto"] {
    text-decoration: none !important;
}

/* Specifically target mobile Safari auto-detected links */
a[x-apple-data-detectors],
.x-gmail-data-detectors,
.x-gmail-data-detectors *,
a[href^="tel"],
a[href^="mailto"] {
    color: inherit !important;
    text-decoration: none !important;
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}
#top-header a,
#main-footer a {
    text-decoration: none !important;
}
#mob-hdr-ph p {
    font-size: 0.9em;
}
@media screen and (max-width: 400px) {
    #mob-hdr-ph p {
        font-size: 12px;
    }
}

