/*
    body {
        min-width:auto
    }
@media screen and (min-width: 992px) {
    body {
        min-width: 1200px;
    }
}
*/

.img-header-mobile {
    height: auto;
    width: 100%;
}


a, a.nav-link {
    transition: all 500ms;
    text-decoration: none;
}
.a_like {
    cursor: pointer;
    transition: all 500ms;
}

.navbar-brand {
    display: inline-block;
}

.navbar-toggler.mobile {
        float: inline-end;
    margin-top: 5px;

}

header { 
    position: sticky;
    top: 0;
}

.mobile .navbar-toggler-icon{
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3E%3Cpath stroke=%27rgba%28255, 255, 255, 1%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3E%3C/svg%3E") !important;
}

.content_block_text a {
    text-decoration: underline;
    transition: all 500ms;
}

.content_block_text a:hover {
    color:#9f141e;
}

/* Vertical Navigation with Accordion Submenus */
.vertical_navbar {
    width: 280px;
    min-width: 280px;
    flex-direction: column !important;
    align-items: stretch !important;
   /* background-color: #f8f9fa;*/
    border-right: 0;
    padding: 0;
    height: fit-content;
}

@media screen and (min-width: 740px) {
.vertical_navbar {
    width: 200px;
    min-width: 200px;
    flex-direction: column !important;
    align-items: stretch !important;
   /* background-color: #f8f9fa;*/
    border-right: 0;
    padding: 0;
    height: fit-content;
}
}

@media screen and (min-width: 1025px) {
.vertical_navbar {
    width: 200px;
    min-width: 200px;
    flex-direction: column !important;
    align-items: stretch !important;
   /* background-color: #f8f9fa;*/
    border-right: 0;
    padding: 0;
    height: fit-content;
}
}

@media screen and (min-width: 1280px) {
.vertical_navbar {
    width: 280px;
    min-width: 280px;
    flex-direction: column !important;
    align-items: stretch !important;
   /* background-color: #f8f9fa;*/
    border-right: 0;
    padding: 0;
    height: fit-content;
}
}

.vertical_navbar .navbar-toggler {
    margin-bottom: 1rem;
    border: none;
    padding: 0.5rem;
}

.vertical_navbar .navbar-toggler:focus {
    box-shadow: none;
}

.vertical_navbar .navbar-collapse {
    padding-top: 30px;
}


@media screen and (min-width: 740px) {
.vertical_navbar .navbar-collapse {
    padding: 0;
    padding-top: 0px;
}
}

.vertical_navbar .navbar-nav {
    width: 100%;
    flex-direction: column !important;
}

.vertical_navbar .nav-item {
    width: 100%;
    border-bottom: 1px solid #cbcbcb;
}

.vertical_navbar .nav-item:last-child {
    border-bottom: none;
}

.vertical_navbar .navbar-nav > .menu-item  > .nav-link {
    font-size: 16px;
    line-height: 16px;
    padding-top:18px;
    padding-bottom:18px;
    padding-left:0px;
    padding-right:0px;
}


@media screen and (min-width: 576px) {
.vertical_navbar .navbar-nav > .menu-item  > .nav-link {
    font-size: 12px;
    line-height: 12px;
    padding-top:12px;
    padding-bottom:12px;
    padding-left:0px;
    padding-right:0px;
}
}


@media screen and (min-width: 1025px) {
.vertical_navbar .navbar-nav > .menu-item  > .nav-link {
    font-size: 12px;
    line-height: 12px;
    padding-top:18px;
    padding-bottom:18px;
    padding-left:0px;
    padding-right:0px;
}
}



@media screen and (min-width: 1280px) {
.vertical_navbar .navbar-nav > .menu-item  > .nav-link {
    font-size: 16px;
    line-height: 16px;
    padding-top:18px;
    padding-bottom:18px;
    padding-left:0px;
    padding-right:0px;
}
}




.vertical_navbar .navbar-nav > .menu-item  > .nav-link::before {
    /* content: '▶';
    border: none;
    font-size: 10px;
    color: #9f141e;
    padding-right:16px;  Right arrow */
      content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 5px solid #9f141e;
    margin-right: 16px;
}




.vertical_navbar .navbar-nav > .menu-item:first-child  > .nav-link {
    padding-top:0px;
    padding-bottom:18px;
    padding-left:0px;
    padding-right:0px;
}

@media screen and (min-width: 740px) {
.vertical_navbar .navbar-nav > .menu-item:first-child  > .nav-link {
    padding-top:0px;
    padding-bottom:12px;
    padding-left:0px;
    padding-right:0px;
}
}


@media screen and (min-width: 1025px) {
.vertical_navbar .navbar-nav > .menu-item:first-child  > .nav-link {
    padding-top:0px;
    padding-bottom:18px;
    padding-left:0px;
    padding-right:0px;
}
}

.vertical_navbar .nav-link {
   
    color: #495057;
    border: none;
    border-radius: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-decoration: none;
    transition: all 0.3s ease;

}

.vertical_navbar .nav-link:hover,
.vertical_navbar .nav-link:focus {
    color: #9f141e;
}

.vertical_navbar .nav-link[aria-current="page"] {
    color: #9f141e;
}

/* Accordion arrow for parent items with submenus */
.vertical_navbar .nav-link.dropdown-toggle::after {
    content: '\276F'; /* Right arrow */
    border: none;
    font-size: 1.2rem;
    margin-left: auto;
    transition: transform 0.3s ease;
    transform-origin: center;
    color: #9f141e;
    transform: rotate(90deg); /* Down arrow when expanded */
}

.vertical_navbar .nav-link.dropdown-toggle.show::after,
.vertical_navbar .nav-link.dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(270deg); /* Down arrow when expanded */
}

/* Dropdown/submenu styles */
.vertical_navbar .dropdown .dropdown-menu > .menu-item  > .dropdown-item {
    font-size: 12px;
    line-height: 12px;
}

/* Dropdown/submenu styles */
.vertical_navbar .dropdown .dropdown-menu {
    position: static;
    float: none;
    width: 100%;
    margin-top: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    display: none; /* Initially hidden */
    overflow: hidden;
    transition: height 0.3s ease, opacity 0.3s ease;
    background-color: transparent;
}

.vertical_navbar .dropdown .dropdown-menu.show {
    display: block;
}

.vertical_navbar .menu-item > .dropdown-item {
    padding-left:24px;
    padding-right: 0;
    padding-top:10px;
    padding-bottom:10px;
    transition: all 0.3s ease;
}

.vertical_navbar .menu-item:first-child > .dropdown-item {
    padding-left:24px;
    padding-right: 0;
    padding-top:0px;
    padding-bottom:10px;
    transition: all 0.3s ease;
}

.vertical_navbar .menu-item:last-child > .dropdown-item {
    padding-left:24px;
    padding-right: 0;
    padding-top:10px;
    padding-bottom:14px;
    transition: all 0.3s ease;
}

.vertical_navbar .dropdown-item:last-child {
    border-bottom: none;
}

.vertical_navbar .dropdown-item:hover,
.vertical_navbar .dropdown-item:focus {
    color: #9f141e;
    background-color: transparent;
}

.vertical_navbar .dropdown-item[aria-current="page"] {
    color: #9f141e;
    font-weight: 500;
    background-color: transparent;
}

/* Mobile responsive behavior */
@media (max-width: 767.98px) {
    .vertical_navbar {
        width: 100%;
        min-width: auto;
        border-right: none;
        border-bottom: 1px solid #cbcbcb;
    }

    .vertical_navbar .navbar-collapse.collapse:not(.show) {
        display: none;
    }

    .vertical_navbar .navbar-collapse.show {
        display: block;
    }

    #header .navbar-toggler {
        display: none;
    }
}

/* Skip Link Accessibility */
.visually-hidden-focusable {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.visually-hidden-focusable:focus {
    position: absolute;
    left: 6px;
    top: 7px;
    width: auto;
    height: auto;
    overflow: visible;
    background-color: #000;
    color: #fff;
    padding: 8px 16px;
    text-decoration: none;
    border-radius: 3px;
    font-weight: bold;
    z-index: 10000;
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* Full Height Layout - Main Container */
#main_container {
    min-height: calc(100vh - var(--header-height) - var(--footer-height));
}

/* CSS Custom Properties for dynamic height calculation */
:root {
    --header-height: auto;
    --footer-height: auto;
}

/* Alternative approach using flexbox for full viewport layout */
#wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#main_container {
    flex: 1;
    display: flex;
    flex-direction: column;
}

#mainbody {
    flex: 1;
    min-height: calc(100vh - var(--header-height) - var(--footer-height));
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Ensure header and footer don't interfere with flex layout */
header {
    flex-shrink: 0;
}

#footer {
    flex-shrink: 0;
}

/* Footer Navigation Styling */
#footer-navigation {
    position: relative;
}

/* Ensure container-fluid inside mainbody takes full height */
#mainbody .container-fluid.h-100 {
    height: 100% !important;
    min-height: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
}

#mainbody .container-fluid.h-100 .row.h-100 {
    height: 100% !important;
    min-height: 100%;
    flex: 1;
}

/* Ensure the main content area adapts to the vertical navigation */
#mainbody .row .col-auto:has(.vertical_navbar) + .col {
    flex: 1;
    min-width: 0;
}


/*
====================================================== FOOTER
*/

footer {
    position: sticky;
    bottom:0;
    padding-left:20px;
    padding-top:8px;
    padding-bottom:8px;
    padding-right:20px;
    z-index: 2;
}


@media screen and (min-width: 740px) {
footer {
    position: sticky;
    bottom:0;
    padding-left:34px;
    padding-top:16px;
    padding-bottom:16px;
    padding-right:34px;
    z-index: 2;
}
}

footer .nav-link {
    padding:0;
    font-size: 14px;
    line-height: 1;
    font-weight: 300;
}

footer .nav-link:hover {
    padding:0;
    font-size: 12px;
    line-height: 1;
    font-weight: 300;
}

@media screen and (min-width: 740px) {
footer .nav-link:hover {
    padding:0;
    font-size: 14px;
    line-height: 1;
    font-weight: 300;
}
}

#footer .menu-item a[aria-current=page] {
    color:#ffffff;
}



#footer-navigation, .credit_cont {
 padding-top:8px;
}

@media screen and (min-width: 740px) {
#footer-navigation, .credit_cont {
 padding-top:0px;
}
}

/*
====================================================== HEADER
*/

header {
    position: sticky;
    top: 0;
    z-index: 2;
    height: auto;
}

@media screen and (min-width: 740px) {
header {
    position: relative;
    z-index: 2;
    height: 180px;
}
}

.header_logo_container {
    padding-top:20px;
    padding-left:20px;
    padding-bottom:20px;
    padding-right:20px;
}


@media screen and (min-width: 740px) {
.header_logo_container {
    padding-top: 90px;
        padding-left: 30px;
        padding-bottom: 24px;
        padding-right: 80px;
    
}
}


@media screen and (min-width: 1025px) {
.header_logo_container {
    padding-top: 100px;
        padding-left: 34px;
        padding-bottom: 24px;
        padding-right: 140px;
}
}

.header_image_bg {
    /*background-position: top left;*/
    background-repeat: no-repeat;
    /*background-size: cover;*/
}


@media screen and (min-width: 740px) {
.header_image_bg {
    /*background-position: top left;*/
    background-repeat: no-repeat;
    /*background-size: cover;*/
}
}

.navigation_container nav {
    background-image: none;
}

.navigation_container {
    padding-left:20px;
    padding-right:20px;
    padding-top:0px;
    padding-bottom:0px;
    position: relative;
    z-index: 1;
    -webkit-box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.2);
}


@media screen and (min-width: 740px) {
.navigation_container {
    padding-left:30px;
    padding-right:30px;
    padding-top:30px;
    padding-bottom:30px;
    position: relative;
    z-index: 1;
    -webkit-box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.2);
}
}



@media screen and (min-width: 1025px) {
.navigation_container {
    padding-left:34px;
    padding-right:34px;
    padding-top:50px;
    padding-bottom:50px;
    position: relative;
    z-index: 1;
    -webkit-box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.2);
}
}

.body_container {
    padding-left:20px;
    padding-right:20px;
    padding-top:20px;
    padding-bottom:30px;
}


@media screen and (min-width: 740px) {
.body_container {
    padding-left:30px;
    padding-right:30px;
    padding-top:30px;
    padding-bottom:30px;
}
}


@media screen and (min-width: 1025px) {
.body_container {
    padding-left:50px;
    padding-right:50px;
    padding-top:50px;
    padding-bottom:50px;
}
}



/*
====================================================== CONTENT BLOCK TEXT
*/

.content_block_wrapper {
    padding-bottom:10px;
}


@media screen and (min-width: 740px) {
.content_block_wrapper {
    padding-bottom:75px;
}
}
.content_block_wrapper.content_block_separator {
    padding-bottom:21px;

    border-bottom:1px solid #454545;
    margin-bottom:53px;

}



.content_block_text.imgmobileleft {
    padding-left:30px;
    padding-right:0px;
}

.content_block_text.imgleft {
    padding-left:0px;
    padding-right:0px;
}
.content_block_text.imgright {
    padding-left:0px;
    padding-right:0px;
}



@media screen and (min-width: 576px) {
.content_block_text.imgleft {
    padding-left:30px;
    padding-right:0px;
}
.content_block_text.imgright {
    padding-left:0px;
    padding-right:30px;
}
}

@media screen and (min-width: 1025px) {
.content_block_text.imgleft {
    padding-left:50px;
    padding-right:0px;
}
.content_block_text.imgright {
    padding-left:0px;
    padding-right:50px;
}
}


.content_block_image.imgleft {
    padding-left:0px;
    padding-right:0px;
}
.content_block_image.imgright {
    padding-left:0px;
    padding-right:0px;
}
.content_block_image img.imgshadow {
    -webkit-box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.3);
    box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.3);
}
.content_block_image div.imgshadow {
    -webkit-box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.3);
    box-shadow: 0px 0px 23px 5px rgba(0,0,0,0.3);
}
.content_block_image img.imgborder {
    border:1px solid #000000;
}

.content_image_caption {
    padding-top:16px;
}

.content_block_img_pos.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
}

.content_link {
    text-decoration: none!important;
}

.link_container > div {
    /*padding-top:3px;
    padding-bottom:3px;*/
    padding-top:0px;
    padding-bottom:0px;
}

.link_icon img {
    max-width: 19px;
}

.link_container {
    padding-top:12px;
    padding-bottom:12px;
}



@media screen and (min-width: 740px) {
.link_container {
    padding-top:12px;
    padding-bottom:12px;
}
}

@media screen and (min-width: 1200px) {
.link_container {
    padding-top:24px;
    padding-bottom:0px;
}
}


.link_text, .link_icon {
    padding-left:16px;
    padding-right:16px;
    text-decoration: none;
}



.content_block_wrapper ul li{
    padding-bottom:14px;
}


.content_block_img_pos  {
    padding-bottom:32px;
}

/*
====================================================== TWO COLUMNS MODULE
*/

.two_columns_wrapper  .content_block_img_pos  {
    padding-top:20px;
    padding-bottom:0px;
}

@media screen and (min-width: 740px) {
.two_columns_wrapper  .content_block_img_pos  {
    padding-top:0px;
    padding-bottom:0px;
}
}



.two_columns_wrapper .link_container {
    padding-top:24px;
    padding-bottom:24px;
}



@media screen and (min-width: 740px) {
.two_columns_wrapper .link_container {
    padding-top:24px;
    padding-bottom:0px;
}
}


.two_columns_wrapper {
    padding-bottom:75px;
}

.two_columns_wrapper.content_block_separator {
    padding-bottom:21px;

    border-bottom:1px solid #454545;
    margin-bottom:53px;

}

.tc_content_block_text.imgleft {
    padding-left:0px;
    padding-right:0px;
}
.tc_content_block_text.imgright {
    padding-left:0px;
    padding-right:0px;
}


@media screen and (min-width: 740px) {
.tc_content_block_text.imgleft {
    padding-left:30px;
    padding-right:30px;
}
.tc_content_block_text.imgright {
    padding-left:0px;
    padding-right:30px;
}
}


.tc_content_block_image.imgleft {
    padding-left:0px;
    padding-right:0px;
}
.tc_content_block_image.imgright {
    padding-left:0px;
    padding-right:0px;
}





/*
====================================================== IMAGE SLIDER MODULE
*/


.image_slider_wrapper {

    padding-bottom:75px;
}

#carouselImageSlider .carousel-item {
    width:100%;
    min-height: 600px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}


#carouselImageSlider .carousel-indicators [data-bs-target] {
    opacity: 1;
    border-bottom: 0;
    border-top:0;
        height: 14px;
        width: 14px;
    border-radius: 7px;
    overflow: hidden;
}

#carouselImageSlider .carousel-indicators .active {
    background-color: #9f141e;
}





/*
====================================================== NEWS MODULE
*/

.content_block_text {
    padding-bottom: 16px;
}


@media screen and (min-width: 740px) {
.content_block_text {
    padding-bottom: 32px;
}
}

.news_single_item {
    border-bottom:1px solid #D5D5D5;

}

.news_single_item:last-child {
    border-bottom:0px solid #D5D5D5;

}

.pagination-wrapper span, .pagination-wrapper a {
        display: inline-block;
    min-width: 32px;
    height: 32px;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
    margin-left: 3px;
    font-size: 16px;
    font-weight: 300;
    line-height: 32px;
}

.news_single_item .content_block_image    {
    padding-top: 24px;
    padding-bottom: 0px;
}

.news_single_item .content_block_text    {
    padding-top: 24px;
}

.news_single_item .gallery-content    {
    padding-bottom: 24px;
}


@media screen and (min-width: 740px) {
.news_single_item:first-child .content_block_image    {
    padding-top: 0px;
    padding-bottom: 32px;
}

.news_single_item:first-child .content_block_text    {
    padding-top: 0px;
}
.news_single_item .content_block_image    {
    padding-top: 32px;
    padding-bottom: 32px;
}

.news_single_item .content_block_text    {
    padding-top: 32px;
}

.news_single_item .gallery-content    {
    padding-bottom: 32px;
}

}
.accordion-button:not(.collapsed):after {
    transform: rotate(-90deg);
    background-image: none;
}

.accordion-button:before {
    content:'Open ';
}

.accordion-button:not(.collapsed):before {
    content:'Close ';
}

.accordion-button:after {
        display: inline-block;
    background-image: none;
        content: '\276F';
    border: none;
    font-size: 1.2rem;
    margin-left: auto;
    transition: transform 0.3s 
ease;
    transform-origin: center;
    color: #9f141e;
    transform: rotate(90deg);
    height:32px;
    width:32px;    
        text-align: center;
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion-button {
    background-color:transparent;
        display: inline-block;
        padding:0;

        width: auto;
    color:#454545;
}

.accordion-item {
    background-color:transparent;
}

.accordion-button:not(.collapsed) {
    background-color: transparent;
    color:#454545;
}





.image_block_carousel .carousel-indicators {
    /*bottom: unset;
    top:20px;*/
        -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    margin-bottom: 1rem;
    margin-left: 26px;
}




.cropped_image > div {
    background-repeat: no-repeat;
    background-size: cover;
}





@media (min-width: 576px) {
    .col-sm-85 {
        flex: 0 0 29.1667%;
        max-width: 29.1667%;
    }
}