/* Override default styles from template */
html {
  font-size: 14px;
}

/* _Layout.cshtml styles */
a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

a {
    color: #0077cc;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 60px;
}

/* End: _Layout....      */

@media (min-width: 768px) {
    
    html { font-size: 16px; }

    /* Begin - Main Menu */
    .navigation-row {
        display: flex;
        justify-content: center;
        float: unset;
    }
    #nav li a {
        font-size: 18px !important;
    }
    /* End - Main Menu */

    /* Begin - Header */
    #header .container {
        width: 100% !important;
    }
    /* End - Header */

    /* Begin - Top Menu */
    .top-menu {
        margin-top: 20px !important
    }
    /* Search Button at top */
    .search-holder {
        padding-top: 13px !important;
    }
    /* End - Top Menu */

    /* Begin - Home Page */
    .heading-center strong.title {
        font: 400 35px / 18px 'Poppins', sans-serif;
    }
    /* End - Home Page */
}

@media (max-width: 767px) {
    /* Begin - Home Page */
    .heading-center strong.title {
        font: 400 25px / 18px 'Poppins', sans-serif;
    }
    /* End - Home Page */
}

@media (min-width: 1199px) {
    /* Begin - Owl-Carousel (Rotating Images) on home page */
    #banner .owl-carousel .owl-nav button.owl-next {
        top: 100px;
    }
    #banner .owl-carousel .owl-nav button.owl-prev {
        top: 100px;
    }
    /* End - Owl-Carousel (Rotating Images) on home page */
}

/* Begin - Prayer Timings Section */

.timing-box .text-holder {
    padding: 20px 0 0 0;
    line-height: 2;
}
.timing-box .shape-1:before {
    transform: rotate(90deg) !important
}
.timing-box .shape-1:after {
    transform: rotate(90deg) !important;
    background-color: #f5deb3 !important;
}
/* End - Prayer Timings Section */

    .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
        box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
    }

    html {
        position: relative;
        min-height: 100%;
    }

    body {
        margin-bottom: 60px;
    }

    /* Begin - Home Gallery styles on Home Page */

    .home-gallery .dx-tileview {
        position: relative;
        margin: auto;
        left: 60px;
        /*right: 0;
    width: 50%;*/
    }

    /*.dx-tileview-wrapper*/


    .home-gallery .dx-widget {
        line-height: unset !important;
    }

    .home-gallery .dx-scrollable-container {
        height: unset !important;
        /*background: url(../images/our-vision-bg.jpg) no-repeat left top/cover;*/
        background: url(../images/our-vision-bg.jpg);
    }

    .home-gallery .dx-scrollable-content {
        background: url(../images/our-vision-bg.jpg);
    }

    .home-gallery .gallery-widget-container {
        margin-right: 240px;
    }

    #gallery {
        margin: auto;
        max-width: 450px;
    }

    .home-gallery .dx-tile-content {
        height: 100%;
        padding: 0;
        position: relative;
    }

        .home-gallery .dx-tile-content .image {
            height: 100%;
            width: 100%;
            background-position: center;
            background-size: cover;
            padding: 10px;
            display: block;
        }

    .home-gallery .dx-tile {
        border: 1px solid #999;
    }

        .home-gallery .dx-tile.dx-state-hover {
            border-color: #eee;
        }

    .home-gallery .dx-tile-content .gallery-img-title {
        font-size: 12px;
        position: absolute;
        background-color: black;
        color: white;
        opacity: 0.6;
        padding: 2px;
        left: 9px;
        top: 9px;
    }

    .dx-gallery .dx-gallery-nav-button-next, .dx-gallery .dx-gallery-nav-button-prev {
        height: 10% !important;
        top: 45% !important;
    }

        .dx-gallery .dx-gallery-nav-button-next.dx-state-hover:after, .dx-gallery .dx-gallery-nav-button-prev.dx-state-hover:after {
            /*background-color: rgba(51,122,183,.5)*/
            background-color: #ffad05 !important;
        }

    #photo-gallery {
        /* min-height: 20em; */
        overflow: hidden;
    }

        #photo-gallery .dx-gallery-item-image {
            /* min-height: 100%; */
            /* min-height: 20em; */
            max-height: 100%;
            min-height: 1px;
            max-width: 100%;
            height: auto;
            margin: auto;
        }

        #photo-gallery .dx-gallery-item-content {
            align-items: center;
        }

    /* End - Home Gallery styles on Home Page */

    /* Begin - Recaptcha Styles */
    .contact-form-recaptcha {
        float: right;
        padding-bottom: 15px;
    }
    /* End - Recaptcha Styles */

    /* Begin - Error/Message/Display */
    .message-content-block {
        width: 100%;
        margin: 5px;
        padding-bottom: 15px;
    }
    .message-content-block button {
        height: 25px !important;
        float: right;
    }
    /* End - Error/Message/Display */

    /* Begin - DevExtreme Popup Styles */
    .dx-popup-title.dx-toolbar {
        background-color: #ffad05;
    }

    .dx-popup-content {
        background-color: #ccc;
    }

    /* End = DevExtreme Popup Styles */

    /* Begin - Details Section on multiple pages e.g. Announcement, Events */
    #details-section {
        border-color: transparent;
    }
    /*#details-section .dx-htmleditor {
        border-color: transparent;
    }*/
    #details-section img {
        max-width: 99%;
        height: auto;
        width: auto\9; /* ie8 */
    }
    /* End - Details Section on multiple pages e.g. Announcement, Events */

    /* Begin - Events Page */
    .event-img {
        max-width: 99%;
        height: auto;
        width: auto\9; /* ie8 */
    }
    /* End - Events Page */

    /* Begin - Common */
    .cf-box .frame span.weekday {
        font-size: 20px;
    }
    .cf-box .frame span.datenum {
        font-weight: bolder;
        font-size: 45px;
        color: #ffad05;
    }
    .cf-box .frame span.monthofyear {
        font-size: 20px;
    }
    /* End - Common */

/* Home Announcements + Events headings: match announcement ticket media strip */
.home-announcements-section .heading-center,
.home-announcements-section + .blog-section .heading-center,
.home-events-section .heading-center {
    margin-bottom: 20px;
}

.home-announcements-section .heading-center a.home-page-heading-link,
.home-announcements-section + .blog-section .heading-center a.home-page-heading-link,
.home-events-section .heading-center a.home-page-heading-link {
    display: block;
    text-decoration: none !important;
    color: inherit;
}

.home-announcements-section .heading-center a.home-page-heading-link:hover strong.title,
.home-announcements-section .heading-center a.home-page-heading-link:focus strong.title,
.home-announcements-section + .blog-section .heading-center a.home-page-heading-link:hover strong.title,
.home-announcements-section + .blog-section .heading-center a.home-page-heading-link:focus strong.title,
.home-events-section .heading-center a.home-page-heading-link:hover strong.title,
.home-events-section .heading-center a.home-page-heading-link:focus strong.title {
    color: #ffad05 !important;
}

.home-announcements-section .heading-center a.home-page-heading-link:focus-visible,
.home-announcements-section + .blog-section .heading-center a.home-page-heading-link:focus-visible,
.home-events-section .heading-center a.home-page-heading-link:focus-visible {
    outline: 2px solid #ffad05;
    outline-offset: 2px;
    border-radius: 12px 12px 0 0;
}

.home-announcements-section .heading-center strong.title,
.home-announcements-section + .blog-section .heading-center strong.title,
.home-events-section .heading-center strong.title {
    background-color: #1f1f1f !important;
    color: #fff !important;
    border-bottom: 4px solid #ffad05;
    box-sizing: border-box;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

/* DCA-style ticket cards: home announcements + home events */
.home-announcements-section .announcements-stack.row,
.home-events-section .announcements-stack.row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.home-announcements-section .announcements-stack.row:before,
.home-announcements-section .announcements-stack.row:after,
.home-events-section .announcements-stack.row:before,
.home-events-section .announcements-stack.row:after {
    display: none;
}

.home-announcements-section .announcements-stack > [class*="col-"],
.home-events-section .announcements-stack > [class*="col-"] {
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;
    float: none;
}

.home-announcements-section .announcement-ticket-card.vision-box,
.home-events-section .announcement-ticket-card.vision-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 390px;
    flex: 0 0 auto;
    float: none;
    padding: 0;
    overflow: hidden;
    text-align: left;
    border-radius: 12px;
}

/* Events: natural height when stacked; equal row height when multiple columns (≥768px) */
.home-events-section .announcement-ticket-card.vision-box {
    height: auto;
    flex: 0 0 auto;
}

@media (min-width: 768px) {
    .home-events-section .announcements-stack.row {
        align-items: stretch;
    }

    .home-events-section .announcement-ticket-card.vision-box {
        flex: 1 1 auto;
        height: 100%;
        min-height: 0;
    }
}

.home-announcements-section .announcement-ticket-media {
    position: relative;
    flex-shrink: 0;
    height: 100px;
    min-height: 100px;
    max-height: 100px;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: calc(14px * 1.25);
    padding: calc(14px * 1.25) calc(16px * 1.25);
    background: #1f1f1f;
    overflow: hidden;
}

.home-announcements-section .announcement-ticket-date-badge,
.home-events-section .home-event-ticket-date-on-image .announcement-ticket-date-badge {
    position: static;
    flex: 0 1 auto;
    min-width: 0;
    margin: 0;
    padding: 10px 18px;
    max-width: calc(100% - 64px - (14px * 1.25));
    box-sizing: border-box;
    font: 600 15px/1.35 'Poppins', sans-serif;
    letter-spacing: normal;
    text-transform: none;
    color: #161514;
    background: #ffad05;
    border-radius: 9999px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    align-self: center;
}

.home-announcements-section .announcement-ticket-icon,
.home-events-section .home-event-ticket-date-on-image .announcement-ticket-icon {
    flex-shrink: 0;
}

.home-announcements-section .announcement-ticket-icon .fa,
.home-events-section .home-event-ticket-date-on-image .announcement-ticket-icon .fa {
    display: inline-block;
    width: 64px;
    height: 64px;
    margin: 0;
    line-height: 64px;
    font-size: 28px;
    text-align: center;
    color: #161514;
    background: #ffad05;
    border-radius: 50%;
    position: relative;
}

.home-announcements-section .announcement-ticket-body,
.home-events-section .announcement-ticket-body {
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    padding: calc(18px * 1.25) calc(16px * 1.25) calc(16px * 1.25);
    min-height: 0;
    overflow: hidden;
}

.home-announcements-section .announcement-ticket-title,
.home-events-section .announcement-ticket-title {
    flex: 0 1 auto;
    font-size: calc(25px * 0.75);
    font-weight: 600;
    margin: 0 0 calc(10px * 1.25) 0;
    line-height: 1.35;
    overflow: visible;
}

.home-events-section .announcement-ticket-title a {
    color: inherit;
    text-decoration: none;
}

.home-announcements-section .announcement-ticket-summary-wrap,
.home-events-section .announcement-ticket-summary-wrap {
    flex: 1 1 0%;
    min-height: 0;
    margin: 0 0 calc(14px * 1.25) 0;
    overflow: hidden;
}

/* Override .vision-box p { display: grid }; line count set by home-announcements-line-budget.js (title + summary <= 6 lines) */
.home-announcements-section .announcement-ticket-card.vision-box p.announcement-ticket-summary,
.home-events-section .announcement-ticket-card.vision-box p.announcement-ticket-summary,
.home-events-section .announcement-ticket-card.vision-box div.announcement-ticket-summary {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 6;
    line-clamp: 6;
    margin: 0;
    padding: 0;
    font: 400 16px/30px 'Poppins', sans-serif;
    color: #777;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.home-announcements-section .announcement-ticket-title:before,
.home-events-section .announcement-ticket-title:before {
    display: none;
}

.home-announcements-section .announcement-ticket-actions,
.home-events-section .announcement-ticket-actions {
    margin: 0;
    padding: 0;
    flex-shrink: 0;
}

.home-announcements-section .announcement-ticket-body--no-summary .announcement-ticket-actions,
.home-events-section .announcement-ticket-body--no-summary .announcement-ticket-actions {
    margin-top: auto;
}

.home-announcements-section .announcement-ticket-actions .btn-style-1,
.home-events-section .announcement-ticket-actions .btn-style-1 {
    display: inline-block;
    float: none;
    font: 500 14px 'Poppins', sans-serif;
    text-transform: none;
    padding: 7px 20px !important;
}

.home-announcements-section .announcement-ticket-card:hover .announcement-ticket-title,
.home-events-section .announcement-ticket-card:hover .announcement-ticket-title {
    color: #fff;
}

.home-announcements-section .announcement-ticket-card:hover .announcement-ticket-summary,
.home-events-section .announcement-ticket-card:hover .announcement-ticket-summary {
    color: rgba(255, 255, 255, 0.92);
}

.home-announcements-section .announcement-ticket-card:hover .announcement-ticket-date-badge,
.home-events-section .announcement-ticket-card:hover .home-event-ticket-date-on-image .announcement-ticket-date-badge {
    color: #161514;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.home-announcements-section .announcement-ticket-card:hover .announcement-ticket-icon .fa,
.home-events-section .announcement-ticket-card:hover .home-event-ticket-date-on-image .announcement-ticket-icon .fa {
    background: #fff;
    color: #161514;
}

.home-announcements-section .announcements-stack > [class*="col-"]:nth-child(even) .vision-box,
.home-events-section .announcements-stack > [class*="col-"]:nth-child(even) .vision-box {
    background-color: #f5f5f5;
}

/* Higher specificity than zebra stripe so .vision-box:hover matches theme (color.css #ffad05) */
.home-announcements-section .announcements-stack > [class*="col-"] .vision-box:hover,
.home-events-section .announcements-stack > [class*="col-"] .vision-box:hover {
    background: #ffad05;
}

.home-announcements-section .announcement-ticket-card.vision-box:hover .announcement-ticket-actions a.btn-style-1,
.home-events-section .announcement-ticket-card.vision-box:hover .announcement-ticket-actions a.btn-style-1 {
    background-color: #161514;
    color: #fff;
}

.home-announcements-section .announcement-ticket-card.vision-box:hover .announcement-ticket-actions a.btn-style-1:before,
.home-events-section .announcement-ticket-card.vision-box:hover .announcement-ticket-actions a.btn-style-1:before {
    opacity: 0;
    width: 0;
}

/* Home events: image strip (same height as announcement media row) */
.home-events-section .announcement-ticket-media.home-event-ticket-media {
    position: relative;
    flex-shrink: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
    max-height: none;
    box-sizing: border-box;
    padding: 0;
    gap: 0;
    display: block;
    line-height: 0;
    background: #1f1f1f;
    overflow: hidden;
}

.home-events-section .home-event-ticket-media a {
    display: block;
    height: 100%;
    overflow: hidden;
}

.home-events-section .home-event-ticket-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-events-section .home-event-ticket-date-on-image {
    position: absolute;
    top: calc(14px * 1.25);
    left: calc(16px * 1.25);
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: calc(14px * 1.25);
    max-width: calc(100% - (16px * 1.25) * 2);
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    pointer-events: none;
    background: transparent;
}

.home-events-section .home-event-ticket-date-row {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 calc(10px * 1.25) 0;
    font: 700 17px/1.4 'Poppins', sans-serif;
    color: #c9a227;
}

/* Override .vision-box .fa (70×70 circle background in style.css) for inline calendar glyph */
.home-events-section .announcement-ticket-card.vision-box .home-event-ticket-date-row .home-event-ticket-date-row__icon {
    flex-shrink: 0;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    font-size: 1.15em;
    line-height: 1.35;
    font-weight: 700;
    text-align: left;
    color: #c9a227;
    position: static;
}

.home-events-section .home-event-ticket-date-row time {
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.4;
    font-style: italic;
}

.home-events-section .announcement-ticket-card:hover .home-event-ticket-date-row {
    color: rgba(255, 255, 255, 0.92);
}

.home-events-section .announcement-ticket-card.vision-box:hover .home-event-ticket-date-row .home-event-ticket-date-row__icon {
    color: #5c4810;
}

/* Rich HTML summaries: nested <p> must not use .vision-box p { display: grid } */
.home-events-section .announcement-ticket-card.vision-box .announcement-ticket-summary p {
    display: block;
    margin: 0 0 0.35em 0;
}

.home-events-section .announcement-ticket-card.vision-box .announcement-ticket-summary p:last-child {
    margin-bottom: 0;
}

/* Home Index: Events follows announcements — default .blog-section padding-top is 80px */
.home-announcements-section.our-vision {
    padding-bottom: 0;
    background: #fff;
}

.home-announcements-section + .blog-section {
    padding-top: 12px;
}

.home-announcements-section .container,
.home-announcements-section + .blog-section .container,
.home-events-section .container {
    width: 99%;
    max-width: none;
    margin-left: 5px;
    margin-right: 5px;
}

@media (max-width: 767px) {
    /* Short content: height set to auto by home-announcements-line-budget.js */
    .home-announcements-section .announcement-ticket-card.vision-box.announcement-ticket-card--compact,
    .home-events-section .announcement-ticket-card.vision-box.announcement-ticket-card--compact {
        height: auto;
        min-height: 0;
    }

    .home-announcements-section .announcement-ticket-card.vision-box.announcement-ticket-card--compact .announcement-ticket-body,
    .home-events-section .announcement-ticket-card.vision-box.announcement-ticket-card--compact .announcement-ticket-body {
        flex: 0 1 auto;
        min-height: 0;
    }

    .home-announcements-section .announcement-ticket-card.vision-box.announcement-ticket-card--compact .announcement-ticket-summary-wrap,
    .home-events-section .announcement-ticket-card.vision-box.announcement-ticket-card--compact .announcement-ticket-summary-wrap {
        flex: 0 1 auto;
        min-height: 0;
    }
}

/* #inner-banner is floated (style.css). Ensure main content clears the float and paints in normal flow. */
#main {
  clear: both;
  position: relative;
  z-index: 2;
}