.hidden { display: none !important; }
.editorialContent { position: absolute; font-size: 1.2em; display: none; }
#homepage { margin: 0 auto; }
#homepage--header .banner { width: 100%; }
#homepage--header img { width: 100%; aspect-ratio:750/492}
#homepage--body, #homepage--footer { margin: 0 10%; }
.row--one, .row--two, .row--three { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; align-items: center; -webkit-box-align: center; -webkit-justify-content: space-around; padding: 0 4px; }
.row--one { margin: 10% 0 0; }
.row--one .banner img { width: 100%; aspect-ratio: 1/1 }
#homepage--body .row--two .col--60 img { width: 100%; aspect-ratio: 331/263 }
#homepage--body .row--two .col--40 img { width: 100%; aspect-ratio: 331/526 }
#homepage--footer .row--three .banner img {	width: 100%; aspect-ratio: 1/1}
.col--50, .col--40, .col--60, .col--33 { max-width: 470px; width: 100%; }
#homepage--body .banner .col--50, #homepage--body .banner .col--60, #homepage--body .banner .col--40, #homepage--footer .banner .col--33 { text-align: center; width: 100%; max-width: 470px; }
.banner img { width: 100%; }
#homepage--body .caption, #homepage--footer .caption { margin: 5% 0 40px; text-align: center; }
    #homepage--body .caption span, #homepage--footer .caption span { border-bottom: 1px solid black; padding-bottom: .4em; color: #000; white-space: nowrap; }
.textBannerInner { padding: 5%; }
.textBannerHead { font-size: 2em; text-align: left; margin-bottom: 0.5em; }
.textBannerContent { font-size: 1em; text-align: left; }

#centralthemepage .banner .overlayText { position: absolute; cursor: pointer; white-space: nowrap; font-family: "SharpGroteskMedium",Arial; }
@media only screen and (min-width:860px) {
    .textBannerHead { font-size: 1em; }
    .textBannerContent { font-size: 0.8em; }
	#homepage--header img {width: 100%; aspect-ratio: 1903/694}

    #homepage--body, #homepage--footer { overflow: auto; }
        #homepage--body .caption, #homepage--footer .caption { margin: 5% 0 0 0; }
    .row--one, .row--two, .row--three { display: block; overflow: auto; }
    .row--one { margin: 0; }
    .col--50, .col--40, .col--60, .col--33 { max-width: none; }
    #homepage--body { max-width: 1536px; margin: 0 10%; }
    #homepage--footer { margin: 0 6.6%; }
    .col--50 { width: 46.7%; float: left; padding: 5% 3.0%; }
        .col--50 .banner, .col--50 .caption { max-width: 576px; }
        .col--50 img { max-width: 576px; width: 100%; }
    .row--one .col--50:nth-of-type(odd) { margin-right: 3.3%; }
    .row--one .col--50:nth-of-type(even) { margin-left: 3.3%; }
    .col--60 { width: 56.7%; float: left; padding: 5% 3.3%; }
        .col--60 .banner, .col--60 .caption { max-width: 768px; }
        .col--60 img { max-width: 768px; }
    .col--40 { width: 36.7%; float: left; padding: 5% 3.3%; }
        .col--40 .banner, .col--40 .caption { max-width: 384px; }
        .col--40 img { max-width: 384px; }
    .row--two .col--60 { margin-right: 3.3%; }
    .row--two .col--40 { margin-left: 3.3%; }
    .col--33 { width: 31%; float: left; padding: 5% 3.0%; }
        .col--33 .banner, .col--33 .caption { max-width: 384px; }
        .col--33 img { max-width: 384px; }
    .row--three .col--33:nth-of-type(odd) { }
    .row--three .col--33:nth-of-type(even) { margin: 0 3.3%; }
}
@media only screen and (min-width:1025px) {
    .textBannerHead { font-size: 1.5em; }
    .textBannerContent { font-size: 0.8em; }
    .editorialContent { display: block; }

	.caption { border: 1px solid black; margin: -12px auto 0!important; max-width: 85% !important; line-height: 44px; padding: 0 10px; background-color: #fff; transform: translateY(50%); }
		.caption:hover { background-color: #000; color: #fff !important; }

		.caption span { border: none !important; color: unset !important; width: 100%; padding: 0 !important; }
		.caption:hover > span { color: #fff !important; }

	.col--50, .col--60, .col--40, .col--33 { position: relative; }
	.col--33, .col--50 { padding: 5% 0 3% 3% }
	.col--60, .col--40 { padding: 3% 0 5% 3.3%; }
	.banner { border: 3px solid #fff; padding: 5px 5px 0 5px; overflow:visible;}
	#homepage--header .banner { border: none !important; padding: 0 !important; }
	.col--50:hover > .banner, .col--60:hover > .banner, .col--40:hover > .banner, .col--33:hover > .banner { border: 3px solid #000; padding: 5px 5px 0 5px; }

	.col--33 > div {max-width:384px;}
	.col--60 > div {max-width: 768px; }
	.col--40 > div {max-width: 384px; }
	.col--50 > div {max-width: 576px; }

	.col--50:hover > div > a > .caption, .col--60:hover > div > a > .caption, .col--40:hover > div > a > .caption, .col--33:hover > div > a > .caption { background-color: black; color: #ffffff !important; }
	
	.col--50:hover > div > .caption > a, .col--60:hover > div > .caption > a, .col--40:hover > div > .caption > a, .col--33:hover > div > .caption > a { color: #fff !important; }

	.col--50 > div > a:focus-visible .caption, .col--60 > div > a:focus-visible > .caption, .col--40 > div > a:focus-visible > .caption, .col--33 > div > a:focus-visible > .caption {
		background-color: black;
		color: #ffffff !important;
	}


}
@media only screen and (min-width:1366px) {
    .editorialContent { font-size: 1.4em; }
}
@media only screen and (min-width:1400px) {
    .editorialContent { font-size: 1.6em; }
}
@media all and (min-width: 1921px) {
    #homepage--body { margin: 0 auto; }
}