@import 'https://www.kentuckyderby.com/uploads/utilities.css';
@import 'https://www.kentuckyderby.com/styles/css/animations.css';
@import 'https://www.kentuckyderby.com/styles/css/main.css';

.subscription-form-prompt {
  margin-bottom: 7px;
}
.sponsor-menu { text-align: center }
.sponsor-menu-2 {
  position: static;
  right: auto;
  bottom: auto;
  height: auto;
}
@media only screen and (min-width: 1130px) {
  .sponsor-menu { text-align: left }
  .sponsor-menu-2 {
    position: absolute;
    right: 30px;
	bottom: 16px;
	height: 38px;
  }
}

@media print {
  .gm-nav { display: none; }
}

/* Tracking pixel hide */
body > img[width="1"] { display: none }

.truncate {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hover\:underline:hover {
  text-decoration: underline;
}



@media (min-width: 768px) {
  .main-menu-button-group {
    display: flex;
	align-items: stretch;
  }
  .main-menu-button {
    display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
    font-size: 14px;
	height: 58px;
	background: transparent;
	color: rgb(41,41,43);
	border: 0;
	transition: background-color 0.3s;
  }
  .main-menu-button#mainmenu-horses,
  .main-menu-button#mainmenu-plan,
  .main-menu-button#mainmenu-watch,
  .main-menu-button#mainmenu-wager,
  .main-menu-button#mainmenu-history,
  .main-menu-button#mainmenu-store,
  .main-menu-button#mainmenu-tickets {
    width: auto;
  }
  .main-menu-button.active {
	background: transparent;
	color: rgb(41,41,43);
  }
  .main-menu-button:hover,
  .megamenu-open-state .main-menu-button.open-state {
    background: rgba(0,0,0,0.045);
	color: rgb(41,41,43);
  }
  .main-menu-button.active::after {
    bottom: 9px;
	background: rgb(41,41,43);
  }
}
@media (min-width: 900px) {
  body {
    padding-top: 73px;
  }
  .main-menu-button {
    height: 72px;
  }
  .megamenu-group {
  	top: 72px;
  }
  .main-menu-logo {
    padding: 18px 15px;
  }
  .main-menu-button.active::after {
    bottom: 12px;
  }
}


/*-- replaces _racing.scss:46 --*/
.contender-preview .contender-preview-label {
  font-weight: 700;
  color: #fff;
  opacity: 0.5;
  text-transform: uppercase;
  font-size: 11px;
  line-height: 1.54;
}

/*-- replaces _controls.scss:644 --*/
.subscription-form .subscription-form-label {
  margin-bottom: 7px;
  font-size: 1em;
  font-weight: 500;
  color: #29292b;
}
.navigation-button[disabled] {
  color: #000;
  opacity: 0.2;
}

/*-- replaces _racing.scss:240 --*/
.next-race-tout .next-race-tout-header {
  font-size: 40px;
  font-family: "sorts-mill-goudy",Georgia,sans-serif;
  line-height: 1;
  text-transform: lowercase;
  color: #bbb;
}

/*-- replaces _racing.scss:247 --*/
.next-race-tout .next-race-tout-date {
  font-family: "sorts-mill-goudy",Georgia,sans-serif;
}

/*-- replaces _party.scss:64 --*/
.nbc-agenda .small {
  text-transform: uppercase;
  font-size: .75em;
}

/*-- replaces _party.scss:130 --*/
.party-planner-tout .party-planner-tout-callout {
  font-size: 1.25em;
  font-weight: 500;
  color: white;
}

/*-- stand alone -- used to replace styles for h2 headers in dark themed areas -- */
.dark-header {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.45;
  color: white;
}

/*-- stand alone -- used to replace styles for h3 headers in dark themed areas -- */
.dark-header-h3 {
  font-size: 1em;
  font-weight: 500;
  color: white;
}

/*-- stand alone -- used to replace styles for h2 headers in sidebar callouts -- */
.text-style-aside-header {
  font-size: 1.188em;
}

/*-- replaces _racing.scss:84 --*/
.odds-board-horse header {
  display: none;
}

/*-- replaces _racing.scss:85 --*/
.odds-board-item:first-child .odds-board-horse header {
  display: block;
}

/*-- replaces _racing.scss:84 --*/
.odds-board-item:first-child header {
  text-transform: none;
}

/*-- replaces _racing.scss:84 --*/
.odds-board-item header {
  margin: 0 0 5px;
  text-transform: uppercase;
}

/*-- replaces _racing.scss:977 --*/
@media only screen and (min-width: 645px) {
  .odds-board-item:first-child header {
	display: block;
	margin: 0 0 10px;
	padding: 0;
  }
  .odds-board-item:first-child header.text-style-footnote {
	margin: 0 0 20px;
  }
}



/*-- in __racing.scss:~894 -- had to replace all the <i> elements to <span class="odds-type-item"> --*/
.odds-board-odds span.odds-type-item {

}

.odds-board-odds span.odds-type-item {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;

  display: inline-block;
  font-style: normal;
  min-width: 56px;
  padding: 12px 12px;
  text-align: center;
}

.odds-board-odds span.odds-type-item:nth-child(1) {
  -webkit-animation-duration: 1.7s;
  -webkit-animation-name: odds-roll-down;
}

.odds-board-odds span.odds-type-item:nth-child(2) {
  min-width: 0;
  border-left: 1px solid #d9d7d2;
  border-right: 1px solid #d9d7d2;
}

.odds-board-odds span.odds-type-item:nth-child(3) {
  -webkit-animation-duration: 1.7s;
  -webkit-animation-name: odds-roll-up;
}

/*-- New CSS for composition.scss, had to add modifier class supporting three tap buttons --*/
.tap-button-group.-three>a {
  width: 32%;
  margin-right: 2%
}

.tap-button-group.-three>a:first-child {
  border-right: none
}

.tap-button-group.-three>a:last-child {
  margin-right: 0
}

/*-- needed margins on paragraphs in captions. editors where entering empty paragraph tags to achieve the effect  --*/
.caption p {
  margin: 20px 0;
}

/*-- need to center things in a sponsor sidebar --*/
.sidebar-sponsors {
	text-align: center;
}
.sidebar-sponsors header {
	margin: 20px 0;
}
.grid-2 a {
	display:block;
	width: 50%;
	float:left;
}
.grid-2::after {
  clear: both;
  content: "";
  display: table;
}

/*-- to replace the <u> tag --*/
.u {
  text-decoration: underline;
}

/*-- we need a way to visually hide text for callouts that have only images --*/
.visuallyhidden { 
  position: absolute; 
  overflow: hidden; 
  clip: rect(0 0 0 0); 
  height: 1px; width: 1px; 
  margin: -1px; padding: 0; border: 0; 
}

.header-margins {
  margin-top: 30px;
  margin-bottom: 7px;
  font-weight: 500;
}

/*-- header vareation for the news landing page --*/
.news-header {
	font-family: museo-sans, "Helvetica Neue", sans-serif;
}

/*-- make em tags emphisise text --*/
em {
    font-style: italic;
}

/*-- remove browser default for slick slide focus --*/
.slick-slide:focus {
	outline:none;
}

/*-- adds css/class to replace depreciated strike tag --*/
.strike {
	text-decoration: line-through;
}

/*-- adds style to hr tags for use in place of the .ruler in content --*/
hr {
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.chef-list-item article p {
    margin-bottom: 10px;
}

/*-- Custom Headers --*/ 

.cover-art-expert-picks {
  padding-top: 16vh;
  padding-bottom: 16vh;
}

.cover-art--layout-large {
  padding-top: 16.5vh;
  padding-bottom: 16.5vh;
}
.cover-art--layout-large header {
  opacity: 0;
}
.cover-art-opening-night::after,
.cover-art-502sday::after,
.cover-art-champions-day::after,
.cover-art-thurby::after,
.cover-art-oaks::after,
.cover-art-kentucky-derby::after,
.cover-art-taste-of-derby::after,
.cover-art-dawn-at-the-downs::after,
.cover-art-official-events::after {
  display: none;
}

@media only screen and (max-width: 600px) {
  .cover-art--layout-large {
	padding-top: 9.5vh;
	padding-bottom: 9.5vh;
  }
}

/*-- move page title out of the way for small screens (if needed) --*/
.cover-art-opening-night article,
.cover-art-dawn-at-the-downs article {
  width: 50%;
  margin-left: 0;
}

@media only screen and (min-width: 640px) {
  .cover-art-opening-night article,
  .cover-art-dawn-at-the-downs article {
    width: 100%;
    margin-left: auto;
  }
}

/*-- small button text for header and header layout in /party --*/
.section-party .more-link {
  font-size: 1rem;
}

@media only screen and (min-width: 750px) {
  .section-party .derby-week-header-layout>*:nth-child(2) {
	width: 60%;
	text-align: left;
  }
  .section-party .derby-week-header-layout>*:nth-child(3) {
	width: 40%;
	text-align: right;
  }
}

@media only screen and (min-width: 1200px) {
  .section-party .derby-week-header-layout>*:nth-child(1) {
	display: block;
	width: 26%;
	text-align: center;
	padding: 10px 0px;
  }
  .section-party .derby-week-header-layout>*:nth-child(2) {
	width: 46%;
	text-align: center;
	padding: 0;
  }
  .section-party .derby-week-header-layout>*:nth-child(3) {
	width: 28%;
	text-align: center;
	padding: 0;
  }
}

/*-- Polkadot Part Branding Override --*/
.cell-style-polkadot,
.cell-style-polkadot.tint-shaded {
  background: #124637;
}

/*-- Derby Week 2018 --*/
.contender-profile-header .fb-like {
    margin-right: 4px;
}
.tweet-pin-buttons {
    float: left;
    margin-top: 21px;
}
.tweet-pin-buttons iframe, .tweet-pin-buttons span {
    display: inline-block;
    vertical-align: middle;
}
@media only screen and (max-width: 727px) {
    .contender-profile-header .fb-like {
        margin-right: 0;
    }
    .tweet-pin-buttons {
        float: none;
        margin-top: 8px;
        margin-bottom: 15px;
    }
}
a:hover .home-card-image {
  filter: brightness(1.15);
}
.rule-offset {
	margin-top: 3rem;
	margin-bottom: 3rem;
}
@media only screen and (max-width: 600px) {
	.blog-post-header {
		margin-left: 15px;
		margin-right: 15px;
	}
}
.derby-gives-unit {
	background-image: url("/uploads/cover-art/derbyweek/derby-gives-pool-amount-grey.png");
}
.nbc-bug-content .content-bar > * {
	display: inline-block;
}
.event-countdown ._headline {
	text-shadow: 0 5px 20px rgba(0,0,0,0.2)
}


/* Split background layout for form pages, from CDRT site */
.split-background-layout {
   position: relative;
    display: flex;
	flex-direction: column-reverse;
	align-items: stretch;
}
.split-background-layout .image-group {
	padding: 0;
}
.split-background-layout .image-gallery-item {
    width: 100%;
	height: 50vh;
}
@media only screen and (min-width: 1024px) {
    .split-background-layout {
        flex-direction: row;
	}
    .split-background-layout .content-region {
        min-height: 100vh;
        width: 50%
    }
    .split-background-layout .background-region {
        width: 50%;
		height: 100vh;
        overflow: hidden;

		position: sticky;
		top: 0;
    }
	.split-background-layout .image-gallery-item {
        height: 100vh;
	}
}


/* Derby 145 */
.gate-item {
	transform: translateZ(0);
}
.force-align-bottom > * {
	vertical-align: bottom !important;
}

@media screen and (max-width: 600px) {
  .nbc-agenda tr td:nth-child(1) {
  	  font-weight: bold;
	  white-space: normal;
  }
}
@media screen and (max-width: 899px) {
	/* Hide flickering NBC logo until we can fix it fully */
	.event-countdown-parts>div:nth-child(2) {
		display: none;
	}
}

/* Changes to Saddles */
.saddle-16, .gate-item.gate-number-16 {
  color: #FF4E00;
  font-weight: 500;
}
.saddle-18, .gate-item.gate-number-18 {
  color: #FFF200
}
.saddle-19, .gate-item.gate-number-19 {
  color: #FF2C1C;
  font-weight: 500;
}
.saddle-20, .gate-item.gate-number-20 {
  color: #F7EB00
}

/* Responsive Table */
@media screen and (max-width: 600px) {
  table.responsive-table {
    border: 0;
  }

  table.responsive-table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  table.responsive-table tr {
    display: block;
    margin-bottom: .625em;
  }
  
  table.responsive-table td {
    display: block;
	padding-left: 15px !important;
    text-align: left !important;
  }
  
  table.responsive-table td::before {
    /*
    * aria-label has no advantage, it won't be read inside a table
    content: attr(aria-label);
    */
    content: attr(data-label);
    float: left;
    font-weight: bold;
    text-transform: uppercase;
  }

}

@media only screen and (min-width: 728px) {
	.megamenu .bet-now-column a {
		padding: 8px 0;
	}
}

/* replace longines-logo in count down */
.longines-logo {
    background: url(https://www.kentuckyderby.com/white-longines-logo) no-repeat center;
}

@media only screen and (min-width: 900px) {
  .event-countdown-parts.-white .longines-logo {
	  background-image: url(https://www.kentuckyderby.com/white-longines-logo);
  }
}

/* KyDerbyAtHome page shine */
@media only screen and (max-width: 600px) {
  table.KyDerbyAtHome-table {
	  display: table;
	  position: relative;
  }
  .KyDerbyAtHome-table tr {
	  position: relative;
	  display: flex;
	  align-items: flex-start;
	  justify-content: space-between;
	  padding-top: 13px;
	  padding-bottom: 10px;
  }
  .KyDerbyAtHome-table tr td {
	  display: block;
  }
  .KyDerbyAtHome-table tr td:nth-child(1) {
  	  position: absolute;
	  top: 10px;
  }
  .KyDerbyAtHome-table tr td:nth-child(2),
  .KyDerbyAtHome-table tr td:nth-child(3){
	  padding-top: 2em;
	  white-space: normal;
  }
  .KyDerbyAtHome-table tr td:nth-child(2) {
	  flex-basis: 66%;
  }
  .KyDerbyAtHome-table tr td:nth-child(3) {
	  flex-basis: 34%;
  }
  .KyDerbyAtHome-collection-item .h-inset-cell {
	  padding: 10px 0;
  }
}

  .dropdown-control {
    display: inline-block;
	background: #ED174F;
	color: #fff;
	border-radius: 4px;
  }
  .dropdown-control > button {
    display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding: 14px 24px;
	color: inherit;
  }
  .dropdown-control > button span {
    margin-right: 1.5em;
  }
  .dropdown-control nav a {
    display: block;
	padding: 7px 24px;
	color: #fff;
	text-decoration: none;
  }
  .dropdown-control nav a:hover {
    background: rgba(255,255,255,0.08);
  }
  .dropdown-control > div {
    display: none;
    padding-bottom: 7px;
  }
  .dropdown-control.is-open {
    background: #28202B;
  }
  .dropdown-control.is-open > div {
    display: block;
  }

/* Homepage tweaks */
@media only screen and (min-width: 767px) {
  /* Position the sticky card to the left */
  html .edition-layout-tout { float: left }
}

/* social Media buttons are off just a bit */
.tweet-pin-buttons {
    margin-top: 18px;
}

.share-buttons {
  display: flex;
}

.share-buttons > * {
  margin-right: 5px;
}

.contender-profile-header .share-buttons > * {
	margin-top: 16px;
	margin-bottom: 16px;
}

@media only screen and (min-width: 768px) {
  .contender-profile-header .split-button-group {
	  top: 85px;
  }
}

@media only screen and (min-width: 816px) {
  .contender-profile-header .split-button-group {
	  top: 11px;
  }
}

/* START --- Temp styles while we wait for server caches to come in 12/14/2020 -- */
/* This controlls the search icon in the mobile header */
.main-menu_search {
  display: block;
  width: 40px;
  height: 40px;
  padding: 10px;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media only screen and (min-width: 768px) {
  .main-menu_search {
    top: 10px;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  .gm-icon-toggle, .gm-nav {display: none}
}
@media only screen and (min-width: 900px) {
  .main-menu_search {
    display: none;
  }
}
/* END --- Temp styles while we wait for server caches to come in -- */

.odds-board-odds .odds-type-current > em {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
  display: inline-block;
  font-style: normal;
  min-width: 56px;
  padding: 12px 12px;
  text-align: center;
}
.odds-board-odds .odds-type-current > em:nth-child(2) {
  min-width: 0;
  border-left: 1px solid #d9d7d2;
  border-right: 1px solid #d9d7d2;
}

/* New layout utilities - 2021 */
.body-inset {
	padding: 1.33rem;
}
.bold-header-layout {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 4rem 1.33rem 2rem;
}
.bold-header-layout > * + * {
	margin-top: 15px;
}
.bold-header-layout h1 {
  	font-family: "museo-sans","Helvetica Neue",sans-serif;
	font-weight: 700;
}
@media screen and (min-width: 960px) {
	.body-inset {
	  padding: 3.5rem 4rem;
	}
	.bold-header-layout {
	  flex-direction: row;
	  align-items: flex-end;
	  justify-content: space-between;
	  padding: 2.5rem 4rem 1.5rem;
	}
	.bold-header-layout > * + * {
	  margin-top: 0;
	}
}
.bold-header-layout.-collapse-bottom {
  border: 0;
  padding-bottom: 0;
}
.title-offset {
  margin-bottom: 1.75rem;
}

/* Quickfix for rendering quirks with odds in the megamenu */
.leaderboard-table td { transform: translateZ(0) }

/* Fix for images on legacy recipe pages */
.recipe-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 1px;
  padding-top: 58%;
  border-radius: 4px;
  margin-bottom: 5px;
}

/* Background Video */
.jquery-background-video {
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	top: 50%;
	left: 50%;
	z-index: 1;
	-o-object-fit: cover;
	   object-fit: cover;
	-webkit-transform: translate(-50%,-50%);
	   -moz-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	     -o-transform: translate(-50%,-50%);
	    	transform: translate(-50%,-50%);
}
/**
 * Fade in videos
 * Note the .js class - so non js users still
 * see the video
 */
.js .jquery-background-video {
	opacity: 0;
	-webkit-transition: opacity 300ms linear;
			transition: opacity 300ms linear;
}
.js .jquery-background-video.is-visible {
	opacity: 1;
}
.jquery-background-video-scrim {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.35);
	pointer-events: none;
	z-index: 2;
}
/**
 * Pause/play button
 */ 
.jquery-background-video-pauseplay {
	position: absolute;
	z-index: 3;
	background: transparent;
	border: none;
	box-shadow: none;
	width: 20px;
	height: 20px;
	bottom: 115px;
	right: 15px;
	padding: 0;
	cursor: pointer;
	outline: none !important;
}
.jquery-background-video-audio {
	position: absolute;
	z-index: 3;
	background: transparent;
	border: none;
	box-shadow: none;
	width: 20px;
	height: 20px;
	bottom: 115px;
	left: 15px;
	padding: 0;
	cursor: pointer;
	outline: none !important;
}
.jquery-background-video-pauseplay span {
	display: none;
}
.jquery-background-video-pauseplay:after,
.jquery-background-video-pauseplay:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transition: all .3s ease;
			transition: all .3s ease;
}
.jquery-background-video-pauseplay.play:before {
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 15px solid #FFF;
}
.jquery-background-video-pauseplay.pause:before,
.jquery-background-video-pauseplay.pause:after {
	border-top: 10px solid #FFF;
	border-bottom: 10px solid #FFF;
	border-left: 5px solid #FFF;
}
.jquery-background-video-pauseplay.pause:after {
	left: 10px;
}
.jquery-background-video-audio path:nth-child(2) {
	visibility: hidden;
}
.jquery-background-video-audio.muted path:nth-child(2) {
	visibility: visible;
}
.home-card-image,
.home-card-layout {
	border-radius: 6px;
}
@media (min-width: 900px) {
	.jquery-background-video-audio,
	.jquery-background-video-pauseplay {
		left: auto;
		bottom: auto;
		top: 128px;
		right: 16px;
	}
	.jquery-background-video-audio { 
		right: 52px 
	}
}

.hover-grow .hover-grow-object,
.hover-grow.hover-grow-object {
  transition: 0.2s transform;
}
.hover-grow:hover .hover-grow-object,
.hover-grow:hover.hover-grow-object {
  transform: scale(1.015) translateY(-1px);
  transition-duration: 0.5s;
}

.popup-inset {
  padding: 1.5rem;
}
.popup-overlay {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(55,57,59,0.75);
  pointer-events: none;
  z-index: 110;
  transition: 0.3s opacity;
  opacity: 0;
}
.popup-proxy {
  transition: 0.35s opacity, 0.35s transform;
  position: fixed;
  left: 0;
  top: 10px;
  right: 0;
  bottom: 0;
  z-index: 120;
  overflow: hidden;
  transform: translate3d(0,105vh,0);
  pointer-events: none;
}
.popup-close {
  position: absolute;
  top: 18px;
  right: 18px;
}
.js-popup-open-state .popup-overlay {
  opacity: 1;
  cursor: pointer;
  pointer-events: all;
}
.js-popup-open-state .popup-proxy {
  transition: 0.55s opacity ease-out, 0.5s transform ease-out;
  opacity: 1;
  transform: translate3d(0,0,0);
  pointer-events: all;
}
.popup-layout {
  display: flex;
  flex-direction: column-reverse;
  align-items: stretch;
  background: #EDEFF0;
  width: 100%;
  height: 100%;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  overflow: auto;
}
.popup-layout > .image-region {
  height: 260px;
}
.popup-layout > .content-region {
  flex: 1;
  overflow: auto;
}
.popup-layout > .image-region img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.text-style-popup-title {
  font-size: 2.25rem;
  font-weight: 300;
  line-height: 1.05;
}
.popup-layout .title-color { color: #000 }
.popup-layout .labelled-input {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 400px;
  padding-right: 12px;
  background: #fff;
  border-radius: 10px;
}
.popup-layout .labelled-input > input { flex: 1 }
.popup-layout .labelled-input input,
.popup-layout .labelled-input button {
  font-size: 1rem;
}
.win-trip-theme .labelled-input button { color: #D531A5 }

@media (min-width: 37.5rem) {
  .popup-inset {
	padding: 2.75rem;
  }
  .popup-proxy {
	top: 50%;
	left: 50%;
	bottom: auto;
	right: auto;
	width: 100%;
	max-width: 900px;
	max-height: 96vh;
	transform: translate3d(-50%,105vh,0);
  }
  .js-popup-open-state .popup-proxy {
	transform: translate3d(-50%,-50%,0);
  }
  .popup-layout {
	border-radius: 20px;
	flex-direction: row;
  }
  .popup-layout > .content-region,
  .popup-layout > .image-region { width: 50% }
  .popup-layout > .content-region {
    display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-evenly;
  }
  .popup-layout > .image-region {
	height: auto;
  }
  .popup-layout > .image-region img {
	border-top-left-radius: 0;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
  }
}

/* Megamenu with natural height per menu, not fixed height for all */
html .megamenu-group {
  height: auto;
}
html .megamenu {
  bottom: auto;
}
html .mega-menu-section {
  height: auto;
}