.promo-box-component {
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: stretch;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

.promo-box-component .media-container {
    position: relative;
    min-height: 29rem;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    overflow: hidden;
}

.promo-box-component .text-container {
    min-height: 29rem;
    display: flex;
    flex-direction: row;
    padding: 30px;
    width: 100%;
    min-height: auto;
    align-items: center;
}

.promo-box-component .promo-header h3 {
    margin-top: 10px;
    font-weight: bold;
}

.promo-box-component .media-container a {
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
}

.promo-box-component .media-container a::before {
    content: url(/images/youtube-play-red.svg);
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    opacity: .9;
}

.promo-box-component .media-container:hover a::before {
    opacity: 1;
}

.promo-box-component .media-container i.far.fa-play-circle.fa-7x {
    display: none;
}

/* Specific Designs */
.promo-box-component.design0 {
    background-color: #f8f8f8;
}

.promo-box-component.design1 {
    border: 1px solid #e4e4e4;
}

.promo-box-component.design1 .text-container {
    color: #252525;
    background-color: #ffffff;
}

.promo-box-component.design2 .text-container {
    color: #ffffff;
    background-color: #252525;
}

.promo-box-component.design3 .text-container {
    color: #ffffff;
    background-color: #002a5c;
}

.promo-box-component.design4 .text-container {
    color: #252525;
}

.promo-box-component.design5 .text-container {
    background-color: #f8f8f8;
}

.promo-box-component.design6 .text-container {
    background-color: #f8f8f8;
}

.promo-box-component.design4 > .text-container, 
.promo-box-component.reverse.design4 > .text-container {
    border: solid 12px #fec52d;
}

.promo-box-component.design2 a, 
.promo-box-component.design3 a {
    color: #96daff;
	 font-weight: bold;
}

/* button styles */
.promo-box-component .text-container .btn {
    color: #000;
    background-color: #ffca2c;
    border-color: #ffc720;
    font-size: 18px;
    margin-top: 15px;
}

.promo-box-component .text-container .btn:hover {
    background-color: #ffc107;
    border-color: #ffc107;
}

/* Icon Margins */
.promo-box-component a.btn span {
    margin-right: 0.3em;
}

.promo-box-component .media-container::after, 
.promo-box-component.reverse .media-container::after {
    position: absolute;
    bottom: -8%;
    left: 50%;
    width: 4rem;
    height: 4rem;
    transform: translateX(-50%) rotate(45deg);
    content: '';
    box-shadow: 1px 1px 3px rgb(51 51 51 / 43%);
    background-color: #f8f8f8;
}

/* arrow colors */
.promo-box-component.design0 .media-container::after, 
.promo-box-component.reverse.design0 .media-container::after {
    background-color: #f8f8f8;
}

.promo-box-component.design1 .media-container::after, 
.promo-box-component.reverse.design1 .media-container::after {
    background-color: #ffffff;
}

.promo-box-component.design2 .media-container::after, 
.promo-box-component.reverse.design2 .media-container::after {
    background-color: #252525;
}

.promo-box-component.design3 .media-container::after, 
.promo-box-component.reverse.design3 .media-container::after {
    background-color: #002a5c;
}

.promo-box-component.design5 .media-container::after, 
.promo-box-component.reverse.design5 .media-container::after {
    background-color: #f8f8f8;
}

.promo-box-component.design6 .media-container::after, 
.promo-box-component.reverse.design6 .media-container::after {
    background-color: #f8f8f8;
}

.promo-box-component .media-container.forty-sixty {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 45rem;
}

.promo-box-component .media-container.sixty-forty {
    position: relative;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 407 / 190;
    min-height: 19rem;
}

/* Rule for media-container with sixty-forty class */
.promo-box-component .media-container.sixty-forty::after {
    bottom: -11%;
}

/* Rule for media-container with forty-sixty class */
.promo-box-component .media-container.forty-sixty::after {
    bottom: -5%;
}

/* Desktop Behavior */
@media screen and (min-width: 768px) {
    .promo-box-component {
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .promo-box-component.reverse {
        flex-direction: row-reverse;
    }

    .promo-box-component .media-container {
        width: 50%;
        height: auto;
        min-height: 29rem;
        background-position: center center;
    }

    .promo-box-component .media-container.forty-sixty {
        width: 60%;
    }

    .promo-box-component .media-container.sixty-forty {
        width: 40%;
    }

    .promo-box-component .text-container.sixty-forty {
        width: 60%;
    }

    .promo-box-component .text-container.forty-sixty {
        width: 40%;
    }

    .promo-box-component .text-container.thirty-seventy {
        width: 30%;
    }

    .promo-box-component .media-container::after {
        left: 0;
        bottom: 42%;
    }

    .promo-box-component.reverse .media-container::after {
        left: 100%;
        bottom: 42%;
    }

    .promo-box-component .media-container.sixty-forty::after {
        bottom: 42%;
    }

    .promo-box-component .media-container.forty-sixty::after {
        bottom: 42%;
    }

    .promo-box-component.design0 {
        background-color: #ffffff;
    }

    .promo-box-component.design0 .media-container::after, 
    .promo-box-component.reverse.design0 .media-container::after {
        background-color: #ffffff;
    }

    .promo-box-component .text-container {
        width: 50%;
    }

    /* Stack location border and radius adjustments */
    /* Common styles for first and middle stacks */
    .img-card-comp-wrap.first-stack .promo-box-component, 
    .img-card-comp-wrap.middle-stack .promo-box-component {
        margin-bottom: 0;
    }

    /* First stack media container adjustments */
    .img-card-comp-wrap.first-stack .promo-box-component.design0 .media-container, 
    .img-card-comp-wrap.first-stack .promo-box-component.reverse.design0 .media-container, 
    .img-card-comp-wrap.first-stack .promo-box-component.design1, 
    .img-card-comp-wrap.first-stack .promo-box-component.design2, 
    .img-card-comp-wrap.first-stack .promo-box-component.design3, 
    .img-card-comp-wrap.first-stack .promo-box-component.design4, 
    .img-card-comp-wrap.first-stack .promo-box-component.design5, 
    .img-card-comp-wrap.first-stack .promo-box-component.reverse.design1, 
    .img-card-comp-wrap.first-stack .promo-box-component.reverse.design2, 
    .img-card-comp-wrap.first-stack .promo-box-component.reverse.design3, 
    .img-card-comp-wrap.first-stack .promo-box-component.reverse.design4, 
    .img-card-comp-wrap.first-stack .promo-box-component.reverse.design5,
	.img-card-comp-wrap.first-stack .promo-box-component.reverse.design6 {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        border-bottom: 0;
    }

    /* Middle stack media container adjustments */
    .img-card-comp-wrap.middle-stack .promo-box-component.design0 .media-container, 
    .img-card-comp-wrap.middle-stack .promo-box-component.reverse.design0 .media-container, 
    .img-card-comp-wrap.middle-stack .promo-box-component.design1, 
    .img-card-comp-wrap.middle-stack .promo-box-component.design2, 
    .img-card-comp-wrap.middle-stack .promo-box-component.design3, 
    .img-card-comp-wrap.middle-stack .promo-box-component.design4, 
    .img-card-comp-wrap.middle-stack .promo-box-component.design5,
	.img-card-comp-wrap.middle-stack .promo-box-component.design6, 
    .img-card-comp-wrap.middle-stack .promo-box-component.reverse.design1, 
    .img-card-comp-wrap.middle-stack .promo-box-component.reverse.design2, 
    .img-card-comp-wrap.middle-stack .promo-box-component.reverse.design3, 
    .img-card-comp-wrap.middle-stack .promo-box-component.reverse.design4, 
    .img-card-comp-wrap.middle-stack .promo-box-component.reverse.design5,
	.img-card-comp-wrap.middle-stack .promo-box-component.reverse.design6 {
        border-radius: 0;
        border-top: 0;
        border-bottom: 0;
    }

    /* Last stack media container adjustments */
    .img-card-comp-wrap.last-stack .promo-box-component.design0 .media-container, 
    .img-card-comp-wrap.last-stack .promo-box-component.reverse.design0 .media-container, 
    .img-card-comp-wrap.last-stack .promo-box-component.design1, 
    .img-card-comp-wrap.last-stack .promo-box-component.design2, 
    .img-card-comp-wrap.last-stack .promo-box-component.design3, 
    .img-card-comp-wrap.last-stack .promo-box-component.design4,
	.img-card-comp-wrap.last-stack .promo-box-component.design5,
	.img-card-comp-wrap.last-stack .promo-box-component.design6,
    .img-card-comp-wrap.last-stack .promo-box-component.reverse.design1, 
    .img-card-comp-wrap.last-stack .promo-box-component.reverse.design2, 
    .img-card-comp-wrap.last-stack .promo-box-component.reverse.design3, 
    .img-card-comp-wrap.last-stack .promo-box-component.reverse.design4, 
    .img-card-comp-wrap.last-stack .promo-box-component.reverse.design5,
	.img-card-comp-wrap.last-stack .promo-box-component.reverse.design6 {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-top: 0;
    }
}

/* Container Media Query Additions */
 .col-sm-7 .img-card-comp-wrap, .col-sm-6 .img-card-comp-wrap, .col-sm-5 .img-card-comp-wrap, .col-sm-4 .img-card-comp-wrap, .col-sm-3 .img-card-comp-wrap, .pull-box-right .img-card-comp-wrap, .pull-box-left .img-card-comp-wrap {
     container-type: inline-size;
     container-name: image-card-comp;
}

@container image-card-comp (max-width: 900px) {
    .promo-box-component {
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .promo-box-component .text-container {
        width: 100%;
		align-items: flex-start;
    }

    .promo-box-component.reverse {
        flex-direction: column-reverse;
    }

    .promo-box-component .media-container {
        aspect-ratio: 16 / 9;
        width: 100%;
        min-height: 29rem;
        background-position: top center;
    }

    .promo-box-component .media-container::after, 
    .promo-box-component.reverse .media-container::after {
        left: 50%;
		bottom: -8%;
    }

    .promo-box-component .media-container.forty-sixty {
        width: 100%;
    }

    .promo-box-component .media-container.sixty-forty {
        width: 100%;
    }

	.promo-box-component .text-container.sixty-forty, 
	.promo-box-component .media-container.sixty-forty, 
	.promo-box-component .text-container.forty-sixty {
		width: 100%;
	}	

	.promo-box-component .media-container.sixty-forty::after {
		bottom: -11%;
	}


	.promo-box-component .media-container.forty-sixty::after {
		bottom: -5%;
	}

}

/* Editor Styles */
.stk-component-editor-wrapper.horizontal-card img {
    float: right;
    max-width: 250px;
}

.stk-component-editor-wrapper.horizontal-card img.yes {
    float: left;
    max-width: 250px;
    margin-right: 30px;
    margin-left: 20px;
}

/* Print-Only Styles */
@media print {
    /* Reduce padding and spacing */
    .promo-box-component .text-container {
        padding: 10px;
    }

    .promo-box-component .media-container {
        min-height: auto;
        background: none;
    }

    .promo-box-component {
        margin-bottom: 10px;
        border: none;
    }

    .promo-box-component .promo-header h3 {
        margin-top: 5px;
    }

    .promo-box-component .media-container a::before {
        display: none;
    }

    .promo-box-component .media-container i.far.fa-play-circle.fa-7x {
        display: none;
    }
}