/* #region Training resources ad */
.training-resources-ad {
	font-size: 16px;
	line-height: 1.5;
	padding: 1em;
	margin-bottom: 4.5em;
}
.training-resources-ad__wrapper {
	background: #f4f4f4;
	border-radius: 1em;
	padding: 1em;
}
.training-resources-ad .training-resources-ad__button {
	padding: 0.5em 1em;
	background: #1b365d;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	font-weight: 500;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #fff;
	transition: background 150ms ease-out, box-shadow 150ms ease-out;
	display: inline-block;
	margin: 1em 1em 0 0;
	text-decoration: none;
}
.training-resources-ad .training-resources-ad__button:hover {
	background: #295d80;
	text-decoration: none;
}
.training-resources-ad .training-resources-ad__button:active {
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.15);
}
.training-resources-ad__img {
	margin: 1em 0 -3em;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	        justify-content: center;
	-webkit-align-items: center;
	        align-items: center;
	-webkit-flex-basis: 100%;
	        flex-basis: 100%;
}
.training-resources-ad img {
	max-width: 100%;
	height: auto;
}
.training-resources-ad h5 {
	font-size: 1.125em;
	margin: 0 0 0.5em;
}
.training-resources-ad p {
	margin: 0;
}
@media (min-width: 992px) {
	.training-resources-ad {
		margin: 5em 0;
		padding: 3em 4em 1em;
	}
	.training-resources-ad__wrapper {
		display: -webkit-flex;
		display: flex;
		padding: 0;
		max-width: 1170px;
		margin: 0 auto;
	}
	.training-resources-ad__body {
		padding: 2em 0 2em 2em;
	}
	.training-resources-ad__img {
		margin: -3em 0 -1em;
	}
}
/* #endregion Training resources ad */

/* #region */
/* DESCRIPTION + PHOTO */
.contest-hero-container {
	position: relative;
	background: white;
	border-top: 7px solid #4f477a;
	z-index: 0;
}

.contest-description {
	position: relative;
	width: 100%;
	padding: 20px;
	color: #1d3756;
	font-size: 17px;
	line-height: 1.5em;
	z-index: 1;
}

.mathcounts-week-2020 .contest-description {
	padding-right: 350px;
}

.contest-description p {
	margin: 10px 0 10px 0;
}

.contest-photo-container {
	position: absolute;
	right: -8%;
	bottom: 0;
	z-index: 0;
}

.contest-photo-container img {
	height: 250px;
	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;
}

/* Schedule */
.contest-schedule,
.contest-info,
.usemo-contest-info {
	width: 100%;
	background-color: white;
	box-shadow: 0 -10px 20px -20px black;
	z-index: 1;
}
.aoime .contest-info,
.acadproblemsolvers .contest-info {
	box-shadow: none;
}

.contest-info {
	max-width: 1170px;
	margin: auto;
	padding: 15px 20px 35px;
	position: relative; /* for box-shadow to show up */
}

.usemo-contest-info {
	padding-top: 15px;
}

.contest-schedule-header {
	margin: 30px;
	color: #4f477a;
	font-size: 24px;
	text-align: center;
}

.contest-schedule-week {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	        flex-wrap: nowrap;
	-webkit-justify-content: center;
	        justify-content: center;
	-webkit-align-items: stretch;
	        align-items: stretch;
	width: 100%;
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}

.contest-schedule-flex-separator {
	display: none;
	width: 100%;
	min-width: 100%;
	margin: 10px 0px;
}

.contest-schedule-day {
	display: block;
	-webkit-flex-grow: 1;
	        flex-grow: 1;
	-webkit-flex-shrink: 1;
	        flex-shrink: 1;
	-webkit-flex-basis: 0;
	        flex-basis: 0;
	margin: 0 10px;
	max-width: 215px;
}

.contest-schedule-day-header {
	width: 100%;
	height: 35px;
	margin: 5px 0;
	padding: 5px;
	background-color: #4f477a;
	color: white;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	white-space: nowrap;
}
.contest-schedule-day-header.highlight-today {
	background-color: #ff7a0c;
}

.contest-schedule-events {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	        flex-direction: column;
	/* height: 275px;
	max-height: 275px; */
	height: calc(100% - 35px);
}

.contest-schedule-event {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	        flex-direction: column;
	-webkit-justify-content: center;
	        justify-content: center;
	-webkit-align-items: center;
	        align-items: center;
	-webkit-flex-grow: 1;
	        flex-grow: 1;
	-webkit-flex-shrink: 1;
	        flex-shrink: 1;
	-webkit-flex-basis: auto;
	        flex-basis: auto;
	overflow: visible;
	padding: 10px;
	font-size: 16px;
	text-align: center;
	color: #504973;
	background-color: #e9e9e9;
}

.contest-schedule-event:nth-child(even) {
	background-color: #cdcdcf;
}

.contest-schedule-event-header {
	font-weight: bold;
}

.contest-schedule-event-description .contest-vote-button,
.contest-schedule-event-description .contest-register-button {
	margin: 5px 0;
}
.contest-register-button.maa-olympiad {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: center;
	        justify-content: center;
}

.pre-start .contest-start-button .btn.disabled {
	pointer-events: none;
	opacity: 1;
	background: grey;
}

.contest-vote-button .btn.btn-primary,
.contest-register-button .btn.btn-primary,
.contest-timer .countdown-words .btn.btn-primary,
.contest-start-button .btn.btn-primary {
	background-color: #ef2b15;
	transition: background-color 0.2s;
}
.contest-vote-button .btn.btn-primary:hover,
.contest-register-button .btn.btn-primary:hover,
.contest-timer .countdown-words .btn.btn-primary:hover,
.contest-start-button .btn.btn-primary:hover {
	background-color: rgb(255, 100, 50);
	text-decoration: none;
}

.aoime .contest-register-button .btn,
.acadproblemsolvers .contest-register-button .btn,
.usemo .contest-register-button .btn,
.usemo .contest-start-button .btn,
.usabo .contest-register-button .btn,
.usabo .contest-start-button .btn,
.f-ma .contest-register-button .btn,
.f-ma .contest-start-button .btn,
.usapho .contest-register-button .btn,
.usapho .contest-start-button .btn {
	display: block;
	max-width: 260px;
	margin: 0 auto;
	font-size: 18px;
	padding: 10px;
	min-height: 24px;
	height: auto !important;
}
.contest-register-button.maa-olympiad .btn {
	margin: 5px auto;
}

/* Video / Register */
.contest-section h3 {
	margin-top: 0;
	margin-bottom: 15px;
	color: white;
	font-size: 24px;
	text-align: center;
	font-weight: normal;
}

.contest-section .contest-video-caption {
	color: white;
}

.contest-section > div {
	width: 50%;
}

.contest-section .btn.btn-primary {
	display: -webkit-flex;
	display: flex;
	width: 200px;
	height: 30px;
	margin: 20px;
	padding: 10px;
	-webkit-align-items: center;
	        align-items: center;
	-webkit-justify-content: center;
	        justify-content: center;
	font-size: 16px;
	font-weight: 300;
	background-color: #ef2b15;
	transition: background-color 0.2s;
}

.contest-section .btn.btn-primary:hover {
	background-color: rgb(255, 100, 50);
	text-decoration: none;
}
.contest-section .btn.btn-primary.disabled:hover {
	background-color: #ef2b15;
}

.contest-weekly-schedule {
	width: 100%;
	height: 450px;
	background-color: white;
	box-shadow: 0 -10px 20px -20px black;
	z-index: 1;
}

.contest-section {
	display: -webkit-flex;
	display: flex;
	width: 100%;
	font-size: 16px;
	border-bottom: 3px solid #4f477a;
}

.contest-section > div {
	padding: 20px;
}

.contest-video-preview {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	        flex-direction: column;
	-webkit-align-items: center;
	        align-items: center;
	text-align: center;
	background-color: #3e6284;
}

.contest-video-caption a,
.contest-timer-description a {
	color: white;
	font-weight: bold;
	transition: color 0.2s;
	text-decoration: underline;
}

.contest-video-caption a:hover,
.contest-timer-description a:hover {
	color: #00b8c9;
	text-decoration: underline;
}

.contest-landing-section {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	        flex-direction: column;
	background-color: #1a365d;
}

.contest-landing-description {
	color: white;
	text-align: center;
	margin-bottom: 20px;
}

.contest-video-caption,
.contest-timer-description {
	width: 80%;
}

.contest-video-preview {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	        flex-direction: column;
}

.contest-video-preview img {
	width: 100%;
}

.contest-landing {
	display: -webkit-flex;
	display: flex;
	margin: auto 0;
	-webkit-flex-direction: column;
	        flex-direction: column;
	-webkit-align-items: center;
	        align-items: center;
	text-align: center;
	color: white;
}

.contest-landing .contest-timer {
	margin-bottom: 10px;
	font-weight: 200;
	font-size: 20px;
}
.aoime .contest-landing .contest-timer,
.acadproblemsolvers .contest-landing .contest-timer {
	background-color: #4f477a;
}

.contest-landing + .contest-landing {
	margin-top: 10px;
}

.contest-schedule-week {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	        flex-wrap: nowrap;
	-webkit-justify-content: center;
	        justify-content: center;
	-webkit-align-items: stretch;
	        align-items: stretch;
	width: 100%;
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}

.countdown-days,
.countdown-hours,
.countdown-minutes {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	        align-items: center;
	white-space: nowrap;
	line-height: 2.25em;
}

span.countdown-words {
	display: inline-block;
}
.countdown-words .contest-register-button.maa-olympiad {
	background-color: white;
}

.contest-landing .countdown-words .btn.btn-primary {
	margin-left: 10px;
}
.aoime .contest-landing .countdown-words .btn.btn-primary,
.acadproblemsolvers .contest-landing .countdown-words .btn.btn-primary {
	display: block;
	max-width: 250px;
	margin: 0 auto;
	font-size: 18px;
	padding: 10px;
	min-height: 24px;
	height: auto;
}
.aoime
	.contest-landing
	.countdown-words
	.contest-register-button
	.btn.btn-primary {
	margin: 5px 10px;
}

.countdown-container {
	display: inline-block;
}

.countdown-container span {
	display: -webkit-inline-flex;
	display: inline-flex;
	margin-right: 3px;
	width: 15px;
	height: 24px;
	-webkit-justify-content: center;
	        justify-content: center;
	-webkit-align-items: center;
	        align-items: center;
	font-weight: normal;
	background-color: white;
	color: black;
}

.register-later {
	margin: 30px;
	font-style: italic;
}

@media (min-width: 768px) and (max-width: 1200px) {
	.contest-schedule-week {
		-webkit-flex-wrap: wrap;
		        flex-wrap: wrap;
	}

	.contest-schedule-day {
		max-width: 100%;
	}

	.contest-schedule-flex-separator {
		display: block;
	}
}

@media (max-width: 1200px) {
	.contest-section {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column-reverse;
		        flex-direction: column-reverse;
	}

	.contest-section > div {
		width: 100%;
	}
}

/* Mobile devices */
@media (max-width: 767px) {
	.mathcounts-week-2020 .contest-description {
		padding-right: 20px;
	}

	.contest-photo-container {
		display: none;
	}

	.contest-schedule-week {
		display: block;
	}

	.contest-schedule-day {
		display: block;
		margin: 0;
		max-width: 100%;
	}

	.contest-schedule-events {
		display: block;
		height: auto;
		max-height: auto;
	}

	.context-schedule-flex-separator {
		display: none;
	}
}

/* USEMO */

.usemo-contest-info-inner {
	max-width: 1170px;
	margin: 0 auto;
}

.usemo-contest-info-inner h2 {
	text-align: center;
	color: #4f477a;
}

.contest-info-section {
	max-width: 1170px;
	margin: 0 auto;
}

.contest-info-section .contest-info-heading {
	background-color: #4f477a;
	color: #fff;
	text-transform: uppercase;
	padding: 15px;
}

.contest-info-section-inner {
	padding: 15px;
	margin-bottom: 20px;
	background-color: #e9e9e9;
	font-size: 1.15em;
	color: #4f477a;
}

/* COPPA */
.coppa-heading {
	text-align: center;
}
.ui-datepicker-inline {
	margin: 0 auto;
}

.ui-widget-header {
	background: #1b365d;
	border: 1px solid #1b365d;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
	color: #64537c;
	border: 1px solid #64537c;
}

#coppa-dob {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	        justify-content: center;
}

#coppa-dob .coppa-dob-column {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	        flex-direction: column;
	-webkit-align-items: center;
	        align-items: center;
	padding: 20px 10px;
}

.coppa-button-container {
	display: -webkit-flex;
	display: flex;
	-webkit-flex: 0 1 auto;
	        flex: 0 1 auto;
	-webkit-justify-content: center;
	        justify-content: center;
	margin-top: 15px;
}

.coppa-heading {
	font-size: 1.25em;
}

.coppa-block-icon {
	font-size: 2em;
	color: darkred;
	margin-bottom: 10px;
}

.coppa-form-container {
	text-align: center;
	font-size: 1.2em;
}

.coppa-disclosure {
	margin-top: 20px;
}

.coppa-disclosure {
	font-size: 14px;
}

.coppa-disclosure-heading {
	border-bottom: 1px solid #1b365d;
	margin-bottom: 0;
}

/* Redesigned styles */
/*** GENERAL STYLES ***/
.contest-heading-text {
	margin: 0;
	color: white;
	position: relative;
	top: 30%;
}
img.contest-heading-text {
	display: block;
	margin: auto;
	margin-bottom: 10px;
	max-width: 95%;
}
.contest-main-content,
.contest-sub-content,
.contest-horiz-limit-content {
	width: 72.5%;
	margin: auto;
}
.contest-main-content {
	margin-bottom: 120px !important;
}
.contest-sub-content {
	margin-bottom: 40px !important;
}
.rounded {
	border-radius: 16px;
}
.rounded-button {
	border-radius: 12px;
}
.position-horizontal-center {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}
.position-vertical-center {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
.position-center {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

#contest-landing {
	background: white;
	width: 100%;
}

/*** HEADING ***/
.contest-heading {
	text-align: center;
	background-position: center;
	height: 490px;
	margin-bottom: 150px;
	position: relative;
}
#contest-heading-title {
	font-size: 5.33em;
	letter-spacing: 2px;
}
#contest-heading-subtitle {
	font-size: 1.8em;
	font-weight: 300;
}

/*** HERO CAPTION ***/
.contest-landing-hero-caption {
	width: 45%;
	max-width: 850px;
	min-width: 600px;
	text-align: center;
	padding: 42px;
	font-size: 1.33em;
	/* positions horizontal center along bottom of heading */
	top: 100%;
}

/*** CALLOUTS ***/
.contest-callouts-title {
	text-align: center;
	font-size: 2em;
}
.callouts-row {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	margin-top: 30px;
}
.contest-callout {
	text-align: center;
	-webkit-flex-basis: 30%;
	        flex-basis: 30%;
	padding: 40px 35px;
	max-width: 415px;
	position: relative;

	/* IE stuff */
	border-collapse: separate;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	/* IE renders percentage-based flex-basis values using content-box box-sizing */
	.contest-callout {
		-webkit-flex-basis: 25%;
		        flex-basis: 25%;
	}
}
.contest-callout-description {
	font-size: 1.1em;
	font-weight: 300;
}
.callouts-button {
	background-color: #189fad;
	height: 50px;
	bottom: 10%;
	white-space: nowrap;
	transition-duration: 0.2s;
}
.callouts-button:hover {
	background-color: #5dbbc5;
}
.callouts-button span {
	color: white;
	font-size: 1.2em;
}
.full-length-callout-container {
	margin-top: 25px;
}
.full-length-callout {
	-webkit-flex-basis: 100% !important;
	        flex-basis: 100% !important;
	max-width: 100%;
}
.full-length-callout .callouts-button {
	width: 30%;
}

/*** EVENTS ***/
.events h2 {
	text-align: center;
	margin: 0;
	padding: 50px 0px 40px;
	font-size: 2.2em;
}
.upcoming-events {
	background-image: url("/contests/images/pattern-online-gray.png");
}
.events-container {
	width: 52.5%;
	min-width: 850px;
	margin: auto;
	padding-bottom: 1px;
}
.events-container h3 {
	color: #333333;
	font-size: 2.1em;
}
.event {
	background-color: white;
	border-top: 1px solid #aaaaaa;
	border-bottom: 1px solid #aaaaaa;
	margin-bottom: 25px;
	display: grid;
	grid-template-rows: minmax(140px, -webkit-max-content);
	grid-template-rows: minmax(140px, max-content);

	/* IE stuff */
	display: -ms-grid;
	-ms-grid-rows: minmax(140px, max-content);
}
.events-by-month,
.past-events .event:nth-last-of-type(2) {
	margin-bottom: 60px;
}
.event > * {
	height: 100%;
	position: relative;
}
.event-tab div {
	border: 5px solid #189fad;
	width: 0;
	position: relative;
	height: 70%;
	top: 15%;
	/* margin: 21px 0; 15% of 140px */
}
.event-metadata {
	display: grid;
	grid-template-rows: minmax(140px, -webkit-max-content);
	grid-template-rows: minmax(140px, max-content);

	/* IE stuff */
	display: -ms-grid;
	-ms-grid-rows: minmax(140px, max-content);
}
.event-date {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	        align-items: center;
}
.event-date p {
	color: #189fad;
	margin: 0;
	text-align: center;
	line-height: 85%;
}
.fancy-date {
	font-size: 2.8em;
	font-weight: bold;
}
.fancy-month {
	font-size: 1.9em;
}
.event-details {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	        align-items: center;
}
.event-details * {
	margin: 0;
}
.event-details h6 {
	font-size: 1.1em;
	color: #333333;
	/* line up with icon below */
	padding-left: 3px;
}
.event-details p {
	font-size: 0.9em;
	color: #848484;
}
.event-details img {
	/* line up icons with text */
	margin-bottom: 1%;
}
#adaptive-line-break::before {
	content: "\A";
	white-space: pre-wrap;
}
.event-time {
	padding-left: 10px;
}
.event-blurb {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	        align-items: center;
}
.event-blurb p {
	margin: 0;
	padding: 7px 0;
	font-size: 1.1em;
}
.load-more {
	background-color: white;
	cursor: pointer;
	margin: auto;
	margin-bottom: 60px;
	border: 2px solid #189fad;
	height: 50px;
	width: 200px;
	position: relative;
	text-align: center;
}
.load-more:hover {
	background-color: #d0ebee;
}
.load-more p {
	width: 100%;
	margin: 0;
	color: #189fad;
	font-size: 1.3em;
}
/* highlighted events are pink */
.highlight {
	border-color: #e00079;
}
.highlight .event-tab div {
	border-color: #e00079;
}
.highlight .event-date p {
	color: #e00079;
}
/* hide additional events */
.additional {
	display: none;
	transition: 1s;
}

/*** SMALLER WIDTH STYLES ***/
@media (max-width: 1750px) {
	/*** HEADING ***/
	.contest-landing-hero-caption {
		font-size: 1.3em;
	}
}
@media (max-width: 1500px) {
	/*** CALLOUTS ***/
	.contest-callout {
		-webkit-flex-basis: 31%;
		        flex-basis: 31%;
	}
}
@media (max-width: 1500px) and (-ms-high-contrast: none),
	(-ms-high-contrast: active) {
	/* IE renders percentage-based flex-basis values using content-box box-sizing */
	.contest-callout {
		-webkit-flex-basis: 25%;
		        flex-basis: 25%;
	}
}
@media (max-width: 1300px) {
	.contest-main-content,
	.contest-sub-content,
	.contest-horiz-limit-content {
		width: 80%;
	}
	/*** CALLOUTS ***/
	.contest-main-content {
		margin-bottom: 100px !important;
	}
	.contest-callout {
		padding: 30px 25px;
	}
	.contest-callout-description {
		font-size: 1em;
	}
}
@media (max-width: 1100px) {
	.contest-main-content,
	.contest-sub-content,
	.contest-horiz-limit-content {
		width: 85%;
	}
	/*** HEADING ***/
	.contest-heading {
		margin-bottom: 125px;
	}
	#contest-heading-title {
		font-size: 4.5em;
	}
	#contest-heading-subtitle {
		font-size: 1.5em;
	}
	.contest-landing-hero-caption {
		font-size: 1.2em;
		padding: 35px;
	}
	/*** CALLOUTS ***/
	.contest-main-content {
		margin-bottom: 80px !important;
	}
	.contest-callout {
		padding-top: 20px;
	}
}
@media (max-width: 900px) {
	.contest-main-content,
	.contest-sub-content,
	.contest-horiz-limit-content {
		width: 90%;
	}
	/*** CALLOUTS ***/
	.contest-callout {
		-webkit-flex-basis: 32%;
		        flex-basis: 32%;
	}
}
@media (max-width: 900px) and (-ms-high-contrast: none),
	(-ms-high-contrast: active) {
	/* IE renders percentage-based flex-basis values using content-box box-sizing */
	.contest-callout {
		-webkit-flex-basis: 26%;
		        flex-basis: 26%;
	}
}
@media (max-width: 850px) {
	/** CALLOUTS ***/
	.contest-callout {
		-webkit-flex-basis: 32.5%;
		        flex-basis: 32.5%;
	}
	/*** EVENTS ***/
	.events-container {
		width: 95%;
		min-width: unset !important;
	}
	.events-by-month {
		margin-bottom: 40px;
	}
	.event-details h6,
	.event-blurb p {
		font-size: 1.05em;
	}
}
@media (max-width: 850px) and (-ms-high-contrast: none),
	(-ms-high-contrast: active) {
	/* IE renders percentage-based flex-basis values using content-box box-sizing */
	.contest-callout {
		-webkit-flex-basis: 26%;
		        flex-basis: 26%;
	}
}
/* callouts switch to mobile layout */
@media (max-width: 750px) {
	/*** CALLOUTS ***/
	.callouts-row {
		margin-top: 0;
		/* use grid layout to keep equally-sized callouts */
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: 1fr 1fr 1fr;

		/* IE stuff */
		display: -ms-grid;
		-ms-grid-columns: 100%;
		-ms-grid-rows: 1fr 1fr 1fr;
	}
	.full-length-callout-container {
		margin-top: 0;
		/* only one item per this container */
		grid-template-rows: 1fr;

		/* IE stuff */
		-ms-grid-rows: 1fr;
	}
	.callouts-row > *:nth-child(1) {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.callouts-row > *:nth-child(2) {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
	}
	.callouts-row > *:nth-child(3) {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.contest-callout {
		-webkit-flex-basis: unset;
		        flex-basis: unset;
		padding: 40px 35px;
		width: 425px;
		margin: 20px auto;
	}
	.contest-callout-description {
		font-size: 1.1em;
	}
}
/* events switch to mobile layout */
@media (max-width: 700px) {
	/*** CALLOUTS ***/
	.contest-main-content,
	.contest-sub-content {
		margin-bottom: 25px !important;
	}
	/*** EVENTS ***/
	/* switch background pattern to past-events */
	.upcoming-events {
		background-image: unset;
	}
	.past-events {
		background-image: url("/contests/images/pattern-online-gray.png");
	}
	.events-by-month {
		margin-bottom: 25px;
	}
	.event-metadata {
		/* stack metadata divs */
		display: block;
		/* line up with top of .event-tab */
		margin: 21px 0; /* 15% of 140px - IE doesn't like percentages */
	}
	/* remove fancy date */
	.event-date {
		display: none;
	}
	/* remove line break if exists */
	#adaptive-line-break::before {
		content: "";
	}
	#hidden-icon {
		display: none;
	}
	.event-blurb p {
		padding: 2px 0;
	}
}
@media (max-width: 700px) and (-ms-high-contrast: none),
	(-ms-high-contrast: active) {
	/* IE doesn't like the unset keyword */
	/*** EVENTS ***/
	.upcoming-events {
		background-image: none;
	}
}
/* heading switches to mobile layout */
@media (max-width: 650px) {
	/*** HEADING ***/
	.contest-heading {
		height: 350px;
		margin-bottom: 100px;
	}
	.contest-heading-text {
		top: 15%;
	}
	#contest-heading-title {
		font-size: 3.6em;
	}
	#contest-heading-subtitle {
		font-size: 1.8em;
	}
	.contest-landing-hero-caption {
		width: 90%;
		max-width: unset;
		min-width: unset;
		padding: 25px 20px;
		top: 95%;
	}
}
@media (max-width: 650px) and (-ms-high-contrast: none),
	(-ms-high-contrast: active) {
	/* IE doesn't like the unset keyword */
	/*** HEADING ***/
	.contest-landing-hero-caption {
		max-width: none;
		min-width: 0;
	}
}
@media (max-width: 550px) {
	/*** HEADING ***/
	.contest-heading {
		margin-bottom: 85px;
	}
	#contest-heading-title {
		font-size: 3em;
	}
	#contest-heading-subtitle {
		font-size: 1.5em;
	}
	.contest-landing-hero-caption {
		font-size: 1.1em;
		top: 90%;
	}
	/*** EVENTS ***/
	.fancy-date {
		font-size: 2.5em;
	}
	.fancy-month {
		font-size: 1.7em;
	}
	.event-details img {
		width: 20px;
		height: 20px;
	}
	.event-details h6 {
		font-size: 1em;
	}
	.event-details p {
		font-size: 0.8em;
	}
	.event-details img {
		/* line up icons with text */
		margin-bottom: 0.5%;
	}
	.event-blurb p {
		font-size: 1em;
	}
}
@media (max-width: 450px) {
	/*** HEADING ***/
	.contest-heading {
		margin-bottom: 100px;
	}
	#contest-heading-title {
		font-size: 2.4em;
	}
	#contest-heading-subtitle {
		font-size: 1.2em;
	}
	/*** CALLOUTS ***/
	.contest-callout {
		padding: 20px 25px;
		width: unset;
	}
	.contest-callout-description {
		font-size: 1em;
	}
}
@media (max-width: 450px) and (-ms-high-contrast: none),
	(-ms-high-contrast: active) {
	/* IE doesn't like the unset keyword */
	.contest-callout {
		width: auto;
	}
}
@media (max-width: 400px) {
	/*** HEADING ***/
	.contest-heading {
		margin-bottom: 120px;
	}
	/*** EVENTS ***/
	.event-tab div {
		height: 80%;
		top: 10%;
	}
	.event-metadata {
		margin-top: 16px 0; /* 10% of 160px - IE doesn't like percentages */
	}
}
@media (max-width: 350px) {
	/*** HEADING ***/
	#contest-heading-title {
		font-size: 2.1em;
	}
	#contest-heading-subtitle {
		font-size: 1.05em;
	}
}
/* #endregion */
