/*
FILE: style.css
AUTHOR: Edward G. McKeown
DATE: 2024/09/27
VERSION: 1.0.1
DESCRIPTION:
    Style Sheet for Patriot Thanks.
*/
/* Base modal z-index hierarchy */
.modal-backdrop {
    z-index: 1040 !important;
    opacity: 0.5 !important; /* Ensure backdrop is visible but not too dark */
}

.modal {
    z-index: 1050 !important;
    overflow: hidden !important; /* Prevent scrolling issues */
    padding-right: 0 !important; /* Fix padding issues on some browsers */
}

.modal-content {
    z-index: 1051 !important;
    position: relative !important; /* Ensure proper stacking */
    box-shadow: 0 5px 15px rgba(0,0,0,.5) !important; /* Better visibility */
}

/* Fix for modal dialog positioning */
.modal-dialog {
    margin: 30px auto !important; /* Consistent positioning */
    position: relative !important;
}

/* Terms modal specific styling - keeping your existing styles */
#termsUpdateModal .modal-dialog {
    max-width: 800px;
}

#termsUpdateModal .terms-summary {
    max-height: 300px;
    overflow-y: auto !important; /* Force scroll */
    border: 1px solid #ddd;
    padding: 15px;
    margin: 10px 0;
    background-color: #f9f9f9;
    font-size: 14px;
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
}

#termsUpdateModal .terms-summary h4 {
    color: #333;
    margin-bottom: 15px;
}

#termsUpdateModal .terms-summary h5 {
    color: #555;
    margin-top: 15px;
    font-weight: bold;
}

#termsUpdateModal .terms-summary p {
    margin-bottom: 12px;
}

#scrollMessage {
    padding: 8px;
    border-radius: 4px;
    background-color: #e8f5e9;
}

#termsScrollTarget {
    padding-top: 15px;
    margin-top: 15px;
    border-top: 1px dashed #ddd;
    text-align: center;
    font-weight: bold;
}

/* Additional fixes for modal functionality */

/* Ensure modal body is scrollable */
.modal-body {
    overflow-y: auto !important;
    max-height: calc(90vh - 150px) !important; /* Adjust based on screen size */
    padding: 15px !important;
    position: relative !important;
}

/* Fix modal footer button styling */
.modal-footer {
    display: flex !important;
    justify-content: flex-end !important;
    padding: 15px !important;
    border-top: 1px solid #dee2e6 !important;
    position: relative !important;
}

.modal-footer button {
    min-width: 100px !important;
    position: relative !important;
    z-index: 1052 !important; /* Ensure buttons are clickable */
    margin-left: 10px !important;
}

/* Fix for close button */
.modal .close {
    z-index: 1052 !important;
    position: relative !important;
    opacity: 0.8 !important;
    font-size: 1.5rem !important;
    padding: 0.5rem !important;
}

.modal .close:hover {
    opacity: 1 !important;
}

/* Force modal open state */
body.modal-open {
    overflow: hidden !important;
    padding-right: 15px !important; /* Prevent layout shift */
}

/* Emergency reset button styling */
#emergencyResetBtn {
    position: fixed !important;
    bottom: 10px !important;
    right: 10px !important;
    z-index: 9999 !important;
    background-color: #dc3545 !important;
    color: white !important;
    border: none !important;
    padding: 8px 15px !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
}

/* Mobile-specific fixes */
@media (max-width: 768px) {
    #termsUpdateModal .modal-dialog {
        margin: 10px auto !important;
        max-width: 95% !important;
        width: 95% !important;
    }

    #termsUpdateModal .terms-summary {
        max-height: 200px !important; /* Smaller for mobile */
    }

    .modal-body {
        max-height: calc(80vh - 120px) !important; /* Smaller for mobile */
        padding: 10px !important;
    }

    .modal-footer button {
        min-width: 80px !important;
        padding: 6px 12px !important;
        font-size: 14px !important;
    }
}

* {
    font-family: Georgia, 'Times New Roman', Times, serif;
}
 
body {
    background-image: url("../images/backgroundNew.webp");
    background-attachment: fixed;
    background-repeat:no-repeat;
    background-size:100% 100%;
    z-index: 1;

}

#page_layout {
    width: 100%;
    font-weight:bold;
    margin: 0 auto 2.5% auto;
    border: 2px solid #000000;
    padding: 0;
}

header {
    background: linear-gradient(180deg,rgba(255, 0, 0, 1) 0%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 1) 66%, rgba(0, 0, 255, 1) 100%);
    background-position: center;
    background-size: contain;
    width: 100%;
    margin: 0 0;
    border: 1px solid #000000;
    padding: 0 0;
}

.left-banner {
    width: 20%;
    height: auto;
    margin: 5px;
    padding: 0;
    float: left;
}

.left-banner > a > img {
    width: 100%;
    height: auto;
}

.right-banner {
    width: 60%;
    height: auto;
    margin: 0 0 0 5%;
    padding: 0;
    float: left;
}

.right-banner > h1 {
    font-size: 3vw;
    margin: 6% 0 0 0;
    padding: 0;
    font-weight: bold;
    color: blue;
}

.right-banner > h4 {
    font-size: 2vw;
    margin: 1.2% 0 0 0;
    padding: 0;
    font-weight: bold;
    color: Red;
}

/* Thick red border */
.horizontal-line {
    border: 2px solid deepskyblue;
}

h2 {
    font-family: "Caveat", cursive;
    font-size: 35px;
    font-weight: bolder;
    text-align: center;
    color: #8b0000;
}

h3 {
    font-family: "Caveat", cursive;
    font-weight: 900;
    color: #00008b;
    text-align: center;
}

h5 {
    display: none;
}

.dancing-script {
    font-family: "Dancing Script", cursive;
    text-align: center;
    font-size: 35px;
    font-weight: 500;
    font-style: normal;
  }
  
.caveat {
      font-family: "Caveat", cursive;
      font-style: normal;
      font-size: 25px;
      text-align: left;
}

#menu a:hover {
    font-style: italic;
}

main {
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
}

.container {
    border-radius: 5px;
    background-color: rgba(242, 242, 242, 50%);
    padding: 20px;
    text-align: center;
}

.float_left {
    display: block;
    float: left;
    width: 27%;
    height: auto;
}

.float_right {
    float: right;
    width: 25%;
    height: auto;
}

.float_left_book {
    float: left;
    width: 25%;
    height: auto;
    padding: 3%;
}

#left_img {
    float: left;
    width: 45%;
    padding: 5% 2%;
}

#right_img {
    float: left;
    width: 45%;
    padding: 10% 2%;
}

.left_pane {
    float: left;
    width: 50%;
    padding: 0 2%;
}

.right_pane {
    float: left;
    width: 50%;
    padding: 0 2%;
}

.right_pane img {
    width: 100%;
    height: auto;
}

.military-support-graphic {
    width: 100%;
    max-width: 800px;
    height: auto;
    margin: 0 auto;
    display: block;
}

#home_free {
    width: 50%;
    height: auto;
    display: block;
    margin: 0 auto;
}

#bus-search {
    width: 50%;
    height: auto;
    display: block;
    margin: 0 auto;
}

#bus-add {
    width: 50%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.right {
    display: block;
    width: 75%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

p {
    font-size: 14px;
    text-indent: 2%;
}

.paragraph_style {
    color: #000000;
    font-family: 'Times New Roman', Times, serif;
    font-size: large;
    font-weight: bold;
    text-indent: 2%;
    padding: 0 2%;
    justify-content: center;
}

.military {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: auto;
}

#left_pane .military {
    margin-top: 50px;
}

#right_pane .military {
    margin-top: 100px;
}

.center {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 25%;
}

footer {
    clear: both;
    background: linear-gradient(180deg,rgba(255, 0, 0, 1) 0%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 1) 66%, rgba(0, 0, 255, 1) 100%);
    background-position: center;
    background-size: contain;
    width: 100%;
    margin: 0 0;
    border: 1px solid #000000;
    padding: 0 0;
}

.footer_style {
    padding: unset;
    text-align: center;
    font-style: oblique;
    font-weight: bold;
    color:#0000ff;
}

/* Footer link styles are set below */
a:link {
    color: #b8860b;
    font-family: Roboto, "Helvetica Neue", sans-serif;
}

a:visited {
    color: #000000;
    font-family: Roboto, "Helvetica Neue", sans-serif;
}

a:hover {
    color: #8b0000;
    font-family: Roboto, "Helvetica Neue", sans-serif;
}

a:active {
    color: #9932cc;
    font-family: Roboto, "Helvetica Neue", sans-serif;
}

/* Media Queries are set below */
@media screen and (max-width: 1450px) {
    header {
        background-position: center;
        background-size: contain;
        width: 100%;
        margin: 0 0;
        border: 1px solid #000000;
        padding: 0 0;
    }

    .right-banner {
        width: 60%;
        height: 150px;
        margin: 0 0 0 5%;
        padding: 0;
        float: left;
    }

    .right-banner > h1 {
        margin: 6% 0 0 0;
        padding: 0;
        font-weight: bold;
        line-height: 1;
    }

    .right-banner > h4 {
        margin: 1.2% 0 0 0;
        padding: 0;
        font-weight: bold;
        line-height: 1;
    }
}
@media screen and (max-width: 767px) {
    /* For mobile screens */
    .navbar .dropleft .dropdown-menu {
        left: auto !important;
        right: 0 !important;
        transform: none !important;
    }

    .left-banner {
        width: 20%;
        height: auto;
        margin: 0;
        padding: 0;
        float: left;
    }

    .left-banner > a > img {
        width: 100%;
        height: auto;
    }

    .right-banner {
        width: 60%;
        height: 150px;
        margin: 0 0 0 5%;
        padding: 0;
        float: left;
    }

    .right-banner > h1 {
        margin: 6% 0 0 0;
        padding: 0;
        font-weight: bold;
        line-height: 0.05;
    }

    .right-banner > h4 {
        margin: 1.2% 0 0 0;
        padding: 0;
        font-weight: bold;
        line-height: 0.05;
    }

    .right_pane {
        float: none;
        display: block;
        text-align: left;
        width: 100%;
        margin: 0;
        padding: 14px;
    }
    .left_pane {
        float: none;
        display: block;
        text-align: left;
        width: 100%;
        margin: 0;
        padding: 14px;
    }
    .right_pane img {
        width: 100%;
        height: auto;
    }
    
    #left_img {
        float: left;
        width: 45%;
        padding: 15% 2%;
    }
    
    #right_img {
        float: left;
        width: 45%;
        padding: 20% 2%;
    }
    
    .right {
        display: block;
        width: 75%;
        height: auto;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (max-width: 472px) {
    .left-banner {
        width: 20%;
        height: auto;
        margin: 0;
        padding: 0;
        float: left;
    }

    .left-banner > a > img {
        width: 100%;
        height: auto;
    }

    .right-banner {
        width: 60%;
        height: 100px;
        margin: 0 0 0 5%;
        padding: 0;
        float: left;
    }

    .right-banner > h1 {
        margin: 6% 0 0 0;
        padding: 0;
        font-weight: bold;
    }

    .right-banner > h4 {
        margin: 1.2% 0 0 0;
        padding: 0;
        font-weight: bold;
    }

    .right_pane {
        float: none;
        display: block;
        text-align: left;
        width: 100%;
        margin: 0;
        padding: 14px;
    }

    .left_pane {
        float: none;
        display: block;
        text-align: left;
        width: 100%;
        margin: 0;
        padding: 14px;
    }

    .right_pane img {
        width: 100%;
        height: auto;
    }

    #left_img {
        float: left;
        width: 45%;
        padding: 15% 2%;
    }

    #right_img {
        float: left;
        width: 45%;
        padding: 20% 2%;
    }

    .right {
        display: block;
        width: 75%;
        height: auto;
        margin-left: auto;
        margin-right: auto;
    }
}
