/*
Theme Name: NuResin
Description: Custom child theme for Divi 5
Author: Your Name
Template: Divi
Version: 1.0.0
*/

/* Add your custom CSS below this line */

.container {
    width: 94%;
}

header {
    background: linear-gradient(175deg, #1d2127 0%,#090c0f 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

#main-header {
    box-shadow: 0 0 150px rgba(0, 0, 0, .5);
    border-bottom: solid 4px #FFF;
}

.et_header_style_left #et-top-navigation, .et_header_style_split #et-top-navigation {
    padding: 42px 0 42px 0 !important;
}

#top-menu li {
    padding-right: 50px;
}

    #top-menu li a {
        font-weight: 500;
        padding-top: 18px;
        padding-bottom: 18px !important;
        transition: all .4s ease-in-out;
    }

#top-menu-nav > ul > li > a:hover {
    opacity: 1;
    color: #2ea3f2;
}

    #top-menu li#menu-item-23 a {
        background: #018ddf;
        padding-left: 25px;
        padding-right: 25px;
        border-radius: 5px;
    }

        #top-menu li#menu-item-23 a:hover, #top-menu li.current-menu-item#menu-item-23 a {
            background: #FFF;
            padding-left: 25px;
            padding-right: 25px;
            border-radius: 5px;
        }

.hero h1 {
    padding-bottom:35px;
}

.hero h1 strong {
    color: #FFF;
    -webkit-text-stroke: 1px #FFF;
    -webkit-text-fill-color: rgba(0, 0, 0, 0.4);
}

.intro h2 {
    padding-bottom:40px;
}

.intro h3 {
    padding-bottom: 15px;
}

.intro p {
    padding-left: 40px;
    border-left: solid 4px #adcdfe;
    width: 560px;
    max-width: 100%;
}

strong.number {
    color: #FFF;
    background: #018ddf;
    padding: 19px 20px 20px 18px;
    line-height: 0.8;
    display: inline-block;
    font-size: 35px;
    width: 65px;
    height: 65px;
    text-align: center;
    border-radius: 100px;
    margin-bottom:25px;
}

.numbox:after {
    font-family: ETmodules !important;
    font-size: 55px;
    content: '\24';
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    position: absolute;
    right: 0;
    color: #7f7f89;
    top: 8px;
}

#main-footer {
    background-color: #1d2127;
    background: linear-gradient(175deg, #1d2127 0%, #090c0f 100%);
}

#footer-widgets {
    padding-top: 60px;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    color: #bdbdc0;
    line-height:1.75;
}

.footer-widget li a {
    transition: all .4s ease-in-out;
}

.footer-widget li a:hover {
    color: #018ddf !important;
    transition: all .4s ease-in-out;
}

.et_pb_gutters3.et_pb_footer_columns3 .footer-widget .fwidget {
    width: 100%;
}

#block-11, #block-14 {
    padding-top: 15px;
}

    #block-11 ul.wp-block-list li,
    #block-14 ul.wp-block-list li {
        display: inline-block;
        float: left;
        width: 50%;
    }

    #block-11 h4, #block-14 h4 {
        padding-bottom: 25px;
    }

    #block-14 figure {
        float:left;
        margin-top:25px;
        margin-right:12px !important;
        width:49px;
        height:auto;
    }

#footer-info {
    display: inline-block;
    width: 100%;
    padding-top:7px;
}

footer #footer-info p:first-of-type {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    display: inline-block;
    float: left;
    width: 50%;
    text-align:left;
}

footer #footer-info p:last-of-type {
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    display: inline-block;
    float: left;
    width: 50%;
    text-align: right;
}

.styledbullets ul {
    list-style:none;
    padding-left:0;
}

    .styledbullets ul li {
        position: relative;
        padding-left: 45px;
        padding-bottom: 35px;
    }

        .styledbullets ul li:last-of-type {
            padding-bottom:0;
        }

        .styledbullets ul li:before {
            font-family: ETmodules !important;
            font-size: 30px;
            content: '\e052';
            font-weight: 400;
            font-variant: normal;
            text-transform: none;
            line-height: 1;
            -webkit-font-smoothing: antialiased;
            display: inline-block;
            position: absolute;
            left: 0;
            color: #018ddf;
            top: 4px;
        }

        .styledbullets ul li.tel:before {
            font-size: 16px;
            content: '\e090';
            color: #FFF;
            top: -3px;
            background: #018ddf;
            border-radius: 50px;
            padding: 8px;
        }

        .styledbullets ul li.email:before {
            font-size: 16px;
            content: '\e076';
            color: #FFF;
            top: -3px;
            background: #018ddf;
            border-radius: 50px;
            padding: 8px;
        }

        .styledbullets ul li.address:before {
            font-size: 16px;
            content: '\e081';
            color: #FFF;
            top: -3px;
            background: #018ddf;
            border-radius: 50px;
            padding: 8px;
        }

.gform_heading {
    display:none !important;
}

.gform-theme--foundation .gform_fields {
    row-gap:20px !important;
}

.gform-theme--foundation .gfield input.large, .gform-theme--foundation .gfield textarea {
    border: solid 1px #929292 !important;
}

.gform-theme.gform-theme--framework.gform_wrapper .button {
    background: #2946a4 !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    height: 44px !important;
    border-radius: 4px !important;
}

    .gform-theme.gform-theme--framework.gform_wrapper .button:hover {
        background: #1d2127 !important;
    }

.survey-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 35px;
}

    .survey-step .number {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 55px;
        width: 55px;
        height: 55px;
        border-radius: 50%;
        background: #0798ef;
        color: #fff;
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
    }

.survey-step-text {
    flex: 1;
}

    .survey-step-text strong {
        display: block;
        font-size: 18px;
        margin-bottom: 5px;
    }

    .survey-step-text p {
        margin: 0;
        padding: 0;
    }

.no-obligation-box {
    background: #eef7ff;
    padding: 24px;
}

    .no-obligation-box .et_pb_text_inner {
        display: flex;
        align-items: flex-start;
        gap: 18px;
    }

.no-obligation-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    border: 3px solid #0798ef;
    border-radius: 50%;
    color: #0798ef;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}

.no-obligation-text {
    flex: 1;
}

    .no-obligation-text strong {
        display: block;
        font-size: 18px;
        line-height: 1.3;
        margin-bottom: 6px;
    }

    .no-obligation-text p {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.6;
    }



/* =========================================
   HERO TITLE
========================================= */

html.hero-animating .hero h1 {
    opacity: 0;
    transform: translateY(12px);
}

    html.hero-animating .hero h1.hero-loaded {
        animation: heroTitleFade 0.8s ease forwards;
    }

.hero h1 {
    overflow: hidden;
}

    .hero h1 strong {
        display: block;
    }

@keyframes heroTitleFade {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================
   SECOND LINE LETTERS
========================================= */

html.hero-animating .hero .hero-letter {
    display: inline-block;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

    html.hero-animating .hero .hero-letter.show {
        opacity: 1;
        transform: translateY(0);
    }

.hero .hero-letter {
    display: inline-block;
}


/* =========================================
   HERO PARAGRAPH
========================================= */

html.hero-animating .hero .et_pb_text_inner > p {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

    html.hero-animating .hero .et_pb_text_inner > p.hero-copy-show {
        opacity: 1;
        transform: translateY(0);
    }


/* =========================================
   INDIVIDUAL HERO BUTTON
========================================= */

html.hero-animating .hero-button {
    opacity: 0 !important;
    visibility: hidden !important;
}

    html.hero-animating .hero-button.hero-buttons-show {
        opacity: 1 !important;
        visibility: visible !important;
        transition: opacity 0.8s ease !important;
    }


/* =========================================
   HERO BUTTON ROW
========================================= */

html.hero-animating .hero-buttons-row {
    opacity: 0 !important;
    visibility: hidden !important;
}

    html.hero-animating .hero-buttons-row.hero-buttons-show {
        opacity: 1 !important;
        visibility: visible !important;
        transition: opacity 0.8s ease !important;
    }


/* =========================================
   ACCESSIBILITY
========================================= */

@media (prefers-reduced-motion: reduce) {

    .hero h1,
    .hero .hero-letter,
    .hero .et_pb_text_inner > p,
    .hero-button,
    .hero-buttons-row {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }
}



@media (max-width: 1380px) {
    .right-edge-image {
        width: 100%;
    }
    .right-bleed-column {
        width: 50% !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 1300px) {
    #top-menu li {
        padding-right: 30px;
    }
}

@media (max-width: 1190px) {
    #logo {
        max-height: 40% !important;
    }
    #top-menu li {
        padding-right: 25px;
    }
        #top-menu li a {
            font-size: 14px !important;
        }
        #top-menu li#menu-item-23 a {
            padding-left: 15px;
            padding-right: 15px;
        }
}

@media (max-width: 980px) {
    .intro p {
        padding-left: 0;
        border-left: none;
    }
    .et_mobile_menu {
        padding: 0;
        background-color: #2946a4 !important;
        margin-top: 15px;
    }
        .et_mobile_menu li a {
            padding: 12px 20px;
            border-bottom: solid 1px;
            border-color: rgba(0, 0, 0, 0.2);
            font-size: 16px;
            font-weight: 500;
        }
}

        @media only screen and (min-width: 1350px) {
            
            .right-edge-image {
                width: calc(100% + ((99vw - 1380px) / 2)) !important;
                max-width: none !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                transform: none !important;
                text-align: left !important;
            }

                .right-edge-image img {
                    width: 100% !important;
                    max-width: none !important;
                    display: block !important;
                    margin: 0 !important;
                }
        }


@media (max-width: 768px) {
    footer #footer-info p {
        width:100% !important;
        float:none !important;
        text-align:left !important;
    }
    .et_header_style_left #et-top-navigation .mobile_menu_bar {
        padding-bottom: 0;
    }
    
}

    @media (max-width: 501px) {
        #block-11 ul.wp-block-list li, #block-14 ul.wp-block-list li {
            display: block;
            float: left;
            width: 100%;
        }
    }