/* ----------------------------------------------- */
/* Hero Banner Carousel */
/* ----------------------------------------------- */

#carousel-homepage {
    border-bottom: 1px solid #fff;
    overflow: hidden;
}
#carousel-homepage::before {
    content: '';
    position: absolute;
    top:0;
	left: 0;
	display: block;
    height: 8px;
	width: 100%;
    z-index:10;
	background-image: linear-gradient(to top, transparent, rgba(0,0,0,0.15));
}
#carousel-homepage .carousel-inner .carousel-item > a,
#banner-ad-page .carousel-item > a {
    display: block;
    text-decoration: none;
}

/* --------------- Play/Pause Button --------------- */

#carousel-homepage .togglePausePlay {
    position: absolute;
    right:15px;
    top:0;
    /*margin-top: calc(54.7619% - 60px);*/
    margin-top: calc(41% - 60px);
    z-index: 2;
}
#carousel-homepage .togglePausePlay button {
    padding:13.575px 15px;
    border:0;
    border-radius: 50%;
    background-color: rgba(255,255,255,.8);
}
#carousel-homepage .togglePausePlay button:focus {
    outline:0 none;
    box-shadow: inset 0 0 0 3px #a14331;
    background-color: #fff;
}
#carousel-homepage .togglePausePlay svg {
    fill: #a14331;
    width:20px;
    height: 22.85px;
    display: block;
}

/* --------------- Carousel Indicators --------------- */

.carousel-indicators {
    position: relative;
    display: block;
    margin:15px 0 0 0;
    background-color: #a14331;
}
.carousel-indicators [data-bs-target] {
	box-sizing: border-box;
	width: 33.333%;
	height: auto;
	margin-right: 0;
	margin-left: 0;
	margin-top: -8px;
	text-indent: 0;
	background-color: transparent;
	background-clip: border-box;
	border-top: 0 none;
	border-bottom: 0 none;
	opacity: 1;
	transition: none;
	cursor: default;
	position: absolute;
	left: 0;
	top: 0;
}
.carousel-indicators a {
    display: block;
    color: #fff;
    text-decoration: none;
}
.carousel-indicators a:hover {
    color:#fff;
	text-decoration: none;
}
.carousel-indicators a:focus {
    outline: 0 none;
}
.carousel-indicators a:focus .carousel-indicator-icon {
    background-color: rgba(0,0,0,0.3);
}
.carousel-indicator-text {
    text-align: center;
    margin-bottom: 1rem;
    padding:0 15px;
}
.carousel-indicator-heading {
    font-size: 1.5em;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.2;
}

.carousel-indicator-icon {
    padding-top:.75rem;
    padding-bottom: .75rem;
    width:3.75rem;
    margin:1rem auto;
    border:2px solid transparent;
    border-radius: 50%;
    font-size: 2rem;
    color:#fbf1ca;
}
.carousel-indicators button.active .carousel-indicator-icon {
    border-color: #fbf1ca;
}
.carousel-indicator-icon svg {
    display: block;
    margin:0 auto;
    fill: #fbf1ca;
    width: 1.125em;
    height:1em;
}

/* Handle Indicator Transitions */

.carousel-indicators button {
    transition: none;
	list-style-type: none;
}
.carousel-indicators.transition-on button {
    transition: transform .5s ease-in;
}
.carousel-indicators button.offscreen-left-indicator {
    transform: translateX(-100%);
    z-index: -1;
    opacity: 0;
}
.carousel-indicators button.left-indicator {
    transform: translateX(0);
    z-index: 5;
}
.carousel-indicators button.active {
    transform: translateX(100%);
    z-index: 5;
}
.carousel-indicators button.right-indicator {
    transform: translateX(200%);
    z-index: 5;
}
.carousel-indicators button.offscreen-right-indicator {
    transform: translateX(300%);
    z-index: -1;
    opacity: 0;
}
.carousel-indicators::before,
.carousel-indicators::after {
    content: '';
    position: absolute;
    left: 33.33%;
    top: -15px;
    display: block;
    width: 33.33%;
}
.carousel-indicators::before {
    /*height: calc(40% + 15px);*/
    border-bottom-left-radius: 15px 100%;
    border-bottom-right-radius: 15px 100%;
    box-shadow: 10px 20px 8px -8px rgba(0, 0, 0, 0.15), -10px 20px 8px -8px rgba(0, 0, 0, 0.15);

    z-index: 3;
}
.carousel-indicators::after {
    height: calc(100% + 40px);
    background-color: #1e5873;
    background-image: -webkit-linear-gradient(top, #a14331, #873121 75%); /* Chrome 10-25, iOS 5+, Safari 5.1+ */
    background-image:         linear-gradient(to bottom, #a14331, #873121 75%); /* Chrome 26, Firefox 16+, IE 10+, Opera */
    /*clip-path: polygon(0% 5%, 50% 0%, 100.5% 5%, 100.5% 100%, 0% 100%);*/
	border-top-right-radius: 20px;
	border-top-left-radius: 20px;
    z-index: 4;
}

/* Handle focus state for offscreen indicators */

.carousel-indicators button.offscreen-right-indicator:focus-within,
.carousel-indicators button.offscreen-left-indicator:focus-within {
    transform: translateX(0%);
    z-index: 999;
    opacity: 1;
    width: auto;
    top: auto;
    left: auto;
    right: 10px;
    bottom: 10px;
    min-height: auto !important;
}
.carousel-indicators button.offscreen-left-indicator:focus-within {
    left: 10px;
    right: auto;
    min-height: auto !important;
}

.carousel-indicators button.offscreen-right-indicator a:focus .carousel-indicator-text,
.carousel-indicators button.offscreen-left-indicator a:focus .carousel-indicator-text {
    background-color: #fff;
    color: #444;
    padding: 15px;
    border: 2px solid #fff;
    border-radius: 10px;
    box-shadow: 4px 4px 4px 0 rgba(0,0,0,0.15);
}
    .carousel-indicators button.offscreen-right-indicator a:focus .carousel-indicator-text .carousel-indicator-heading,
    .carousel-indicators button.offscreen-left-indicator a:focus .carousel-indicator-text .carousel-indicator-heading {
        text-transform: none;
        font-size: 1.25rem;
        color: #873121;
    }

/* --------------- Carousel Caption --------------- */

.carousel-caption-inner {
    padding: 0 15px;
}
.carousel-caption h2 {
    font-weight: 600;
    margin-bottom:.25em;
	color: #fbf1ca;
}
.carousel-caption .caption-details,
.carousel-caption .caption-details > * {
    margin-bottom:.75em;
	color: #313131;
}
.carousel-caption .caption-details :last-child {
    margin-bottom:0;
}
.carousel-caption .btn {
	border-radius:1.0809em/50%;
}

/* Maroon Button */

.carousel-caption .btn-primary {
    background-color:#a14331;
    border-color: #a14331;
	color:#fff;
}
.carousel-caption .btn-primary:hover,
.carousel-caption .btn-primary:not(:disabled):not(.disabled).active,
.carousel-caption .btn-primary:not(:disabled):not(.disabled):active,
.carousel-caption .show > .btn-primary.dropdown-toggle {
    background-color: #873121;
    border-color: #873121;
    color:#fff;
}
.carousel-caption .btn-primary:focus {
    background-color: #873121;
    border-color: #873121;
    color:#fff;
    box-shadow: 0 0 0 .2rem rgba(135,49,33,0.5) !important;
}

/* Teal Button */

.carousel-caption .btn-secondary {
    background-color:#008575;
    border-color: #008575;
	color:#fff;
}
.carousel-caption .btn-secondary:hover,
.carousel-caption .btn-secondary:not(:disabled):not(.disabled).active,
.carousel-caption .btn-secondary:not(:disabled):not(.disabled):active,
.carousel-caption .show > .btn-secondary.dropdown-toggle {
    background-color: #006458;
    border-color: #006458;
    color:#fff;
}
.carousel-caption .btn-secondary:focus {
    background-color: #006458;
    border-color: #006458;
    color:#fff;
    box-shadow: 0 0 0 .2rem rgba(0,100,88,0.5) !important;
}

/* XS and SM only */
@media (max-width: 767px) {

    .carousel-caption {
        background-color: #fff;
        color:#313131;
        position: static;
    }
    .carousel-caption h2 {
        font-size: 1.5rem !important;
        color:#006458;
    }
    .carousel-caption .caption-details {
        font-size: 1.125rem !important;
    }
    .carousel-caption .btn {
        margin-bottom: .5em;
    }
    .carousel-caption .caption-details > table {
        margin:0 auto;
    }
    .carousel-indicator-text {
        display: none;
    }
    .carousel-indicators button.active .carousel-indicator-text {
        display: block;
        margin-left: -100%;
        margin-right: -100%;
    }
	.carousel-caption .btn {
	border-radius:1.0809em/50%;
}

}

/* MD and wider */
@media (min-width: 768px) {

    #carousel-homepage .togglePausePlay {
        top: auto;
        margin-top:0;
        bottom:0;
        margin-bottom: 142px;
    }

    #carousel-homepage {
        background-color:#eee;
    }
    #carousel-homepage .carousel-inner {
        padding-bottom: calc((65px - 3.869%) * 1.842);
    }
    .carousel-indicators {
        position: absolute;
        left:0;
        bottom:0;
        background-color:rgba(135,49,33,.85);
        background-image: -webkit-linear-gradient(top, rgba(135,49,33,0), rgba(135,49,33,1) 45.378%); /* Chrome 10-25, iOS 5+, Safari 5.1+ */
        background-image:         linear-gradient(to bottom, rgba(135,49,33,0), rgba(135,49,33,1) 45.378%); /* Chrome 26, Firefox 16+, IE 10+, Opera */
        border-top:1px solid rgba(255,255,255,0.3);
        margin-top:40px;
        z-index: 2;
    }
        .carousel-indicators button {
            margin-top: 0;
        }
            .carousel-indicators button.active {
                margin-top: -40px;
            }
    .carousel-indicators::after {
        top:-40px;
         height: calc(100% + 40px);
    	background-color: #2d66a5;
    background-image: -webkit-linear-gradient(top, #a14331, #873121 75%); /* Chrome 10-25, iOS 5+, Safari 5.1+ */
    background-image: linear-gradient(to bottom, #a14331, #873121 75%); /* Chrome 26, Firefox 16+, IE 10+, Opera */
    /*clip-path: polygon(0% 5%, 50% 0%, 100.5% 5%, 100.5% 100%, 0% 100%);*/
		border-top-right-radius: 20px;
		border-top-left-radius: 20px;
    	z-index: 4;
    }
    .carousel-indicators::before {
        top:-40px;
        height: calc(80% + 40px);
    }

    .carousel-indicators .carousel-indicator-icon {
        margin-bottom: .5rem;
        position: absolute;
        top:-9999px;
        left:-9999px;
        transform: translateY(-25px);
        opacity: 0;
        transition: transform .4s .7s cubic-bezier(0.17, 0.88, 0.32, 1.27), opacity .2s .7s;
    }
        .carousel-indicators button.active .carousel-indicator-icon {
            display: block;
            position: static;
            transform: translateY(0px);
            opacity: 1;
        }

    .carousel-indicator-text {
        font-size: 1.8vw;
        margin-top:2.75rem;
        margin-bottom: 0;
    }
    .carousel-indicators button.active .carousel-indicator-text {
        margin-top: 0;
        margin-bottom: 2rem;
    }

    .carousel-indicators a:focus .carousel-indicator-text {
        background-color:rgba(0,0,0,0.3);
        color:#fff;
    }
    .carousel-indicators .active a:focus .carousel-indicator-text {
        background-color: transparent;
        color:#fff;
    }

    /* --------------- Carousel Captions --------------- */

    
    .carousel-caption {
        font-size:13px;
        font-size:1.786vw;
        text-shadow:none;
        cursor:default;
        -webkit-user-select: none;  /* Chrome all / Safari all */
        -moz-user-select: none;     /* Firefox all */
        -ms-user-select: none;      /* IE 10+ */
        user-select: none;
        top:0;
        bottom:0;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
        text-align:left;
        padding-top:4%;
        padding-bottom:12%;
    }
    a .carousel-caption {
        cursor: pointer;
    }
    .carousel-caption.empty-caption {
        display: none;
    }
    .caption-top .carousel-caption {
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
    }
    .caption-vertical-center .carousel-caption {
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
    }
    .caption-bottom .carousel-caption {
        -ms-flex-align: end;
        align-items: flex-end;
        -ms-flex-line-pack: end;
        align-content: flex-end;
    }
    .carousel-caption p {
        margin-bottom: 1em;
    }
    .carousel-caption :last-child {
        margin-bottom:0;
    }
    .caption-left .carousel-caption {
        left:3%;
        right:55%;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .caption-center .carousel-caption {
        left:3%;
        right:3%;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .caption-right .carousel-caption {
        left:55%;
        right:3%;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .carousel-caption-inner {
        padding:2vw 7%;
        position: relative;
    }
    .caption-center .carousel-caption-inner {
        padding-left: 3vw;
        padding-right: 3vw;
    }
    .carousel-caption-inner::before {
        content:'';
        position: absolute;
        left:0;
        top:0;
        background-color: rgba(0,0,0,0.7);
        width:100%;
        height:0%;
        transition: height .7s;
        z-index: -1;
		border-radius: 1rem;
		border: transparent 1px;
    }
    .active .carousel-caption-inner::before,
    .carousel-item-left .carousel-caption-inner::before,
    .carousel-item-right .carousel-caption-inner::before {
        height: 100%;
    }
.carousel-caption .caption-details,
.carousel-caption .caption-details > * {
    margin-bottom:.75em;
	color: #fff;
}
    .carousel-caption .btn {
        font-size:.75em;
        padding:.25em 1em;
		border-radius:1.0809em/50%;
    }

}

/* LG and wider */
@media (min-width: 992px) {

    .carousel-indicator-text {
        font-size: 1.125rem;
    }
    .carousel-indicators {
        background-image: -webkit-linear-gradient(top, rgba(135,49,33,0), rgba(135,49,33,1) 45.378%); /* Chrome 10-25, iOS 5+, Safari 5.1+ */
        background-image:         linear-gradient(to bottom, rgba(135,49,33,0), rgba(135,49,33,1) 45.378%); /* Chrome 26, Firefox 16+, IE 10+, Opera */
    }
	

}

/* XL and wider */
@media (min-width: 1200px) {

    .carousel-indicators {
        background-image: -webkit-linear-gradient(top, rgba(135,49,33,0), rgba(135,49,33,1) 45.378%); /* Chrome 10-25, iOS 5+, Safari 5.1+ */
        background-image:         linear-gradient(to bottom, rgba(135,49,33,0), rgba(135,49,33,1) 45.378%); /* Chrome 26, Firefox 16+, IE 10+, Opera */
	}
	.carousel-caption .btn {
		border-radius:1.0809em/50%;
	}

}

@media (min-width: 1680px) {

    .carousel-indicators {
        background-image: none;
    }

}

/* --------------- Banner Ad Page --------------- */

#banner-ad-page .carousel-item {
    position:relative;
    overflow:hidden;
    display: block;
    margin-right: 0;
    float:none;
}
#banner-ad-page .carousel-caption-inner::before {
    height: 100%;
}
#banner-ad-page div.carousel-item img {
	position: relative;
	z-index: -1;
}

/* --------------- For CMS --------------- */

.DesignMode #carousel-homepage {
    margin-top: 0;
}