/* sticky footer, unless sufficient content to push it off screen */

html,
body {
    height: 100%;
}

body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

main {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}

.footer {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

/* limit size of heading text on large devices */
@media (min-width: 1200px) {
    #rf_heading {
        font-size: 60px;
    }

    #rf_heading .lead {
        font-size: 24px;
    }
}

.req::after {
    content: "\00a0*";
    color: red;
}


/* Custom gradient background utility - follows Bootstrap naming conventions */
.bg-gradient-gold {
    background: -webkit-gradient(linear, left top, left bottom, from(#fef4d2), to(#dfcb82));
    background: linear-gradient(to bottom, #fef4d2 0%, #dfcb82 100%);
}

.nav-item.nav-link {
    color: black;
    font-family: arial;
}

.bg-light {
    background-color: #FFF6D5 !important;
}

.navbar-expand-lg .navbar-collapse {
    font-size: 1.1rem;
    font-weight: 500;
}

#inpgrp_preferred,
#inpgrp_wntcode {
    position: fixed;
    left: 10000px;
}

.btn a {
    color: #000;
}

.btn a:hover {
    color: #f00;
    border: none;
}

main p a,
#main dd a,
.paymentinfo a,
.card-link {
    color: #f00;
}


/* #main p a:hover,
#main dd a:hover,
.paymentinfo a:hover {
    color: #bc3c21;
    border-bottom: 1px solid currentColor;
} */


#navbar1_dropdown,
#navbar1_dropdown1,
#navbar1_dropdown2,
#navbar1_dropdown3,
.nav-item.nav-link {
    font-family: cinzel;
    color: rgba(0, 0, 0, .9);
}

.nav-link {
    font-size: 1rem;
}

/* .display-3 {
	font-size: 4.8vw;
	font-weight: 300;
	line-height: 1.2;
} */


/* .lead {
	font-size: 1.8vw;
	font-weight: 300;
} */

/* dropdown menus (mega menu style) */

.dropdown .dropdown-menu {
    -webkit-animation-name: fadein;
    animation-name: fadein;
    -webkit-animation-duration: 0.9s;
    animation-duration: 0.9s;
}

.dropdown-menu {
    font-size: 0.85rem;
    color: #212529;
    padding: 25px !important;
    -webkit-box-shadow: 0px 8px 8px 0px grey;
    box-shadow: 0px 8px 8px 0px grey;
}

.dropdown-item {
    /* padding: 0.25rem 1.5rem; */
}

.dropdown-menu h5 a {
    color: #f00;
}


.dropdown-item:hover,
.dropdown-item:focus {
    color: #e34b2a;
}

@-webkit-keyframes fadein {
    from {
        opacity: .1;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadein {
    from {
        opacity: .1;
    }

    to {
        opacity: 1;
    }
}

/* for equal height slides*/
.swiper-slide {
    height: auto;
}

/* default for dl text*/
.text-info {
    color: #040404 !important;
}

.footer a {
    font-size: 90%;
}

.footer a:link {
    color: #404040;
}


/* Bootstrap 5 fixes for migrated elements */
/* Fix for form-group which is no longer in Bootstrap 5 */
.form-group {
    margin-bottom: 1rem;
}

/* Support for Bootstrap 4 float utilities if needed */
.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

/* Ensure text-muted works properly with Bootstrap 5 theming */
.text-muted {
    color: #6c757d !important;
}

/* -- */

/* DIRECT OVERRIDES FOR MODAL AND FORM ELEMENTS */
/* These rules forcefully set backgrounds to white with high specificity */

/* Modal backgrounds - force white background */
.modal .modal-content,
.modal .modal-header,
.modal .modal-body,
.modal .modal-footer {
    background-color: white !important;
}

/* Form controls - force white background */
.form-control,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
select,
textarea {
    background-color: white !important;
}

/* Radio and checkbox inputs */
.form-check-input {
    background-color: white !important;
}

/* Prevent any Bootstrap utility classes from overriding these backgrounds */
[class*="bg-"] .modal-content,
[class*="bg-"] .modal-header,
[class*="bg-"] .modal-body,
[class*="bg-"] .modal-footer,
[class*="bg-"] .form-control {
    background-color: white !important;
}

/* Ensure background colors are applied even with Bootstrap theme attributes */
[data-bs-theme="light"] .modal-content,
[data-bs-theme="light"] .modal-header,
[data-bs-theme="light"] .modal-body,
[data-bs-theme="light"] .modal-footer,
[data-bs-theme="light"] .form-control {
    background-color: white !important;
}

/* navbar background */
.navbar.bg-gradient-gold {
    background: -webkit-gradient(linear, left top, left bottom, from(#fef4d2), to(#dfcb82)) !important;
    background: linear-gradient(to bottom, #fef4d2 0%, #dfcb82 100%) !important;
    border: 1px solid #9C8749;
}


/* Style for the offset underline effect on hover */
#toplinks a,
footer a {
    position: relative;
    text-decoration: none;
    color: inherit;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
}

#toplinks a::after,
footer a::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: -4px;
    /* Offset from the text */
    left: 0;
    background-color: #9C8749;
    /* Gold color for toplinks */
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    /* Initially hidden */
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right;
}

#toplinks a:hover::after,
footer a:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    /* Show on hover */
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
}

/* Style for the offset underline effect on hover for main content links */
/* Base link style */
main a {
    position: relative;
    text-decoration: none !important; /* remove default underline */
    color: #f00 !important; /* red text */
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
    font-weight: normal;
}

/* Hover style for text links only (exclude buttons and image links) */
main a:not(.btn):not([role="button"]):not(:has(img)):hover {
    color: #b00 !important;
}

/* Underline animation (for text links only) */
main a:not(.btn):not([role="button"]):not(:has(img))::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px; /* offset from text */
    width: 100%;
    height: 1px;
    background-color: currentColor;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: bottom right;
            transform-origin: bottom right;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

/* Show underline on hover */
main a:not(.btn):not([role="button"]):not(:has(img)):hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: bottom left;
            transform-origin: bottom left;
}



/* Responsive header text size - prevents overlap with logos at small viewport sizes */
@media (max-width: 575.98px) {

    /* Extra small devices */
    #headertext #rf_heading {
        font-size: 28px !important;
    }

    #headertext #rf_heading .lead {
        font-size: 12px !important;
        line-height: 1.2;
    }

    /* Make the logo smaller on smallest screens */
    .header-logo {
        max-width: 70% !important;
        height: auto !important;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {

    /* Small devices */
    #headertext #rf_heading {
        font-size: 36px !important;
    }

    #headertext #rf_heading .lead {
        font-size: 16px !important;
    }
}