/*Custom Styles*/
.pageTitle, h1.page-title, h2.page-title {
    font-size: 30px;
    line-height: 1.2;
    margin: 0px 0px 15px 0px;
    color: #22477c;
    font-weight: 500;
}
hr {
    border-top: 2px solid #a51e28;
}
hr.homerule {
    border-top: 4px solid #fff;
}
a img:hover {
    opacity:.90;
}
.white, .white a, a.white, a .white {
    color: #fff !important;
}
.black, .black a, a.black, a .black {
    color: #000 !important;
}
.blue, .blue a, a.blue, a .blue {
    color: #22477c;
}
.dark-blue, .dark-blue a, a.dark-blue, a .dark-blue {
    color: #151b32;
}
.red, .red a, a.red, a .red {
    color: #a51e28 !important;
}
.grey, .grey a, a.grey, a .grey {
    color: #4d4d4d !important;
}

.extra-large-text {
  font-size: 44px;
  line-height: 1.2;
}
.secondary-text {
    font-size: 18px;
}
.SHeader {
    font-size: 20px;
}
.terciary-text, .tertiary-text {
    font-size: 16px;
}
.medium-weight {
    font-weight: 500;
}
.regular-weight {
    font-weight: 300;
}
a img:hover {
    transform: scale(1.01);
    transition: ease 0.5s;
}
.vcenter {
    display: inline-block;
    vertical-align: middle;
    float: none;
}
.home-button {
    background-color: #5474a7;
    padding: 9px 40px;
    border-radius: 6px;
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    text-transform: uppercase;
    display: inline-block;
}
.home-button:hover {
    transform: scale(1.01);
    transition: ease 0.5s;
}
.center-button {
    display: block;
    margin: 0 auto;
    width: 290px;
}
.button-group {
    display: table;
    margin: 0 auto;
}
.orange-button {
    background-color: #f0a735;
}
.olive-button {
    background-color: #9e8553;
    padding: 11px 45px;
    float: left;
    width: 250px;
    margin: 0px 15px;
}
.about-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: #041c2d;
    padding: 50px 0 55px;
    margin-top: 60px;
}
.about-section .extra-large-text {
    font-size: 33px;
}
.about-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
    z-index: 0;
}
.about-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('/images/librariesprovider29/home/27/about-background.png?v6');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 1;
}
.about-section .container {
    position: relative;
    z-index: 2;
}
.about-blurb {
    font-size: 16px;
    line-height: 1.4;
}
.about-section .home-button {
    margin-top: 45px;
}
.keynote-section {
    padding: 70px 0px 65px;
}

.keynote-button {
    margin-top: 80px;
}
.demo-section {
    background-color: #111111;
    margin-bottom: 40px;
    text-align: center;
    padding: 20px 0px;
}
.demo-large {
    font-size: 50px;
    color: #8fa0df;
    font-weight: 300;
    line-height: 1;
}
.demo-small {
    font-size: 22px;
    color: #8fa0df;
    font-weight: 300;
}
.sponsor-section {
    background-image: url('/images/librariesprovider29/home/27/sponsor-background.png?v2.2');
    background-size: cover;
    background-position: bottom;
    padding: 50px 0px 60px 0px;
}
.sponsor-section .home-button {
    display: block;
    padding: 9px;
}
.sponsor-scroller {
    padding: 70px 0px 35px 0px;
}
.keynote-section-inner .home-button {
    font-weight: 300;
    width: 300px;
}
.bio-second-column .col-sm-5ths {
    float: none;
}
.home-quote {
    padding: 50px 0px;
}
.stay-connected-section {
    background-color: #e8ecf4;
    padding: 45px 0px 10px 0px;
    margin-top: 40px;
}
.stay-connected-section p {
    margin-bottom: 0px;
}
iframe.wallsio-iframe {
    height: 302px;
    background-color: #e8ecf4;
}

.carousel-section {
    padding-top: 65px;
}
.media-gallery-buttons .home-button {
    width: 100%;
}
.quote-why-attend-section {
    background-color: #e8ecf4;
    padding: 45px 0px 75px 0px;
}
.why-attend .SHeader {
    color: #2c3e50;
}
.why-attend img {
    padding-right: 20px;
}
.quote-large {
    font-size: 30px;
    font-weight: bold;
}

.quote-small {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 15px;
}

.why-attend {
    padding-top: 40px;
}

.why-attend img {
    padding-bottom: 12px;
}

.why-attend .SHeader {
    line-height: 1.2;
}
/* FAQ SECTION */
.faq-section {
    background: #191919;
    padding: 50px 0px;
    color: #fff;
}
.faq-section h2 {
    color: #f3b13e;
    font-size: 44px;
}
.faq-item {
    border-top: 1px solid #777;
}
.faq-item:last-child {
    border-bottom: 1px solid #777;
}
.faq-question {
    position: relative;
    display: block;
    padding: 12px 40px 12px 0;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1.3;
    text-decoration: none;
}
.faq-question:hover,
.faq-question:focus {
    color: #fff;
    text-decoration: none;
}
.faq-arrow {
    position: absolute;
    right: 8px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translateY(-65%) rotate(45deg);
    transition: transform 0.2s ease;
}
.faq-question:not(.collapsed) .faq-arrow {
    transform: translateY(-25%) rotate(225deg);
}

.faq-answer {
    color: #fff;
    font-size: 14px;
    line-height: 1.6;
}
.faq-answer a {
    color: #f3b13e;
    font-weight: 500;
}
.faq-answer p {
    padding: 5px 40px 15px 0;
    margin: 0;
    font-size: 18px;
}

@media screen and (max-width: 767px) {
    .CTA-button {
        display: block;
        margin: 0 auto;
        margin-left: 0px;
        margin-top: 6px;
    }
    .cag-header {
        font-size: 32px;
    }
    .about-buttons {
        padding-top: 0px;
    }
    .secondary-track-button {
        font-size: 16px;
        padding: 24px 10px;
    }
    .marquee {
        padding: 20px 0px;
    }
    .marquee-endcap {
        width: 160px;
        display: block;
        margin: 0 auto;
    }
    .sponsor-section {
        background-position: left;
    }
    .sponsor-section, .about-section {
        text-align: center;
    }
    .about-section {
        background-image: none;
        background-color: #354159;
    }
    .keynote-section-inner {
        display: block;
        text-align: center;
    }
    .keynote-section-inner .home-button {
        display: block;
        margin: 0 auto;
    }
    .contacts-section {
        text-align: center;
    }
    .keynote-section img {
        display: block;
        margin: 0 auto;
        width: 250px;
    }
    .vcenter {
        display: block;
    }
    .keynote-button {
        margin-top: 40px;
    }
    .faq-question {
        font-size: 16px;
    }
    .faq-section h2 {
        font-size: 30px;
    }
    .quote-large {
        font-size: 26px;
    }
}




/*Home Tracks*/
.program-section {
    background-color: #fff;
}
.programs-secondary {
    margin-top: 30px;
}
.programs-secondary .SHeader {
    color: #637caf;
}
.stream-header {
    font-size: 20px;
    text-align: center;
    line-height: 1.15;
    font-weight: bold;
    margin: 10px 0px 13px 0px;
    text-transform: uppercase;
}

.stream-header-one {
    color: #4d679c;
}
.stream-header-two {
    color: #715c73;
}
.stream-header-three {
    color: #47797d;
}
.stream-header-four {
    color: #8c723b;
}


.cag-date {
    font-size: 20px;
    font-weight: 500;
    color: #303030;
    text-transform: uppercase;
    text-align: center;
    margin: 20px 0px;
}
.track-box {
    margin-top: 10px;
    border-radius: 6px;
    padding: 12px 20px;
}
.track-box h3 {
    font-size: 20px;
    font-weight: 500;
    margin: 0px;
}
a .track-box {
    color: #272727;
    font-weight: bold;
}
.track-box:hover {
    font-weight: 600;
    background-color: #f2f2f3;
}
.track-box-one {
    border: 2.5px solid #486195;
}
.track-box-two {
    border: 2.5px solid #6380bd;
}
.track-box-three {
    border: 2.5px solid #6094dd;
}
.track-box-four {
    border: 2.5px solid #60b5dd;
}
.track-box-five {
    border: 2.5px solid #c09e53;
}
.track-box-six {
    border: 2.5px solid #9c73a1;
}
.track-box-seven {
    border: 2.5px solid #735589;
}
.track-box-eight {
    border: 2.5px solid #8988d3;
}
.track-box-nine {
    border: 2.5px solid #51999e;
}
.track-box-ten {
    border: 2.5px solid #4fad94;
}
.track-box-eleven {
    border: 2.5px solid #d58e3a;
}
.track-box-twelve {
    border: 2.5px solid #c09e53;
}
.track-box-symp {
    background-color: #efe2dc;
    border: 2.5px solid #fff;
}



.track-box-one:hover {
    color: #486195;
}
.track-box-two:hover {
    color: #6380bd;
}
.track-box-three:hover {
    color: #6094dd;
}
.track-box-four:hover {
    color: #60b5dd;
}
.track-box-five:hover {
    color: #c09e53;
}
.track-box-six:hover {
    color: #9c73a1;
}
.track-box-seven:hover {
    color: #735589;
}
.track-box-eight:hover {
    color: #8988d3;
}
.track-box-nine:hover {
    color: #51999e;
}
.track-box-ten:hover {
    color: #4fad94;
}
.track-box-eleven:hover {
    color: #d58e3a;
}
.track-box-twelve:hover {
    color: #c09e53;
}
.track-box-symp:hover {
    border: 2.5px solid #d07e6e;
}






@media screen and (max-width: 1199px) {
    .track-box h3 {
        font-size: 15px;
    }
    .investor-block {
        font-size: 18px;
    }
}
@media screen and (max-width: 991px) {
    .track-box h3 {
        font-size: 13px;
    }
}
@media screen and (max-width: 767px) {
    .cag-date {
        display: block;
    }
    .track-box h3 {
        font-size: 18px;
    }
}




/*Webinars*/
hr.blue-seperator {
    border-top: 2px solid #397ecb;
}
.webinar-red {
    color: #cb3932;
}



     


/*Image Gallery*/
.hide-bullets {
    list-style:none;
    margin-left: -40px;
    margin-top:20px;
}
.thumbnail {
    padding: 0;
    border: 0px;
}
.gallery-caption {
    background-color: black;
    font-size: 16px;
    color: #fff;
    text-align: center;
    padding: 10px;
}
.carousel-inner>.item>img, .carousel-inner>.item>a>img {
    width: 100%;
}




/* Sponsor Page Set */
.tracknav a {
  background-color: #1b3959;
  color: #fff;
}
.sponsor-header {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    text-decoration: underline;
}
.sponsor-box {
    background-color: #eaeef8;
    border-radius: 20px;
    padding: 20px 15px;
}
.sponsor-red {
    color: #aa2727;
}
.sponsor-blue {
    color: #1b3959;
}
.bit-red {
    color: #6f1010;
}
.sponsor-tier {
    background-color: #6f1010;
}
hr.sponsor-tier-seperator {
    border-top: 5px solid #6f1010;
}

/*Toggle Overylay*/
.navbar-default .navbar-toggle {
    border-color: #fff;
}
.navbar-default .navbar-toggle .icon-bar {
    background-color: #fff;    
}
.navbar-default .navbar-toggle:focus {
    background:none; 
}
/*Nav Logo*/
a.navbar-brand, a.navbar-brand-reg {
    background-image: url("/images/librariesprovider29/template-images/27/logo-nav-250x70.png");
    background-repeat: no-repeat;
}
a.navbar-brand-reg {
    width: 100%;
    display: block;
    margin: 15px 0px 15px 20px;
    background-position: center;
    height: 67px;
}

/* Dropdown Nav Border Color */
.dropdown-menu>li>a {
    border-top: 1px solid #fff;
    color: #fff;
}
/* Main Nav Color - Nav Font Color */
.navbar {
    font-weight: 500;
}
.navbar-default .navbar-nav>li>a, .navbar-default .navbar-nav>li>a:focus, .navbar-default .navbar-nav>li>a:hover, .dropdown-menu>li>a, .dropdown-menu>li>a:hover, .navbar-default .navbar-nav>.open>a {
    color: #fff;
}
.navbar-default .navbar-nav>li>a:hover, .navbar-default, .dropdown-menu>li>a:hover, .navbar-default .navbar-nav>li>a:hover, .nav>li:last-child>a, .navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:focus, .navbar-default .navbar-nav>.open>a:hover, .navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>li:last-child, .dropdown-menu>.active>a, .dropdown-menu>.active>a:focus, .navbar-default .navbar-nav>.open>a:hover, .dropdown-menu, .navbar-default .navbar-nav>.open>a  {
   background-color: #6f1010;
}
.navbar-default, .dropdown-menu>li>a:hover, .dropdown-menu>.active>a:hover, .navbar-default .navbar-nav>.active>a  {
    background-color: #ec2542;
    color: #fff;
}
.navbar-default .navbar-nav>li:last-child, .dropdown-menu>.active>a, .dropdown-menu>.active>a:focus, .navbar-default .navbar-nav>.open>a:hover, .dropdown-menu, .navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>.active>a:hover  {
    background-color: #6f1010;
    color: #fff;
}
.dropdown-menu>li>a:hover, .dropdown-menu>.active>a:hover {
    background-color: #ec2542;
}
@media screen and (min-width: 1135px) {
    .nav li:last-of-type ul {
        margin-left: -125px;
    }
}

/*NAV V2 Styles*/
.navbar-nav>li>.dropdown-menu {
    border: 2px solid #fff;
    /* border-top: 0px; */
    border-radius: 0px 9px 9px 9px;
}
.dropdown-menu>li>a {
    padding: 10px 20px;
    border-bottom: 1px solid #fff; 
}
.dropdown-menu li:first-child a{
    border-radius: 0px 9px 0px 0px;
    border-top: 0px;
}
.navbar-nav .dropdown-menu li:last-child a {
    margin-bottom: -1px;
    border-radius: 0px 0px 9px 9px;
}
.dropdown .dropdown-menu {
    opacity: 1;
    animation-name: fadeInOpacity;
    animation-iteration-count: 1;
    animation-timing-function: ease-in;
    animation-duration: 0.6s;
    font-size: 16px;
}
@keyframes fadeInOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


/* Reg Page */
.CHIRegTableWrapper .standout, .CHIRegTableHeader, .CHIRegTableHeaderClear, .CHIRegTableWrapperClear .standout, .CHIRegTableHeaderSidebar, .CHIRegDiscountTableRows {
    background-color: #6f1010;
    color: #fff;
    padding-top:10px;
    padding-left:10px;
    font-weight:bold;
}
/*Nav Test Override*/
a.navbar-brand {
    height: 70px;
    width: 250px;
    margin: 5px 0px 0px 20px;
}

.small-nav>li>a, .navbar-nav>li>a {
    line-height: 57px !important;
}
@media (max-width: 1135px) {
    .small-nav>li>a, .navbar-nav>li>a {
        line-height: 26px !important;
    }
}

/*Webinars Styles*/
.webinars-register {
    text-align: center;
    padding: 10px 100px;
    border-radius: 5px;
    background-color: #cb3932;
    font-size: 20px;
    font-weight: 500;
    display: inline-block;
}
.webinar-title {
    font-size: 32px;
    color: #cb3932;
    /* margin-top: 20px; */
}
.webinar-header {
    color: #73485f;
    font-size: 21px;
    text-transform: uppercase;
}
hr.webinar-hr-primary {
    border-top: 2px solid #cb3932;
}
hr.webinar-hr-secondary {
    border-top: 1px solid #acacac;
}
.webinar-speaker {
    padding-bottom: 5px;
}
.webinar-date {
    font-size: 20px;
    color: #505050;
}
@media screen and (max-width: 767px) {
    .webinar-register {
        padding: 10px;
        width: 100%;
    }

}



/*Modal Override*/
.centered-modal.in {
    display: flex !important;
}
.centered-modal .modal-dialog {
    margin: auto;
}
.modal-video-player {
    border: 5px solid #6f1010;
}
.modal-header {
    padding: 0px;
}
.videoWrapper {
    margin-right: -1px;
}
button.video-close {
    background-color: #000;
    font-size: 21px;
    padding: 5px 7px;
    top: 22px;
    margin-top: 30px;
    right: 5px;
}
@media (min-width: 768px) {
    .modal-dialog {
        width: 60%;
    }
}

/*Custom Desktop Header*/

.mobile-header {
    display: none;
}

.custom-desktop-header {
    position: relative;
    overflow: hidden;
    background-image: url('/images/librariesprovider29/home/27/bit27-header-overlay.png?v.2');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 325px;
    padding-top: 84px;
}

.custom-desktop-header .header-city-image {
    position: absolute;
    top: 49px;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.custom-desktop-header .header-city-image .carousel,
.custom-desktop-header .header-city-image .carousel-inner,
.custom-desktop-header .header-city-image .item {
    height: 100%;
}

.custom-desktop-header .header-city-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.custom-desktop-header-inner {
    position: relative;
    z-index: 2;
    padding: 0px 0px 45px 0px;
}

.custom-desktop-header-content {
    width: 100%;
}

.custom-desktop-header h1 {
    font-size: 30px;
    line-height: 1.05;
    color: #fff;
    text-align: center;
    font-weight: 300;
    margin: 0 0 18px;
    margin: 0px 20% 18px 20%;
}

.custom-desktop-header-main {
    text-align: center;
}

.custom-desktop-header-logo img {
    width: 35%;
    padding: 15px 0px;
}

.custom-desktop-header-info {
    color: #fff;
}

.custom-desktop-header-date {
    font-size: 24px;
    line-height: 1.15;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.custom-desktop-header-location {
    font-size: 14px;
    line-height: 1.25;
    margin-bottom: 0;
}

.custom-desktop-header-buttons {
    display: flex;
    gap: 20px;
    margin-top: 40px;
}

.desktop-header-button {
    display: block;
    flex: 1;
    background-color: #fff;
    color: #ec2642;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    padding: 10px 15px;
}
.desktop-header-button:hover,
.desktop-header-button:focus {
    background-color: #c5d2eb;
    color: #1a264e;
    text-decoration: none;
}
.custom-desktop-header-ctas {
    display: flex;
    gap: 22px;
    margin-top: 18px;
    padding: 0px 17%;
}
.header-cta {
    width: 50%;
    display: grid;
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .9);
    padding-top: 12px;
}
.header-cta-text {
    color: #fff;
    font-size: 18px;
    line-height: 1.15;
    font-weight: bold;
    margin-bottom: 7px;
    text-align: center;
}
.desktop-header-button {
    display: block;
    width: 200px;
    margin: 0 auto;
    background-color: #fff;
    color: #ec2642;
    font-size: 14px;
    line-height: 1;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 12px 8px;
    white-space: nowrap;
}
@media (max-width: 1135px) {
    .custom-desktop-header .header-city-image {
        position: absolute;
        top: 53px;
    }
    .custom-desktop-header-ctas {
        padding: 0px 12%;
    }        
}

@media (max-width: 991px) {
    .about-video {
        display: none;
    }
    .about-section {
        padding: 40px 0;
        background-color: #1c2840;
    }
    .about-section:before {
        background-image: none;
    }
    .custom-desktop-header-content {
        width: 100%;
    }
}
@media (max-width: 767px) {
    .custom-desktop-header {
        position: relative;
        overflow: hidden;
        background-image: url('/images/librariesprovider29/home/27/mobile-background.png?sfvrsn=865f206b_1');
        padding-top: 49px;
    }
    .custom-desktop-header .header-city-image {
        display: none;
    }
    .custom-desktop-header-main {
        text-align: center;
    }
    .custom-desktop-header-content {
        width: 100%;
        padding: 0px 5%;
    }
    .custom-desktop-header-inner {
        padding: 35px 0px 20px 0px;
    }
    .custom-desktop-header-logo img {
        width: 80%;
        padding: 15px 0px;
    }
    .custom-desktop-header-info {
        width: 100%;
        color: #fff;
        padding: 20px 0px 0px 20px;
        padding-top: 20px;
        transform: translateY(0px);
    }
    .custom-desktop-header h1 {
        font-size: 30px;
        margin-bottom: 5px;
    }
    .custom-desktop-header-date {
        font-size: 16px;
    }
    .custom-desktop-header-location {
        font-size: 14px;
    }
    .header-cta {
        width: 100%;
    }
    .custom-desktop-header-buttons {
        display: block;
        margin-top: 20px;
    }
    .custom-desktop-header-ctas {
        display: block;
    }
    .desktop-header-button {
        margin-bottom: 15px;
    }
    .custom-desktop-header-inner {
        border-top: 5px solid #fff;
    }
}
@media (max-width: 500px) {
    .custom-desktop-header h1 {
        font-size: 26px;
    }
}

/* Custom Carousel */

/* Animations */
.w3-animate-zoom-1 { animation: animatezoom 1.1s; }
.w3-animate-zoom-2 { animation: animatezoom 1.7s; }
.w3-animate-zoom-3 { animation: animatezoom 1.2s; }
.w3-animate-zoom-4 { animation: animatezoom 1.5s; }
.w3-animate-zoom { animation: animatezoom .6s; }

@keyframes animatezoom {
    from { transform: scale(0); }
    to { transform: scale(1); }
}

.w3-animate-opacity { animation: opac 2s; }
.w3-animate-opacity-2 { animation: opac 3.5s; }
.w3-animate-opacity-3 { animation: opac 4.5s; }
.w3-animate-opacity-4 { animation: opac 9.5s; }

@keyframes opac {
    from { opacity: 0; }
    to { opacity: 1; }
}

.w3-animate-fading { animation: fading 10s infinite; }

@keyframes fading {
    0% { opacity: 0; }
    50% { opacity: 1; }
    100% { opacity: 0; }
}

.w3-animate-top {
    position: relative;
    animation: animatetop 2.9s;
}

@keyframes animatetop {
    from { top: -300px; opacity: 0; }
    to { top: 0; opacity: 1; }
}

.w3-animate-left {
    position: relative;
    animation: animateleft 1.9s;
}

@keyframes animateleft {
    from { left: -300px; opacity: 0; }
    to { left: 0; opacity: 1; }
}

.w3-animate-right {
    position: relative;
    animation: animateright 1.9s;
}

@keyframes animateright {
    from { right: -300px; opacity: 0; }
    to { right: 0; opacity: 1; }
}

.w3-animate-bottom {
    position: relative;
    animation: animatebottom .5s;
}

@keyframes animatebottom {
    from { bottom: -300px; opacity: 0; }
    to { bottom: 0; opacity: 1; }
}

/* Mosaic Carousel */
#custom-home-carousel {
    width: 100%;
    overflow: hidden;
}

#custom-home-carousel .carousel-inner { overflow: hidden; }

#custom-home-carousel .mosaic-row {
    position: relative;
    width: 100%;
    height: min(565px, 29.74vw);
}

#custom-home-carousel .mosaic-photo {
    position: absolute;
    padding: 0;
    margin: 0;
}

#custom-home-carousel .mosaic-photo img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
}

/* Desktop Collage */
#custom-home-carousel .mosaic-1 {
    width: 25%;
    height: auto;
    left: 2%;
    top: min(103px, 5.42vw);
    z-index: 5;
}

#custom-home-carousel .mosaic-2 {
    width: 20%;
    height: auto;
    left: 24%;
    top: min(40px, 2.1vw);
    z-index: 4;
}

#custom-home-carousel .mosaic-3 {
    width: 26%;
    height: auto;
    left: 41%;
    top: 0;
    z-index: 2;
}

#custom-home-carousel .mosaic-4 {
    width: 20%;
    height: auto;
    left: 54%;
    top: min(190px, 13vw);
    z-index: 5;
}

#custom-home-carousel .mosaic-5 {
    width: 24%;
    height: auto;
    left: 68%;
    top: min(60px, 2.26vw);
    z-index: 2;
}

#custom-home-carousel .mosaic-6 {
    width: 16%;
    height: auto;
    left: 82%;
    top: min(205px, 13.8vw);
    z-index: 4;
}

/* Tablet */
@media screen and (max-width: 900px) {
    #custom-home-carousel {
        padding: 0 20px;
        box-sizing: border-box;
    }

    #custom-home-carousel .mosaic-row {
        position: relative;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
        gap: 12px;
        width: 100%;
        height: auto !important;
        box-sizing: border-box;
    }

    #custom-home-carousel .mosaic-photo,
    #custom-home-carousel .mosaic-1,
    #custom-home-carousel .mosaic-2,
    #custom-home-carousel .mosaic-3,
    #custom-home-carousel .mosaic-4,
    #custom-home-carousel .mosaic-5,
    #custom-home-carousel .mosaic-6 {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: auto !important;
        transform: none !important;
    }

    #custom-home-carousel .mosaic-photo img {
        display: block;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
        clip-path: inset(11px);
        object-fit: cover;
        object-position: center;
        max-width: 100%;
        margin: 0;
        animation: animatezoom 1.7s !important;
    }

    #custom-home-carousel .mosaic-4,
    #custom-home-carousel .mosaic-6 {
        display: none !important;
    }

    #custom-home-carousel .mosaic-1 {
        display: block;
        grid-column: 1;
        grid-row: 1;
    }

    #custom-home-carousel .mosaic-2 {
        display: block;
        grid-column: 2;
        grid-row: 1;
    }

    #custom-home-carousel .mosaic-3 {
        display: block;
        grid-column: 1;
        grid-row: 2;
    }

    #custom-home-carousel .mosaic-5 {
        display: block;
        grid-column: 2;
        grid-row: 2;
    }

    #custom-home-carousel .w3-animate-left,
    #custom-home-carousel .w3-animate-right,
    #custom-home-carousel .w3-animate-top,
    #custom-home-carousel .w3-animate-bottom {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
    }
}

/* Mobile */
@media screen and (max-width: 600px) {
    #custom-home-carousel { padding: 0 12px; }
    #custom-home-carousel .mosaic-row { gap: 8px; }
    #custom-home-carousel .mosaic-photo img { aspect-ratio: 1 / 1; }
}

/* Small Mobile */
@media screen and (max-width: 400px) {
    #custom-home-carousel .mosaic-row { grid-template-columns: 1fr; }

    #custom-home-carousel .mosaic-1 {
        grid-column: 1;
        grid-row: 1;
    }

    #custom-home-carousel .mosaic-2 {
        grid-column: 1;
        grid-row: 2;
    }

    #custom-home-carousel .mosaic-3 {
        grid-column: 1;
        grid-row: 3;
    }

    #custom-home-carousel .mosaic-5 { display: none !important; }
    #custom-home-carousel .mosaic-photo img { aspect-ratio: 4 / 3; }
}