/*!
Theme Name: RC Henderson
Author: RC Henderson
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: rc-henderson

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.
*/
/**NEW CSS*/
@import url('https://fonts.googleapis.com/css2?family=Imperial+Script&display=swap');

section.project-gallery h2 {
    color: #6081C1 !important;
}

.page-id-37 section.banner-section {
    height: 500px;
    background-attachment: fixed;
}

.one-column-section.jackie-bg-blue {
    background-attachment: fixed;
}

.page-id-37 section.banner-section h1 {
    font-family: "Imperial Script", cursive;
    font-size: 90px !important;
    font-weight: 500 !important;
}

.memorial .imgwrp {
    text-align: center;
    margin-top: -165px;
    position: relative;

}

.memorial {
    position: relative;
    padding-bottom: 100px;
}

.memorial::before {
    position: absolute;
    content: '';
    left: 0;
    top: 60px;
    width: 100%;
    height: 50%;
    background-image: url('/wp-content/uploads/2025/06/seamless-horizontal-white-roses-isolated-260nw-2525052511-removebg-preview.png');
    background-position: center;
    background-repeat: repeat;
    background-size: contain;
}

.memorial .imgwrp img {
    border-radius: 50%;
    border: 4px solid #cccccc;
    width: 350px;
    height: 350px;
    object-fit: cover;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
}


/**END HERE*/


/* Global Style*/

.container {
    max-width: 1405px !important;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
ul {
    font-family: "Montserrat", sans-serif;
}

body.home section {
    overflow-x: hidden;
}

.btn-primary {
    background-color: #C1A060;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    min-width: 206px;
    padding: 13px 18px;
    font-size: 18px;
    font-weight: 600;
    display: inline-block;
    text-align: center;
    border-radius: 5px;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    transition: .3s ease;
    border: 2px solid #ffffff00;
    font-size: 13px;
    font-size: clamp(0.8125rem, 0.7591rem + 0.3049vw, 1.125rem);
    font-size: clamp(0.6875rem, 0.6128rem + 0.4268vw, 1.125rem);
}

.btn-primary:hover {
    transform: scale(.95);
    transition: .3s ease;
    background-color: #6081C1;
    border: 2px solid;
}

.content-text {
    font-size: 20px;
    line-height: 1.7;
    font-size: clamp(0.9375rem, 0.8841rem + 0.3049vw, 1.25rem);
}

.content-text p {
    margin-bottom: 0;
}

.section-title {
    font-size: 25px;
    color: #C1A060;
    font-weight: 600;
    font-size: clamp(1.25rem, 1.1966rem + 0.3049vw, 1.5625rem);
}

h1 {
    font-size: 60px !important;
    font-weight: 700 !important;
    color: #fff !important;
    line-height: 1.45 !important;
    text-shadow: 4px 4px 4px rgba(0, 0, 0, .25);
    font-size: 28px !important;
    font-size: clamp(1.75rem, 1.4085rem + 1.9512vw, 3.75rem) !important;
}

.content-kicker {
    font-size: 25px;
    color: #C1A060;
    margin-bottom: .5rem;
    font-size: 16px;
    font-size: clamp(1rem, 0.904rem + 0.5488vw, 1.5625rem);
}

h2 {
    font-size: 45px !important;
    font-weight: 600 !important;
    color: #6081C1 !important;
    font-size: 20px !important;
    font-size: clamp(1.25rem, 0.9832rem + 1.5244vw, 2.8125rem) !important;
}


.text-grey {
    color: #676767 !important;
}

.parallax-section {
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
}

header#masthead {
    background-color: #fff;
}

.sticky {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 999;
}

/* Header */
.site-header.sticky .site-branding img.header-logo {
    max-width: 200px;
    transition: .5s ease;
}

.header-title {
    font-size: 18px;
    color: #5F80C0;
    font-weight: 700;
    margin-bottom: 0;
    font-size: clamp(0.8125rem, -0.1287rem + 1.9608vw, 1.125rem);
}

.address-text a,
.phone-text a {
    font-size: 14.5px;
    color: #676767;
    text-decoration: none;
    font-size: clamp(0.71875rem, 0.0599rem + 1.3725vw, 0.9375rem);
}

.header-address {
    line-height: normal;
    margin-right: -10%;
}

.header-phone {
    line-height: normal;
}

#menu-main-menu {
    line-height: 0;
}

.bottom-header {
    border-top: 2px solid #A6A6A6;
    position: relative;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
}

ul#menu-main-menu li {
    padding: 15px 0;
}

ul#menu-main-menu li a {
    font-weight: 600;
    color: #676767;
    font-size: 16px;
    font-size: 12px;
    font-size: clamp(0.75rem, 0.4828rem + 0.431vw, 1rem);
}

#menu-main-menu .current-menu-item a span {
    position: relative;
}

#menu-main-menu .current-menu-item a span:before {
    content: '';
    background-color: #C1A060;
    width: 100%;
    height: 2px;
    top: -15px;
    left: 0;
    position: absolute;
}

#menu-main-menu .current-menu-item a {
    color: #6081C1;
}

#menu-main-menu .menu-item a:hover {
    color: #6081C1;
    transition: .3s ease;
}

ul#menu-main-menu li a span {
    position: relative;
}

ul#menu-main-menu li a:hover span:before {
    content: '';
    background-color: #C1A060;
    width: 100%;
    height: 2px;
    top: -15px;
    left: 0;
    position: absolute;
}

.site-branding {
    padding: 17px 0 12px;
    overflow-x: hidden;
}

.header-socials a i {
    color: #C1A060;
    font-size: 19px;
    transition: .3s ease;
}

.header-socials a:hover i {
    color: #6081C1;
    transition: .3s ease;
}

.bottom-header .h-menu-col {
    max-width: 1240px;
    width: 100%;
}

.bottom-header .h-socials-col {
    max-width: 140.5px;
}

.header-socials a i.fa-classic.fa-brands.fa-square-facebook {
    font-size: 21px;
}

.header-socials a i.fa-classic.fa-brands.fa-instagram {
    font-size: 21px;
}

.header-socials a i.fa-classic.fa-brands.fa-linkedin-in {
    font-size: 21px;
}

.offcanvas.show #menu-main-menu .current-menu-item a span:before {
    top: -5px;
}

/* Footer */
footer#colophon,
footer#colophon a {
    color: #fff;
}

footer#colophon a {
    text-decoration: none;
}

.site-info {
    background-color: #466AAE;
    padding: 85px 0 70px;
    overflow-x: hidden;
}

.footer-bottom {
    background-color: #6081C1;
}

.quick-links {
    margin-bottom: 0;
}

.quick-links li {
    line-height: 1.7;
}

.footer-address-info {
    line-height: 1.7;
}

.footer-address-info a span {
    white-space: nowrap;
}

.footer-btn a span:before {
    content: url(/wp-content/uploads/2025/05/footer-phone-logo-min.png);
    margin-right: 10px;
}

.footer-btn a span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-btn .button.btn-primary {
    padding-top: 7px;
    padding-bottom: 0px;
    max-width: 291px;
    width: 100%;
}

.footer-address-info a {
    max-width: 275px;
}

.footer-bottom {
    border-top: 3px solid #fff;
}

footer#colophon #menu-main-menu-1 li a:hover {
    text-decoration: underline;
    text-decoration-color: #C1A060;
    text-underline-offset: 5px;
    color: #C1A060;
}

footer#colophon #menu-main-menu-1 .current-menu-item a {
    text-decoration: underline;
    text-decoration-color: #C1A060;
    text-underline-offset: 5px;
    color: #C1A060;
}

/* Banner Section */
section.banner-section {
    height: 735px;
    display: flex;
    align-items: center;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.banner-btn .btn-primary {
    max-width: 377px;
    width: 100%;
}

/**
.dark-bg-overlay {
    background-blend-mode: overlay;
    background-color: rgba(0, 0, 0, .5);
}
*/
section.banner-section h1 {
    font-family: "Open Sans", sans-serif;
}

section.banner-section.title-bg h1 {
    margin-inline: auto;
    padding: 5px 40px;
}

/* Custom Stairs Section */
div#custom-stairs {
    scroll-margin-top: 500px;
}

#traditional-staircase:before,
#curved-staircase:before,
#customized-staircase:before,
#basement-staircase:before {
    content: '';
    display: block;
    height: 1000px;
    margin: -1000px 0 0 0;
}

.swiper {
    padding: 20px 0;
}

.swiper-slide {
    width: 33.3333%;
    /* Show 3 at a time */
    padding: 0 1px;
    box-sizing: border-box;
}

.card {
    border: none;
    border-radius: 0;
    overflow: hidden;
}

.card-body h3 {
    /* font-size: 20px; */
    font-weight: 600;
    font-size: clamp(1.25rem, 1.0899rem + 0.9146vw, 2.1875rem);
}

section.custom-staircases-section {
    padding: 93px 0 110px;
}

.card-body:hover {
    background: rgba(0, 0, 0, 0.45);
    transition: .3s ease;
}

.custom-staircases-section .card {
    border-radius: 0;
    border: unset;
}

.card-body:hover .card-btn {
    opacity: 1;
    padding: 13px 18px;
    margin-top: 1rem;
    max-height: 60px;
}

.card-btn {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 18px;
    transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.5s ease;
}

.swiper-navigation {
    position: relative;
    top: 46%;
}

.swiper-navigation .custom-arrow {
    width: 42px;
    height: 42px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
}

.swiper-button-prev.custom-arrow:after {
    content: '\f053';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    -webkit-font-smoothing: antialiased;
    font-size: 8px;
    -webkit-text-stroke: 1px #000000;
}

.swiper-button-next.custom-arrow:after {
    content: '\f054';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    -webkit-font-smoothing: antialiased;
    font-size: 8px;
    -webkit-text-stroke: 1px #000000;
}

.swiper-button-prev.custom-arrow {
    left: -75px;
    /* Adjust as needed */
}

.swiper-button-next.custom-arrow {
    right: -75px;
    /* Adjust as needed */
}

/* Replace default arrows with smaller chevrons */
.custom-arrow::after {
    font-size: 16px;
    color: #000;
}


/* Reviews Section */
.review-heading {
    font-size: 18px;
    font-weight: 600;
}

section.reviews-section a {
    max-width: 569px;
    width: 100%;
}



/* Text with Image Section */
section.text-with-image-section {
    padding: 80px 0 85px;
    background-position: 100%;
    background-size: cover;
    background-repeat: no-repeat;
}

.content-desc {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.7;
    font-size: 15px;
    font-size: clamp(0.9375rem, 0.8841rem + 0.3049vw, 1.25rem);
}

.content-desc p:first-child {
    margin-bottom: 30px;
}

section.text-with-image-section.text-col-right {
    padding: 190px 0 175px;
    /*     margin-bottom: 40px; */
}

section.text-col-right .section-text-wrapper {
    background-color: rgb(255 255 255 / 80%);
    padding: 50px 35px 30px;
}

section.text-col-right .section-text-wrapper h2 {
    color: #6081C1 !important;
}

section.text-col-right .section-text-wrapper .content-desc {
    color: #676767 !important;
}

section.text-col-right .col-md-6 {
    max-width: 855px;
    width: 100%;
    margin-left: auto;
}

.white-bg h2 {
    color: #6081C1 !important;
}

.white-bg .content-desc {
    color: #676767 !important;
}

section.text-with-image-section img {
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    border: 4px solid rgba(0, 0, 0, .2);
    max-width: 671px;
    width: 100%;
    height: 604px;
    object-fit: cover;
    border: 4px solid #cccccc;
}

section.text-with-image-section.img-style .content-desc {
    margin-right: 31px !important;
}

section.text-with-image-section iframe {
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
}

/* Business Numbers */
section.business-numbers-section {
    font-family: 'Montserrat';
    padding: 60px 0 90px;
}

.stat.counted {
    font-size: 95px;
    font-weight: 700;
    color: #C1A060;
    font-size: clamp(2.1875rem, 1.5473rem + 3.6585vw, 5.9375rem);
}

.stat-label {
    font-size: 30px;
    font-weight: 600;
    font-size: clamp(0.75rem, 0.5579rem + 1.0976vw, 1.875rem);
}

.business-numbers-section .column-1 {
    max-width: 20%;
}

.business-numbers-section .column-2 {
    max-width: 40%;
}

.business-numbers-section .column-3 {
    max-width: 20%;
}

.business-numbers-section .column-3 .stat-label {
    display: flex;
    flex-direction: column;
}

.business-numbers-section .column-3 .stat-label:before {
    content: url(/wp-content/uploads/2025/05/trophy-min.png);
    width: 100%;
}

/* Gallery Section */
.gallery-swiper {
    position: relative;
    padding: 40px 0 130px;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.swiper-slide img {
    width: 100%;
    height: 433px;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    border: 4px solid rgba(0, 0, 0, .2);
    object-fit: cover;
}

.swiper-pagination-bullet-active {
    background-color: #C1A060 !important;
}

.swiper-pagination-bullet {
    width: 16px !important;
    height: 16px !important;
}

section.gallery-section {
    padding: 94px 0;
}


.swiper-pagination {
    bottom: 50px !important;
    bottom: 8% !important;
}

/* Project Gallery Page*/
.project-gallery-swiper {
    position: relative;
    padding: 0px 0 130px;
    max-width: 1010px;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    margin-inline: auto;
}

.project-gallery .swiper-slide img {
    width: 100%;
    height: 650px;
    object-fit: cover;
    max-width: 850px;
}

section.project-gallery {
    padding: 80px 0 0;
}

.project-gallery-swiper .swiper-button-prev.custom-arrow {
    left: 5px;
}

.project-gallery-swiper .swiper-button-next.custom-arrow {
    right: 5px;
}


.project-gallery .swiper-navigation {
    position: relative;
    top: -310px;
}

.gallery-filters {
    text-align: center;
    margin-bottom: 30px;
}

.gallery-filters button.active {
    background-color: #6081C1;
    border: 2px solid;
}

.gallery-block {
    display: none;
    margin-bottom: 40px;
}

.gallery-block.active {
    display: block;
}

body .foogallery.fg-light.fg-shadow-outline .fg-item-inner {
    border: 4px solid #cccccc;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
}


/* Contact Form Section */
section.contact-form-section {
    padding: 130px 0 100px;
    background-position: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 25px;
}

div#input_1_8 input {
    box-shadow: unset;
}

.contact-form-section .content-desc {
    color: #676767;
    max-width: 621px;
}

.contact-form-wrapper {
    padding: 50px 50px 20px;
    background-color: rgb(255 255 255 / 80%);
    max-width: 662px;
}

body .gform_wrapper .gform_body {
    font-family: 'Montserrat' !important;
}

body .gform_wrapper.gravity-theme .ginput_container_address span {
    flex: 0 0 33.33%;
}

body .gform_wrapper .gform_body input,
body .gform_wrapper .gform_body textarea,
body .gform_wrapper .gform_body select {
    font-size: clamp(0.9375rem, 0.8418rem + 0.3401vw, 1.25rem) !important;
    border: unset;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    border-radius: 5px;
    padding: 11px !important;
    color: #666666;
}

body .gform_wrapper .gform_body fieldset {
    font-size: clamp(0.9375rem, 0.8418rem + 0.3401vw, 1.25rem) !important;
    color: #666666;
}

body .gform_wrapper .gform_body label.gfield_label.gform-field-label,
body .gform_wrapper.gravity-theme .gfield_label {
    font-size: clamp(0.9375rem, 0.8418rem + 0.3401vw, 1.25rem) !important;
    color: #666666;
}

body .gform_wrapper .gform_body .gfield_radio label {
    font-size: clamp(0.9375rem, 0.8418rem + 0.3401vw, 1.25rem) !important;
    color: #666666;
}

div.gfield_radio input[type="radio"]:checked {
    filter: grayscale(1);
}


input#gform_submit_button_1 {
    background-color: #C1A060;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    min-width: 206px;
    padding: 13px 18px;
    font-size: 18px;
    font-weight: 600;
    display: inline-block;
    text-align: center;
    border-radius: 5px;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    margin-block: auto;
    transition: .3s ease;
    border: 2px solid #ffffff00;
}

input#gform_submit_button_1:hover {
    transform: scale(.95);
    transition: .3s ease;
    background-color: #6081C1;
    border: 2px solid;
}

div#field_submit {
    justify-content: end;
}

body .gform_wrapper.gravity-theme .ginput_container_address {
    row-gap: 16px;
}

body .gform_wrapper ::placeholder,
body .gform_wrapper ::-webkit-input-placeholder,
body .gform_wrapper input[placeholder] {
    color: #666666;
}

body .gform_wrapper iframe {
    transform: scale(.8);
    transform-origin: 0;
}

div#input_1_8 {
    display: flex;
    justify-content: space-between;
}

div#input_1_8 .gchoice {
    width: 100%;
    display: flex;
    align-items: baseline;
    gap: 5px;
}


/* One column Section */
section.one-column-section {
    padding: 95px 0;
    background-size: cover;
    background-repeat: no-repeat;
}

.one-col-text-wrapper {
    max-width: 1374px;
}

body .ti-footer {
    margin-top: 55px !important;
}

body .ti-footer .ti-rating-text span,
body .ti-footer .ti-rating-text span strong {
    color: #676767 !important;
}

.one-col-text-wrapper .content-desc {
    margin-bottom: 35px;
}

body .ti-widget.ti-goog .ti-review-item>.ti-inner {
    border: unset !important;
    border-radius: 0 !important;
}

.one-col-img img {
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    border: 4px solid rgba(0, 0, 0, .2);
    max-width: 500px;
    width: 100%;
    object-fit: cover;
    border: 4px solid #cccccc;
}

/* Pre Footer */
.socmed-followers .socmed-count {
    font-size: 35px;
    font-weight: 700;
    color: #6081C1;
}

.socmed-followers .socmed-label {
    font-size: 20px;
    color: #31313F;
}

img.pre-footer-logo {
    max-width: 223px;
}

section.pre-footer-section {
    padding: 110px 0 100px;
}

.pre-footer-btn {
    margin-top: 60px;
}

.socmed-followers {
    font-family: 'Montserrat';
}

.pre-footer-btn .btn-primary {
    max-width: 301px;
    width: 100%;
}

/* IG feed */
body .eapps-instagram-feed-posts-grid-load-more-container.eapps-instagram-feed-posts-grid-load-more-enabled {
    display: none;
}

body .eapps-instagram-feed-header-stats-item-value {
    font-size: 35px;
    font-size: clamp(1.0625rem, 0.8704rem + 1.0976vw, 2.1875rem);
}

body .eapps-instagram-feed-header-stats-item {
    margin-right: 30px;
}

body .eapps-instagram-feed-header-stats-item-label {
    font-size: 20px;
    color: #31313F;
    margin-top: 10px;
    font-size: clamp(0.6875rem, 0.5915rem + 0.5488vw, 1.25rem);
}

.eapps-instagram-feed-header-follow-button-label {
    font-size: clamp(0.8125rem, 0.7591rem + 0.3049vw, 1.125rem) !important;
}

body .eapps-instagram-feed-header.es-header {
    font-family: 'Montserrat' !important;
}

body .es-header-user-full-name {
    font-size: 25px;
    line-height: normal;
    font-size: clamp(0.875rem, 0.7576rem + 0.6707vw, 1.5625rem);
}

body img.eapps-instagram-feed-header-user-picture.es-header-user-picture {
    width: 75px;
    height: 75px;
}

body .eapps-instagram-feed-header-user-picture-wrapper {
    width: 83px;
    height: 83px;
}

a.eapps-instagram-feed-header-follow-button.es-header-follow-button {
    text-transform: uppercase;
    text-decoration: none;
    min-width: 206px;
    padding: 13px 18px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    border-radius: 5px;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    height: 57px;
    justify-content: center;
    transition: .3s ease;
    border: 2px solid #ffffff00;
}

a.eapps-instagram-feed-header-follow-button.es-header-follow-button:hover {
    transform: scale(.95);
    transition: .3s ease;
    background-color: #6081C1 !important;
    border: 2px solid;
}

body .eapps-instagram-feed-header-inner {
    max-width: 975px;
}

.header-btn a {
    white-space: nowrap;
    min-width: max-content;
}

.phone-text {
    white-space: nowrap;
}

section.one-column-section.instagram-feed {
    padding-top: 0;
}

.row.header-right-col-row {
    margin-right: -5%;
}

/* Testimonial Page */
/* .wpmtst-testimonial.testimonial {
    background-color: #466aae;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    transition: .3s ease;
    margin: 45px 0 !important;
    color: #fff !important;
} */

body .wpmtst-testimonial-field.testimonial-field.testimonial-name {
    color: #c1a060;
}

.strong-view.wpmtst-bold .wpmtst-testimonial-content {
    font-size: 25px !important;
}

.wpmtst-testimonial-field.testimonial-field.testimonial-name {
    margin-bottom: 0 !important;
}

.wpmtst-testimonial-field.testimonial-field.testimonial-company {
    line-height: 1 !important;
    font-size: 17px !important;
}



.strong-view.wpmtst-modern .wpmtst-testimonial-image img {
    border-radius: 0 !important;
}

body .strong-view ul.simplePagerNav li.currentPage a {
    text-decoration: none;
    background: #466aae;
    color: #fff;
}

body .strong-view ul.simplePagerNav li a {
    color: #676767;
}

body .strong-view ul.simplePagerNav li a:hover {
    background: #466aae;
    color: #fff;
}

/*  */
section.text-with-image-section.text-col-right.wide-content .text-cont-right {
    max-width: 1057px;
}

section.text-with-image-section.white-bg.text-col-right.wide-content {
    background-size: cover;
    background-position: bottom;
}

section.text-with-image-section.text-col-right.wide-content {
    padding: 210px 0 100px;
    position: relative;
}

/* Cards Section*/
section.cards-section {
    padding: 80px 0 85px;
}

.card-item {
    background: linear-gradient(to bottom left, #5579bb 50%, #6081c1 50%);
    background-size: 200% 200%;
    transition: background-position 0.5s ease;
    cursor: pointer;
    background-position: bottom left;
    border-radius: 5px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
}

.card-item:hover {
    background-position: top right;
}

/* Text with Carousel */

.carousel-col-swiper {
    overflow: hidden;
}

section.text-with-carousel-section .carousel-col {
    position: relative;
}

section.text-with-carousel-section .carousel-col .swiper-pagination {
    bottom: -30px !important;
}

section.text-with-carousel-section {
    padding: 80px 0 85px;
    background-position: 100%;
    background-size: cover;
    background-repeat: no-repeat;
}

section.text-with-carousel-section .carousel-col img {
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    border: 4px solid rgba(0, 0, 0, .2);
    max-width: 671px;
    width: 100%;
    height: 604px;
    object-fit: cover;
    border: 4px solid #cccccc;
}

/* Card with Carousel */
section.cards-with-carousel-section {
    padding: 80px 0 85px;
}

section.cards-with-carousel-section .card-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

section.cards-with-carousel-section .card-items .card-item {
    flex: 1 1 calc(20% - 20px);
    max-width: calc(20% - 20px);
    min-width: 250px;
    padding: 2rem;
}

.card-title h3 {
    font-size: 25px;
}

section.cards-with-carousel-section .card-desc.content-text {
    font-size: 18px;
}

section.cards-with-carousel-section .gallery-swiper {
    padding: 0;
    overflow: unset;
}

section.cards-with-carousel-section .carousel-col .swiper-pagination {
    bottom: -40px !important;
}

section.one-column-section.jackie-bg-blue {
    background-color: #ccdaee;
}

.jackie-bg-blue span.life-span {
    color: #C1A060;
    font-size: 25px;
    margin-top: -25px;
    display: block;
}

.jackie-vid-wrapper video {
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .2);
    border: 4px solid #cccccc;
    width: 100%;
    height: auto;
    max-width: 800px;
}

section.error-404.not-found {
    padding: 10% 0;
    background: #5579bb;
    background-position: 12% 32%;
    background-size: 200% 230%;
}

section.error-404.not-found h1 {
    font-size: clamp(6.25rem, 5.1829rem + 6.0976vw, 12.5rem) !important;
}

section.text-with-image-section ul {
    list-style-type: none;
    padding-left: 0;
    text-align: left;
}

section.text-with-image-section ul li {
    background: url(/wp-content/uploads/2025/05/RCHenderson-fav-min.png);
    background-repeat: no-repeat;
    padding-left: 47px;
    background-size: 35px 40px;
    margin-bottom: 1rem;
}

section.text-with-carousel-section ul li {
    background: url(/wp-content/uploads/2025/05/RCHenderson-fav-min.png);
    background-repeat: no-repeat;
    padding-left: 47px;
    background-size: 35px 40px;
    margin-bottom: 1rem;
}

section.text-with-carousel-section.white-bg.pt-0 {
    background-color: #6081C1;
}

section.text-with-carousel-section .content-desc.text-white.pb-2.me-lg-3 li {
    color: #fff;
}

.alternate-heading .col {
    display: flex !important;
    flex-direction: column-reverse;
    justify-content: flex-end;
}

section.text-with-carousel-section ul {
    list-style-type: none;
    padding-left: 0;
    text-align: left;
}

.banner-section .subtitle {
    font-size: 30px;
    font-weight: 600;
}

section.banner-section p {
    text-shadow: 4px 4px 4px rgb(0 0 0 / 35%);
}

section.one-column-section.text-wrapper-white .one-col-text-wrapper {
    background-color: rgb(255 255 255 / 85%);
    padding: 55px 45px 5px;
    width: 100%;
    max-width: 880px;
    margin-inline: auto;
}

section.one-column-section.text-wrapper-white {
    padding: 130px 0;
}

section.parallax-bg {
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;

}

section.bg-overlay {
    background-color: rgb(255 255 255 / 75%);
    background-blend-mode: overlay;
    padding: 150px 0;
}


.bg-overlay p {
    color: #000 !important;
}

section.text-with-image-section {
    position: relative;
}

section.one-column-section.text-wrapper-white a.button.btn-primary {
    margin-bottom: 3rem;
}

section.bg-25 {
    background-position: 100% 25%;
}

.footer-bottom a,
.footer-bottom p {
    font-size: clamp(0.75rem, 0.7073rem + 0.2439vw, 1rem);
}



@media (max-width: 1660px) {
    section.custom-staircases-section .container {
        padding-inline: 6%;
    }

    .swiper-button-next.custom-arrow {
        right: -75px;
        right: -5%;
    }


    .swiper-button-prev.custom-arrow {
        left: -75px;
        left: -5%;
    }

    .footer-address-info a span {
        white-space: unset;
    }

}

@media (max-width: 1440px) {
    .header-address {
        line-height: normal;
        margin-right: unset;
    }

    section.text-with-image-section.img-style .content-desc {
        margin-right: 0 !important;
    }

    .video-wrapper {
        position: relative;
        padding-bottom: 70%;
        height: 0;
    }

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

    .bottom-header .h-socials-col {
        margin: auto;
    }

    #menu-main-menu .current-menu-item a span:before {
        top: -17px;
    }


}

@media (max-width: 1280px) {

    section.reviews-section .revs-col {
        width: 100%;
    }

    section.reviews-section {
        background-repeat: no-repeat;
        background-size: cover;
    }

    section.reviews-section .col-md-6 {
        margin-inline: auto;
    }

    .g-badges {
        max-width: 625px !important;
        width: 100% !important;
    }

}

@media (max-width: 1205px) {
    section#get-estimate #field_submit {
        justify-content: center;
        grid-column: span 12;
    }

    section#get-estimate div#input_1_7 {
        width: 100%;
        max-width: 240px;
        margin: auto;
    }

    section#get-estimate div#field_1_7 {
        grid-column: span 12;
    }

}

@media (max-width: 1090px) {
    .header-right-col-row {
        justify-content: center !important;
    }

    .row.header-right-col-row {
        margin-right: 0;
    }

    section.custom-staircases-section .card {
        height: 350px !important;
    }

    section.text-with-carousel-section .carousel-col img {
        height: 500px;
    }


}

@media (max-width: 1024px) {
    .video-wrapper {
        padding-bottom: 100%;
    }

    section.banner-section {
        height: 600px;
    }

    .header-right-col-row {
        justify-content: space-evenly !important;
    }

    .contact-form-wrapper {
        padding: 50px 30px 20px;
    }

    .cards-section .card-item {
        padding-inline: 1rem !important;
    }

    .site-info {
        padding: 55px 0 55px;
    }

    section.text-with-carousel-section {
        padding: 45px 0 45px;
    }

    section.one-column-section.text-wrapper-white {
        padding: 90px 0;
    }

    .site-info img.footer-logo {
        max-width: 300px;
    }


}

@media (max-width: 991px) {
    .bottom-header .h-menu-col {
        max-width: fit-content;
    }

    .bottom-header .h-socials-col {
        margin-right: auto;
        margin-left: 0;
    }

    .bottom-header {
        padding: 5px;
    }

    section.custom-staircases-section .card {
        height: 400px !important;
    }

    section.custom-staircases-section .container {
        padding-inline: 9%;
    }

    .swiper-button-next.custom-arrow {
        right: -8%;
    }

    .swiper-button-prev.custom-arrow {
        left: -8%;
    }

    .header-phone-col {
        margin-left: -8%;
    }

    .row.header-right-col-row {
        margin-left: -8%;
    }

    .phone-text {
        margin-bottom: 10px;
    }

    .footer-address-info {
        justify-content: center !important;
    }

    section.banner-section {
        height: 540px;
    }


}


@media (max-width: 767px) {
    .site-header .header-address {
        display: none !important;
    }

    #masthead .header-phone {
        display: none !important;
    }

    section.custom-staircases-section .container {
        padding-inline: 5%;
    }

    .swiper-button-next.custom-arrow {
        right: 5px;
    }

    .swiper-button-prev.custom-arrow {
        left: 5px;
    }

    .row.header-right-col-row {
        margin-left: unset;
    }

    .header-phone-col {
        margin-left: unset;
    }

    .header-btn {
        max-width: fit-content;
        margin-left: auto;
    }

    .business-numbers-section .column-1 {
        max-width: 100%;
        flex: 0 0 100%;
        margin-bottom: 1rem;
    }

    .business-numbers-section .column-2 {
        max-width: 100%;
        flex: 0 0 100%;
        margin-bottom: 2rem;
    }

    .business-numbers-section .column-3 {
        max-width: 100%;
        flex: 0 0 100%;
    }

    section.custom-staircases-section {
        padding: 40px 0 45px;
    }

    section.text-with-image-section {
        padding: 40px 0 50px;
    }

    .contact-form-section .content-desc {
        margin-inline: auto;
    }

    .contact-form-section .contact-form-wrapper {
        margin-inline: auto;
    }

    .site-info {
        padding: 40px 0 40px;
    }

    .footer-btn {
        margin-inline: auto;
        max-width: fit-content;
    }

    section.banner-section {
        height: 460px;
    }

    section.text-with-carousel-section .carousel-col img {
        height: 375px;
    }

}

@media (max-width: 430px) {
    section.text-with-image-section img {
        height: 400px;
    }

    section.text-col-right .section-text-wrapper {
        padding: 30px 15px 0px;
    }

    section {
        padding: 35px 0 50px !important;
    }

    .banner-btn .btn-primary {
        max-width: 300px;
    }

    div#input_1_8 {
        display: block;
    }


    .header-btn {
        margin-right: -17px;
    }
}



/*Back to Top */

#back-to-top {
    display: inline-block;
    background-color: #c1a060;
    width: 45px;
    height: 45px;
    text-align: center;
    border-radius: 50%;
    position: fixed;
    bottom: 20px;
    right: 40px;
    -webkit-transition: background-color .3s, opacity .5s, visibility .5s;
    -o-transition: background-color .3s, opacity .5s, visibility .5s;
    transition: background-color .3s, opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
}

#back-to-top::after {
    content: "\f077";
    font-family: FontAwesome;
    font-weight: normal;
    font-style: normal;
    font-size: 10px;
    line-height: 45px;
    color: #fff;
    -webkit-text-stroke: 1px #fff;
}

#back-to-top:hover {
    cursor: pointer;
    background-color: #6686c3;
}

#back-to-top:active {
    background-color: #555;
}

#back-to-top.show {
    opacity: 1;
    visibility: visible;
}

/* End back to top */