/*
 Theme Name: Divi Child
 Template: Divi
*/
 

/* Theme customization starts here */

/* Header */

.top-row {
    width: fit-content;
    margin: 0 auto;
}

.top-row > .et_pb_text_inner {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.top-row .phone-number {
    display: flex;
    align-items: center;
    gap: 10px;
}

.top-row .phone-number img {
    width: 20px;
    height: 20px;
}

#header-section .quote-button:hover {
    opacity: 0.7;
}

#menu-headermenu li a {
    padding: 0px;
    border-bottom: 1px solid transparent;
}

#menu-headermenu li.current_page_item a,
#menu-headermenu li a:hover {
    color: #3A5874;
    border-color: #3A5874;
}

#services-submenu {
    display: none;
    padding: 24px;
    border-radius: 4px;
    position: absolute;
    top: 30px;
    border: 1px solid #3A5874;
    background-color: #FFF;
}

#services-submenu .et_pb_text_inner {
    display: flex;
}

#services-submenu .submenu-group {
    width: 50%;
}

#services-submenu .et_pb_text_inner > .submenu-group:nth-child(1) {
    padding-right: 15px;
    border-right: 1px solid #3A5874;
}

#services-submenu .et_pb_text_inner > .submenu-group:nth-child(2) {
    padding-left: 15px;
}

#services-submenu .headline {
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    color: #3A5874;
    font-weight: 600;
    font-size: 20px;
    line-height: 25px;
    letter-spacing: 0%;
    margin-bottom: 30px;
}

#services-submenu .item-title {
    font-family: 'Source Serif 4', Georgia,"Times New Roman",serif;
    color: #08182B;
    font-weight: 600;
    font-size: 28px;
    line-height: 32.2px;
    letter-spacing: 0%;
    margin-bottom: 8px;
}

#services-submenu .item-content {
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    color: #2C2A26;
    font-weight: 400;
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0%;
}

#services-submenu .content > .item:not(:last-child) {
    margin-bottom: 30px
}

@media (min-width: 981px) {

    .getquote-mobile-button {
        display: none !important;
    }

    .services-menu-item::after {
        content: '';
        width: 10px;
        height: 10px;
        background-image: url("/wp-content/uploads/2026/06/submenu-arrow.svg");
        background-repeat: no-repeat;
        position: relative;
        top: 9px;
        left: 5px;
        cursor: pointer;
    }

}



@media (max-width: 980px) {

    .mobile_menu_bar::before {
        top: 0 !important;
        color: #08182B !important;
    }

    #header-row .et_pb_menu__wrap {
        justify-content: flex-end !important;
    }

    #header-row > .et_pb_column {
        width: 50%;
    }

    #header-row > .et_pb_column:nth-child(3) {
        display: none;
    }

    #services-submenu .et_pb_text_inner {
        flex-direction: column;
    }

    #header-row > .et_pb_column:nth-child(1) {
        width: 50%;
        z-index: 2000;
    }

    #header-row > .et_pb_column:nth-child(2) {
        width: 100%;
        position: absolute;
        right: 0;
        width: 65%;
    }

    #mobile_menu1 {
        padding: 0 16px 16px 16px;
        background-color: #fafaf8;
        box-shadow: -4px 0px 20px 0px rgba(0, 0, 0, 0.2);
        border: none;        
    }

    #mobile_menu1 li:not(.getquote-mobile-button, .menu-close) {
        border-bottom: 1px solid #B8B5AB;
    }

    #mobile_menu1 li:not(.getquote-mobile-button) a {
        border: none !important;
        background: transparent !important;
        padding: 13px 5%;
    }

    #mobile_menu1 li.current-menu-item:not(.getquote-mobile-button) a {
        text-decoration: underline;
        text-underline-offset: 4px;
        text-decoration-color: #3A5874;
    }

    #mobile_menu1 .menu-close {
        height: 52px;
        justify-content: flex-end;
        display: flex;
        align-items: center;
    }

    #mobile_menu1 .menu-close img {
        width: 15px;
        height: 15px;
        cursor: pointer;
    }

    .no-border {
        border: none !important;
    }

    .getquote-mobile-button {
        display: block !important;
        padding-top: 18px;
    }

    .getquote-mobile-button a {
        font-family: 'Source Sans 3', Helvetica, Arial, Lucida, sans-serif !important;
        text-align: center;
        background-color: #0f2845 !important;        
        color: #ffffff !important;
        font-size: 16px !important;
        line-height: 24px !important;
        border-radius: 0px;
        border: none;
        padding: 12px 23px !important;
    }

    .services-menu-item > a {
        display: flex !important;
        gap: 15px;
    }

    .displaySubMenu {
        display: flex;
    }

    #services-mobile.closed {
        display: none;
    }

    #services-mobile {
        padding: 10px 5%;
    }

    #services-mobile .headline {
        color: #3A5874;
        font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
        font-weight: 600;
        font-size: 18px;
        line-height: 22.5px;
    }

    #services-mobile a {
        padding-left: 0px !important;
        padding-right: 0px !important;
        text-decoration: none !important;
    }

    #services-mobile p {
        height: 0;
    }

    #services-mobile .item-title {
        color: #08182B;
        font-family: 'Source Serif 4', Arial, Helvetica, sans-serif;
        font-weight: 600;
        font-size: 22px;
        line-height: 26.4px;
    }
    
    #services-mobile .item-content {
        color: #2C2A26;
        font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 21px;
        margin-top: 10px;
    }

}


/* Footer */

#talk-operator-column2 > .et_pb_text_inner {
    display: flex;
    gap: 12px;
}

#talk-operator-column2 .phone-button,
#contact-column2 .phone-button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background-color: #B23A2D;
    color: #FFFFFF;
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0%;
    padding: 11px 77px;
}

#contact-column2 .phone-button {
    padding: 11px 73px;
}

#talk-operator-column2 .phone-button:hover,
#contact-column2 .phone-button:hover {
    opacity: 0.7;
}

#talk-operator-column2 .phone-button .image,
#contact-column2 .phone-button .image {
    line-height: 1em;
}

#talk-operator-column2 .phone-text p,
#contact-column2 .phone-text p {
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.sitemap-list a {
    color: #FFFFFF;
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 0%;
}

@media (max-width: 768px) {

    #talk-operator-column2 > .et_pb_text_inner > p {
        height: 0;
        padding: 0;
    }

    #contact-column2 {
        width: 100%;
    }

}

/* Footer - Contact Form */

.contact-form-row {
    display: flex;
    gap: 13px;
    margin-bottom: 7px;
}

#contact-module label {
    color: #FFFFFF;
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 17px;
    letter-spacing: 0%;
}

#contact-module .required-symbol {
    color: #B23A2D;
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0%;
}

#contact-module .contact-form-field,
#contact-module .contact-form-dropdown {
    border: 1px solid #B8B5AB;
    background-color: #FFFFFF;
    padding: 10px;
    color: #08182B;
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1rem;
    width: 100%;
    margin-top: 5px;
}

#contact-module .contact-form-field::placeholder {
    color: #B8B5AB;
}

#contact-module .contact-form-row > p {
    width: 100%;
    padding: 0;
}

#contact-module .contact-form-button {
    color: #FFFFFF;
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0%;
    width: 100%;
    padding: 11px;
    border: 1px solid #FFFFFF;
    border-radius: 2px;
    background-color: transparent;
    cursor: pointer;
}

#contact-module .contact-form-button:hover {
    background-color: #FFFFFF;
    color: #08182b;
}

#contact-module .wpcf7-spinner {
    display: block;
}

#contact-module .wpcf7-response-output {
    color: #FFF;
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    font-weight: 500;
    font-size: 18px;
    text-align: center;
    padding: 15px;
    margin-top: 20px;
    border-color: #35c835;
}

.wpcf7 form.invalid .wpcf7-response-output {
    border-color: #B23A2D !important;
}

#contact-module textarea.contact-form-field {
    height: 96px;
}

@media (max-width: 768px) {

    .contact-form-row,
    #talk-operator-column2 > .et_pb_text_inner  {
        flex-direction: column;
    }

    #contact-module .contact-form-field, #contact-module .contact-form-dropdown {
        padding: 10px;
    }

}