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

    .mega-menu {
        display: none;
    }

    @media only screen and (min-width : 768px) {

        .top-bar-section {
            display: none;
        }
        
        .top-bar {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: baseline;
            -webkit-align-items: baseline;
                -ms-flex-align: baseline;
                    align-items: baseline;
            -webkit-box-pack: justify;
            -webkit-justify-content: space-between;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            height: auto;
            margin: 0;
            padding-top: 0;
            padding-bottom: 0;
        }
    
        .top-bar,
        .top-bar-section li a:not(.button) {
            line-height: normal;
            background: unset !important;
        }
        
        .top-bar-section ul {
            background: unset !important;
        }
    
        .mega-menu {
            display: block;
            position: static;
            float: right;
            width: 100%;
        }
    
        body .ubermenu-skin-minimal .ubermenu-submenu .ubermenu-target {
            color: #fff;
            font-size: 15px;
        }
        body .ubermenu-skin-minimal.ubermenu-horizontal .ubermenu-item-level-0 > .ubermenu-submenu-drop {
            border-top: 0;
        }
        body .ubermenu-skin-minimal .ubermenu-submenu .ubermenu-target:hover, 
        body .ubermenu-skin-minimal .ubermenu-submenu .ubermenu-active > .ubermenu-target {
            background-color: #15312A;
            color: #ffffff;
        }
        body .ubermenu .ubermenu-submenu-type-stack > .ubermenu-item-normal > .ubermenu-target {
            padding: 10px;
        }
        body .ubermenu .ubermenu-submenu-type-stack > .ubermenu-item.ubermenu-column-auto {
            padding-left: 10px;
            padding-right: 10px;
        }
        body .ubermenu-sub-indicators .ubermenu-has-submenu-drop > .ubermenu-target {
            padding-right: 35px;
        }

    }

    #sticky-banner {
        font-weight: normal;
    }

    #sticky-banner ul li {
        display: inline;
    }

    #sticky-banner a {
        color: #fff;
        text-transform: unset;
    }

    .telephone {
        background: none;
    }

    .telephone .telephone__label {
        display: inline-block;
        margin-right: 10px;
        color: white;
        font-size: 0.8rem;
    }
    
    .icon-pin {
        margin-top: -3px;
        margin-left: 0.5rem;
    }

    @media only screen and (min-width : 768px) {

        #sticky-banner ul {
            display: inline-block;
            margin-top: -5px;
            overflow: visible;
        }

        #sticky-banner ul li {
            display: inline-block;
            margin-left: 20px;
        }

        .telephone .telephone__number {
            font-size: 2rem;
        }

    }

/*  ==========================================================================
    Page Banner
    ========================================================================== */

.page-banner {
    position: relative;
    width: 100%;
    margin: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

    .page-banner:after {
        display: block;
        content: '';
        padding-top: 36.66%;
    }

.page-banner .page-banner__row {
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
    max-width: 1200px;
    padding-top: 7em;
    padding-bottom: 7em;
    overflow: auto;
}

.page-banner .page-banner__column {
    position: relative;
}

.page-banner .page-banner__column h1 {
    font-size: 30px;
    line-height: 35px;
    font-weight: bold;
    color: #fff;
}

.page-banner .page-banner__column img {
    margin-top: 20px;
    display: block;
}

@media only screen and (min-width : 768px) {
    .page-banner .page-banner__row {
        padding-left: 50px;
        padding-right: 50px;
    }

    .page-banner .page-banner__column h1 {
        font-size: 60px;
        line-height: 65px;
    }

    .page-banner .page-banner__column img {
        float: right;
    }
}

    /* Responsive oEmbeds
    ====================================== */
    
    .responsive-embed { 
        position: relative; 
        padding-bottom: 56.25%;
        margin: 0;
        height: 0;
        overflow: hidden;
        max-width: 100%;
        height: auto;
    } 

    .responsive-embed iframe,
    .responsive-embed object,
    .responsive-embed embed { 
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

/*  ==========================================================================
    Page Intro
    ========================================================================== */

    .page-intro {
        width: 100%;
        position: relative;
    }
    
    .page-intro .row {
        padding-top: 15px;
        padding-bottom: 15px;
    }
    
    .page-intro .columns h2 {
        margin: 0 0 15px 0;
        font-weight: bold;
        color: #000;
        font-size: 2rem;
    }

    .page-intro .columns p {
        color: #000;
    }
    
    .page-intro .columns img {
        max-width: 100%;
        height: auto;
        margin-top: 20px;
        display: block;
    }

@media only screen and (min-width : 768px) {
    .page-intro .row {
        padding-top: 4em;
        padding-bottom: 4em;
    }
    .page-intro .columns h2 {
        margin: 0 0 30px 0;
    }
}

/*  ==========================================================================
    Features
    ========================================================================== */

    .page-features {
        position: relative;
        width: 100%;
        margin: 1.5rem 0 4rem;
        padding: 0 1.5rem;
    }

    .page-features .feature {
        display: flex;
        align-items: center;
        margin-bottom: 2rem;
        font-size: 1.6rem;
        color: #666666;
        font-weight: 500;
    }

    .page-features .feature img {
        min-width: 95px;
    }

    .page-features .feature span {
        padding-left: 2rem;
    }

    @media only screen and (min-width : 768px) {

        .page-features {
            width: calc(100% - 5rem);
            margin: 0 2.5rem 4rem;
            padding: 0 3rem;
        }        

    }

    .page-textures {
        position: relative;
        width: 100%;
        margin: 0 0 4rem;
        padding: 0 1.5rem;        
        text-align: center;
        font-size: 2.5rem;
        font-weight: 500;
    }

    .page-textures__title {
        margin-bottom: 4rem;
    }

    .page-textures__thumb {
        position: relative;
        display: inline-block;
        padding: 0;
        margin-bottom: 4rem;
    }

    .page-textures__thumb.basalt .swatch {
        background-color: #595F61;
    }
    .page-textures__thumb.anthracite .swatch {
        background-color: #3D4749;
    }

    .page-textures__thumb .swatch {
        border-radius: 50%;
        height: 140px;
        width: 140px;
        background-color: #eee;
        margin: 0 auto 2rem;
    }

    .page-textures__thumb .swatch-label {
        font-size: 2.5rem;
        font-weight: 500;        
    }

    .page-textures__breakdown {
        margin-top: 4rem;
        margin-bottom: 2rem;
    }

    @media only screen and (min-width : 768px) {

        .page-textures {
            width: calc(100% - 5rem);
            margin: 0 2.5rem 4rem;
            padding: 0 3rem;        
        }        

        .page-textures__thumb {
            padding: 0 3rem;
            margin-bottom: 6rem;
        }           

    }

/*  ==========================================================================
    Page Why
    ========================================================================== */

    .page-why {
        width: 100%;
        position: relative;
        background: #dadbd6;
    }
    
    .page-why .row {
        padding-top: 15px;
        padding-bottom: 15px;
    }
    
    .page-why .columns h2 {
        margin: 0 0 15px 0;
        font-weight: bold;
        color: #000;
    }

    .page-why .columns p {
        color: #000;
    }

    .page-why .columns ul {
        margin: 0 0 15px 15px;
        padding: 0;
    }

    .page-why .columns ul li {
        padding-bottom: 15px;
    }
    
    .page-why .columns img {
        max-width: 100%;
        height: auto;
        margin-top: 20px;
        display: block;
    }

@media only screen and (min-width : 768px) {
    .page-why .row {
        padding-top: 5em;
        padding-bottom: 5em;
    }
    .page-why .columns h2 {
        margin: 0 0 30px 0;
    }
    .page-why .columns ul {
        margin: 0 0 0 15px;
    }
}

/*  ==========================================================================
    Page Advert
    ========================================================================== */

    .page-advert {
        width: 100%;
        position: relative;
    }
    
    .page-advert .row {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .page-advert .columns img {
        max-width: 100%;
        height: auto;
    }

    .page-advert .columns img.page-advert__desktop {
        display: none;
    }

@media only screen and (min-width : 768px) {
    .page-advert .row {
        padding-top: 5em;
        padding-bottom: 5em;
    }
    .page-advert .columns img.page-advert__desktop {
        display: block;
    }
    .page-advert .columns img.page-advert__mobile {
        display: none;
    }
}

/*  ==========================================================================
    Page Form
    ========================================================================== */

    .page-form {
        width: 100%;
        position: relative;
    }
    
    .page-form .row {
        padding-bottom: 15px;
    }

    .page-form .columns h2 {
        font-weight: bold;
        color: #000;
    }

    .page-form .columns .gform_wrapper {
        margin: 0;
        padding: 15px;
        border: 1px solid #659730;
    }

    .page-form .columns .gform_wrapper .gform_heading .gform_title {
        margin: 0 0 15px 0;
        font-size: 1.929rem;
        color: #000;
    }

    .page-form .columns .gform_wrapper label {
        width: 100%!important;
        color: #659730;
    }

    .page-form .columns .gform_wrapper input, .page-form .columns .gform_wrapper textarea, .page-form .columns .gform_wrapper select {
        width: 100%!important;
        border: 1px solid #659730;
    }

    .page-form .columns .gform_wrapper input[type=submit] {
        width: auto!important;
        padding: 20px 50px;
        border: 0;
        background: #659730;
        color: #fff;
    }

    .page-form .columns .gform_wrapper input[type=submit]:hover {
        background: #163029;
    }

    .page-form .columns .gform_wrapper .ginput_container_consent {
        position: relative;
    }

    .page-form .columns .gform_wrapper .ginput_container_consent input {
        width: auto!important;
        position: absolute;
        top: 9px;
        left: 0;
        display: inline-block;
    }

    .page-form .columns .gform_wrapper .ginput_container_consent label {
        width: auto!important;
        display: inline-block;
        padding-left: 30px;
    }

    .page-form .columns .gform_wrapper .gform_fields li:nth-child(9) .gfield_label {
        display: none;
    }

@media only screen and (min-width : 768px) {
    .page-form .row {
        padding-bottom: 5em;
    }

    .page-form .columns .gform_wrapper .gform_heading .gform_title {
        margin: 0 0 30px 0;
    }

    .page-form .columns .gform_wrapper {
        padding: 30px;
    }

    .page-form .columns .gform_wrapper .gform_fields {
        position: relative;
    }

    .page-form .columns .gform_wrapper .gform_fields li:nth-child(1), 
    .page-form .columns .gform_wrapper .gform_fields li:nth-child(2), 
    .page-form .columns .gform_wrapper .gform_fields li:nth-child(3), 
    .page-form .columns .gform_wrapper .gform_fields li:nth-child(4), 
    .page-form .columns .gform_wrapper .gform_fields li:nth-child(5), 
    .page-form .columns .gform_wrapper .gform_fields li:nth-child(6), 
    .page-form .columns .gform_wrapper .gform_fields li:nth-child(7) {
        max-width: 50%;
        max-width: calc(50% - 30px);
        padding-right: 0;
    }

    .page-form .columns .gform_wrapper .gform_fields li:nth-child(8) {
        width: 50%;
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 0;
    }

    .page-form .columns .gform_wrapper .gform_fields li:nth-child(8) textarea {
        margin:0;
        height: 656px;
    }

    #page-form .gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
        max-width: 50%;
        max-width: calc(50% - 15px)!important;
    }

    .page-form .columns .gform_wrapper .gform_footer {
        position: absolute;
        bottom: 5px;
        right: 0;
        width: 50%;
    }
}
/*  ==========================================================================
    Global Gravity Forms styling
    ========================================================================== */
.gform_wrapper {
        margin: 0;
        padding: 15px;
        border: 1px solid #659730;
    }
   .gform_wrapper .gform_heading .gform_title {
        margin: 0 0 15px 0;
        font-size: 1.929rem;
        color: #000;
    }
   .gform_wrapper label {
        width: 100%!important;
        color: #659730;
    }
   .gform_wrapper input,.gform_wrapper textarea,.gform_wrapper select {
        width: 100%!important;
        border: 1px solid #659730;
    }
   .gform_wrapper input[type=submit] {
        width: auto!important;
        padding: 20px 50px;
        border: 0;
        background: #659730;
        color: #fff;
    }
   .gform_wrapper input[type=submit]:hover {
        background: #163029;
    }
   .gform_wrapper .ginput_container_consent {
        position: relative;
    }
   .gform_wrapper .ginput_container_consent input {
        width: auto!important;
        position: absolute;
        top: 9px;
        left: 0;
        display: inline-block;
    }
   .gform_wrapper .ginput_container_consent label {
        width: auto!important;
        display: inline-block;
        padding-left: 30px;
    }

/*  ==========================================================================
    Sidebar
    ========================================================================== */

    .sidebar {
        padding-bottom: 3rem;
    }

    .sidebar .button {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        border: 0;
        box-shadow: none;
        padding: 1.5rem;
        margin: 0 0 1rem 0;
        background-color: #659730;
        border: 1px solid #659730;
        color: white;
        font-size: 1.2rem;
        text-align: left;
        font-family: 'Open Sans', sans-serif;
        text-decoration: none;
    }

        .sidebar .button:hover {
            text-decoration: none;
            background-color: #537f25;
            border-color: #537f25;
        }

    .sidebar .button.button--text {
        background-color: transparent;
        border-color: transparent;
        color: #659730;
        padding: 1rem 0;
    }

        .sidebar .button.button--text:hover {
            background-color: transparent;
            border-color: transparent;
            text-decoration: underline;
        }

    .sidebar .button.button--white {
        background-color: white;
        color: #659730;
    }

        .sidebar .button.button--white:hover {
            background-color: #537f25;
            color: white;
        }

    .sidebar .button img,
    .sidebar .button svg {
        width: 25px;
        max-width: 100%;
        height: auto;
    }

    .sidebar .call-cta {
        position: relative;
        display: block;
        margin-bottom: 1rem;
        font-size: 1rem;
        line-height: normal;
        font-family: 'Open Sans', sans-serif;
    }

    .sidebar .call-cta span {
        display: block;
    }

    .sidebar .call-cta span.telephone-number a {
        font-size: 2.8rem;
        color: #659730;
    }   

/*  ==========================================================================
    Info Bar
    ========================================================================== */    

    .info-bar {
        position: relative;
        display: block;
        width: 100%;
        margin: 0;
        padding: 1.5rem;
        background-color: #588739;
        color: #fff;
        line-height: normal;
    }

    .info-bar__title {
        display: block;
        width: 100%;
        margin-bottom: 1rem;
        font-size: 1.4rem;
    }

    .info-bar__content {
        display: block;
        width: 100%;
    }

    .info-bar a {
        color: #fff;
        text-decoration: underline;
    }