/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
audio,canvas,video{display:inline-block}
audio:not([controls]){display:none;height:0}
[hidden]{display:none}
html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
button,html,input,select,textarea{font-family:sans-serif}
body{margin:0}
a:focus{outline:dotted thin}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
h2{font-size:1.5em;margin:.83em 0}
h3{font-size:1.17em;margin:1em 0}
h4{font-size:1em;margin:1.33em 0}
h5{font-size:.83em;margin:1.67em 0}
h6{font-size:.67em;margin:2.33em 0}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:700}
blockquote{margin:1em 40px}
dfn{font-style:italic}
hr{box-sizing:content-box;height:0}
mark{background:#ff0;color:#000}
p,pre{margin:1em 0}
code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}
pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}
q{quotes:none}
q:after,q:before{content:'';content:none}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}
sub{bottom:-.25em}
dl,menu,ol,ul{margin:1em 0}
dd{margin:0 0 0 40px}
menu,ol,ul{padding:0 0 0 40px}
nav ol,nav ul{list-style:none}
img{border:0;-ms-interpolation-mode:bicubic}
svg:not(:root){overflow:hidden}
figure,form{margin:0}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0;white-space:normal}
button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}
input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
/*! end normalize.css  */

:root {
	/* THEME COLORS */
	
	/* Blue */
	--primary-dark:			hsl(209, 99%, 22%);
	--primary:				hsl(209, 99%, 32%); /* Given 0154A4 */
	--primary-medium:		hsl(211, 73%, 46%);
	--primary-light:		hsl(211, 46% ,58%); /* Given 6392C5 */
	--primary-almost-white:	hsl(209, 99%, 95%);
	
	/* Green */
	--secondary:		hsl(127, 49%, 46%); /* Given 3CAF49 */
	--secondary-medium: hsl(127, 49%, 34%);
	
	/* White */
	--white: #FEFEFE; /* Given FEFEFE */
	
	
	/* THEME COMPONENTS */
	
	--link-text: var(--primary);
	--link-text-hover: var(--primary-medium);
	--link-text-font-weight: 500;
	
	/* This needs to be higher due to the background being a gray image (~#E4E4E4) instead of white */
	--main-nav-link-text-font-weight: 600;
	
	--button-bg: var(--primary);
	--button-bg-hover: var(--primary-dark);
	
	
	/* LAYOUT */
	
	--header-logo-height: 74px;
	--header-logo-width: 156px; /* determine smallest width at needed height that doesn't distort image */
	--header-top-bar-height: max(90px, var(--header-logo-height)); /* must be at least the logo height */
	--header-middle-bar-height: 54px;
	--header-bottom-bar-height: 40px;
	--header-search-height: calc(var(--header-middle-bar-height) - 24px);
	--header-height: calc(var(--header-top-bar-height) + var(--header-middle-bar-height) + var(--header-bottom-bar-height));
	
	--mobile-top-bar: 46px; /* must be at least 46px due to `.menu-trigger` padding and construction, would need to adjust its padding if increasing this */
	--mobile-logo-vertical-padding: 5px;
	--mobile-nav-height: calc(var(--header-logo-height) + var(--mobile-top-bar) + (var(--mobile-logo-vertical-padding) * 2));
		
	--footer-logo-width: 200px;
	--footer-logo-height: 95px; /* determine smallest height at needed width that doesn't distort image */
}

/* Basic Structure */
body * {
	box-sizing: border-box;
}

/* stickey footer */
body {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
	text-align: center;
}
#content {
	flex: 1;
}
#wrapper {
	padding-top: var(--header-height);
	background: var(--white);
	overflow: hidden;
}

ul.navigation,
ul.navigation ul,
ul.navigation li,
ul.social-media,
ul.social-media li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.content,
ul.content {
	max-width: 1000px;
	text-align: left;
	margin: 0 auto;
	display: block;
}
a {
	text-decoration: none;
}
#menu {
	background: #4a4a4a;
	text-align: left;
}
#menu a {
	color: var(--white);
}
/* This list of nav items should match the ones "promoted" to the topmost navbar for desktop in `functions.js` */
#menu .navigation_1108,
#menu .navigation_1106,
#menu .navigation_1148,
#menu .navigation_2051,
#menu .navigation_1130 {
	background: var(--primary);
}
#menu *,
#menu .mm-arrow:after,
#menu .mm-btn:after,
#menu .mm-btn:before,
#menu .mm-next:after {
	border-color: var(--white) !important;
}
#menu .mm-listview .mm-next:before {
	border-left: none;
}
#menu .mm-listview > li:not(.mm-divider):after {
	left: 0;
}
#menu .mm-search input {
	background: var(--white);
	color: #000;
}
#menu .social-media li a {
	margin: 0 6px 10px 6px;
}
#mm-0 .mm-search {
	top: 10px;
	display: block;
}
#mm-0 .navigation {
	margin-top: 0;
}
.menu-trigger {
	display: none;
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	background: var(--primary);
	cursor: pointer;
	padding: 20px 45px 26px 10px;
}
.menu-trigger span,
.menu-trigger span:before,
.menu-trigger span:after {
	cursor: pointer;
	border-radius: 1px;
	height: 5px;
	width: 35px;
	background: var(--white);
	position: absolute;
	display: block;
	content: '';
}
.menu-trigger span:before {
	top: -10px;
}
.menu-trigger span:after {
	bottom: -10px;
}
.menu-trigger span,
.menu-trigger span:before,
.menu-trigger span:after {
	transition: all 500ms ease-in-out;
}
.mm-opening .menu-trigger span {
	background-color: transparent;
}
.mm-opening .menu-trigger span:before,
.mm-opening .menu-trigger span:after {
	top: 0;
}
.mm-opening .menu-trigger span:before {
	transform: rotate(45deg);
}
.mm-opening .menu-trigger span:after {
	transform: rotate(-45deg);
}

.mm-menu.mm-columns-1 {
	width: 80%;
	min-width: 140px;
	max-width: 440px
}

.social-media li {
	display: inline;
}
.social-media li a {
	display: inline-block;
	height: 27px;
	width: 27px;
	background: transparent url(/elements/skin/social-media.svg) no-repeat left top;
	background-size: 160px 27px;
	text-indent: -9999px;
	margin: 0 6px;
}
.social-media li a:hover {
	opacity: .5;
}
.social-media .facebook a {
	background-position: 7px 0;
}
.social-media .twitter a {
	background-position: -19px 0;
}
.social-media .youtube a {
	width: 32px;
	background-position: -47px 0;
}
.social-media .instagram a {
	background-position: -79px 0;
}
.social-media .pinterest a {
	background-position: -106px 0;
}
.social-media .newsletter a {
	background-position: -134px 0;
}

header:not(.mobile-header) {
	height: var(--header-height);
	background: #e4e4e4 url(/elements/skin/header-bg.jpg) no-repeat center top;
	background-size: cover;
	border-bottom: solid 1px #e4e4e4;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
}
header .content {
	position: relative;
	z-index: 1;
}
header .logo {
	width: var(--header-logo-width);
	height: var(--header-logo-height);
	display: block;
	position: absolute;
	z-index: 1;
	top: calc((var(--header-top-bar-height) - var(--header-logo-height)) / 2);
	left: 0;
	text-indent: -9999px;
	background: transparent url(/elements/skin/cleveland-marathon-logo.png?v=5) no-repeat left top;
	background-size: contain;
}
header .info {
	float: right;
	height: var(--header-top-bar-height);
	overflow: hidden;
}
header .info > * {
	height: 100%;
	display: block;
	float: left;
}
header .countdown {
	background: var(--white);
	color: #4a4a4a;
	text-align: center;
	padding: 4px;
}
@media (min-width: 1000px) {
	header .countdown {
		padding-left: 20px;
		padding-right: 20px;
	}
}
header .countdown.just-dates span,
header .countdown .title {
	font-size: 23px;
	text-transform: uppercase;
	font-weight: bold;
	color: var(--primary);
}
header .countdown.just-dates {
	display: flex;
	align-items: center;
	justify-content: center;
}
header.mobile-header .countdown.just-dates {
	line-height: 40px;
}
header .countdown .time {
	font-size: 33px;
	display: block;
	color: var(--primary-light);
}
header .countdown .time > span {
	position: relative;
	z-index: 1;
	font-weight: 700;
}
header .countdown .time > span:after {
	position: absolute;
	z-index: 1;
	bottom: -12px;
	left: 0;
	right: 0;
	font-size: 12px;
	font-weight: 400;
	text-transform: lowercase;
}
header .countdown .time .days:after {
	content: 'Days';
}
header .countdown .time .hours:after {
	content: 'Hrs';
}
header .countdown .time .minutes:after {
	content: 'Mins';
}
header .countdown .time .seconds:after {
	content: 'Secs';
}
header .top-bar-rect-1,
header .top-bar-rect-2,
header .top-bar-rect-3 {
	min-width: 116px;
	color: var(--white);
	font-size: 18px;
	line-height: var(--header-top-bar-height);
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	padding: 0 16px;
}
header .top-bar-rect-1 {
	background: var(--secondary);
}
header .top-bar-rect-2 {
	background: var(--primary-medium);
}
header .top-bar-rect-3 {
	background: var(--primary-light);
}
header .navigation a {
	display: block;
	color: var(--white);
}
header .navigation > li {
	display: inline;
	float: left;
}
header .navigation > li > a {
	font-size: 16px;
	padding: 0 10px;
}
header .navigation li > ul {
	position: absolute;
	z-index: 1;
	left: -9999px;
	background: #000;
	width: 224px;
}
header .navigation li:hover > ul {
	left: auto;
}
header .navigation ul a {
	padding: 5px 10px;
}
header .navigation > li > ul > li {
	position: relative;
	z-index: 1;
}
header .navigation > li > ul ul {
	position: absolute;
	z-index: 1;
	margin-left: 224px;
	top: 0;
	padding: 0;
}
header .navigation > li > ul > li > a:not(:only-child) {
	position: relative;
	z-index: 1;
	padding-right: 25px;
}
header .navigation > li > ul > li > a:not(:only-child):after {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	position: absolute;
	z-index: 1;
	right: 9px;
	top: 50%;
	margin-top: -3px;
	transform: rotate(45deg);
	border: solid 1px currentColor;
	border-left: none;
	border-bottom: none;
}
.tools {
	height: var(--header-middle-bar-height);
	background: var(--primary);
}
.tools .navigation > li > a {
	height: var(--header-middle-bar-height);
	line-height: var(--header-middle-bar-height);
	color: var(--white);
	text-transform: uppercase;
}
header:not(.mobile-header) .tools .navigation > li:not(:first-child) > a {
	border-left: solid 1px rgba(255, 255, 255, .5);
}
.tools .navigation > li:not(:first-child) > ul {
	margin-left: 1px;
}
.tools .navigation > li:first-child > ul {
	margin-left: 0;
}
.tools .navigation > li:hover > a {
	background: #4a4a4a;
}
.tools .navigation ul a {
	background: #4a4a4a;
}
.tools .navigation ul > li {
	border-top: solid 1px #4a4a4a;
	border-bottom: solid 1px #4a4a4a;
}
.tools .navigation ul > li:hover {
	border-color: #939393;
}
.tools .navigation ul > li:hover > a {
	background: #656565;
}
header:not(.mobile-header) .tools {
	position: absolute;
	z-index: 10;
	bottom: var(--header-bottom-bar-height);
	left: 0;
	right: 0;
}
header:not(.mobile-header) .tools .navigation {
	float: left;
}
header nav {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	right: 0;
	height: var(--header-bottom-bar-height);
}
header nav .navigation > li > a {
	color: var(--primary);
	line-height: var(--header-bottom-bar-height);
	font-weight: var(--main-nav-link-text-font-weight);
}
header nav .navigation > li:hover > a {
	background: #f5f5f5;
	color: var(--primary-dark);
}
header nav .navigation ul a {
	background: #f5f5f5;
	color: var(--primary);
}
header nav .navigation ul > li {
	border-top: solid 1px #f5f5f5;
	border-bottom: solid 1px #f5f5f5;
}
header nav .navigation ul > li:hover {
	border-color: #cdcdcd;
}
header nav .navigation ul > li:hover > a {
	background: var(--white);
}

.mobile-header {
	text-align: center;
	height: auto;
	display: none;
}
.mobile-header .top-bar-rect-3 {
	line-height: var(--header-middle-bar-height);
}
.mobile-header .top-bar-rect-2 {
	background: var(--primary-light);
	line-height: var(--header-middle-bar-height);
}
.mobile-header .countdown {
	margin: 0 auto;
}
.mobile-header .navigation {
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
.mobile-header .navigation li {
	float: none;
	flex-grow: 1;
}
.mobile-header .navigation li + li {
	border-left: solid 1px rgba(255, 255, 255, .5);
}
.mobile-header .navigation li a {
	font-size: 16px;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 4px;
}
.mobile-header .navigation ul {
	display: none !important;
}
.mobile-header .tools,
.mobile-header .top-bar-rect-3,
.mobile-header .top-bar-rect-2 {
	display: none;
}
.mobile-header .countdown:not(.just-dates) {
	height: var(--header-top-bar-height);
}
.type-homepage .mobile-header .tools,
.type-homepage .mobile-header .top-bar-rect-3,
.type-homepage .mobile-header .top-bar-rect-2 {
	display: block;
}

header .social-media {
	float: right;
	margin-top: 13px;
	margin-right: 8px;
	
/* For smaller desktop header social media icons:
	margin-right: -15px;
	margin-left: -40px;
	transform: translateZ(0) scale(.70, .70);
	backface-visibility: hidden;
*/
}
@media (max-width: 970px) {
	header .social-media {
		display: none;
	}
}
header .search {
	float: right;
}
header .search {
	background-color: var(--white);
	border-radius: 14px;
	overflow: hidden;
	margin-top: 13px;
	height: var(--header-search-height);
}
header .search input[type=text] {
	height: var(--header-search-height);
	line-height: var(--header-search-height);
	border: none;
	outline: none;
	padding: 0 0 0 10px;
	margin: 0;
	width: 110px;
}
header .search input[type=submit] {
	background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAQAAACouOyaAAAAqklEQVQoz32QMQrCQBBFx0LBQqwD4g1s7BWLdBYKXsAmjcomiLsHyNXewb6Fmt01mj/VfN7M8MfMzMw48KDBESitL6bcUVJVH3kBny19iCNCrLt+gxD7FPEInw0FREiNBtFkyAUhJtFwCJchZ4SYR6NG1MOHtgjFb7BAiGueqXqHdtzw3XdWv6DvOuVQyQMhPBVjClqECMxybJQEjZsL+y92CNHakFjSUjwB2P2kmLBPznYAAAAASUVORK5CYII=') no-repeat center center;
	border: none;
	padding: 0;
	margin: 0;
	width: var(--header-search-height);
	height: var(--header-search-height);
	border-radius: 100%;
	text-indent: -9999px;
}
.button {
	display: inline-block;
	background: var(--button-bg);
	color: var(--white) !important;
	border: solid 2px var(--white);
	border-radius: 18px;
	line-height: 2.25 !important;
	padding: 0 1.25em;
	white-space: nowrap;
	background-clip: padding-box;
	outline: none !important;
}
.button:hover {
	background: var(--button-bg-hover);
}
.banners {
	height: 200px;
	background: gray;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
body:not(.type-homepage) .banners {
	background-image: url(/elements/skin/banners/default.jpg?v=1);
}
body.section-1106 .banners {
	background-image: url(/elements/skin/banners/runners-info.jpg?v=1);
}
body.section-1148 .banners {
	background-image: url(/elements/skin/banners/training.jpg?v=1);
}
body.section-1130 .banners {
	background-image: url(/elements/skin/banners/race-weekend.jpg?v=1);
}
body.section-1153 .banners {
	background-image: url(/elements/skin/banners/volunteers.jpg?v=1);
}
body.section-1157 .banners {
	background-image: url(/elements/skin/banners/sponsors.jpg?v=1);
}
body.section-1165 .banners {
	background-image: url(/elements/skin/banners/media-center.jpg?v=1);
}
body.section-1626 .banners {
	background-image: url(/elements/skin/banners/blog.jpg?v=1);
}
#content {
	background: var(--white);
}
body:not(.type-homepage) #content .content {
	padding-top: 50px;
}
article p {
	margin-top: 0;
}
#content .top {
	display: block;
	width: 72px;
	height: 17px;
	background: transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAARCAQAAADUZSLzAAABaUlEQVR4Ac3OsWoTAQCH8dMhW1AkoG1JKRQKLRQ6lj7CNzelFAqFtgktpaW0kIJDQHAycVa3xAyCCIqDCKKIEi86CIKDKEnQJ3AJ5pLc3+PAAyHm7nKn5vte4GdEjzQnmHzmOksYUTeI8hRH1LCR9yeusfg/QBMc8Io+GvhHCsz/K9Bl9njhUvz+wFXm/iYoRY5n9FCo33PGbNygS2zzlC4a+XecMhMH6CJbPMFCMWxjckx6VNAFNnlMB8W8zWsOmQwDSrLBQ36gIGdUlKnvqumGVoOz+rxknyt+oCTrPKAdhmKpqbvKq6qWOnoTjtXjOTlSg0HT3AlOKanuUBqqKCu8cw6tJUtmOFaXeyz8DjpHnnYUCn9gZYKiLAqc/wVKcD8Y5a26DqXsUvzOOqymyyoGZT0igQu6hYa9ppseZVeE2WPVVQrCuo0DWsFGw/6qLw5lR4x8VhU1nPHbZtmgisbossG3sQI1fwJ7HXh4zQem/AAAAABJRU5ErkJggg==') no-repeat center center;
	margin: 30px auto 0 auto;
	text-indent: -9999px;
	position: relative;
	z-index: 1;
}
h1,
h2,
h3 {
	margin: 0;
}
article {
	color: #4a4a4a;
}
article a {
	color: var(--link-text);
	font-weight: var(--link-text-font-weight);
}
article a:hover {
	color: var(--link-text-hover);
}
body:not(.type-homepage) article * {
	font-size: 16px;
	line-height: 1.75;
}
body:not(.type-homepage) article h1 {
	font-size: 18px;
	line-height: 1;
	color: var(--primary);
	border-bottom: solid 1px currentColor;
	padding-bottom: 10px;
	margin-bottom: 40px;
	text-transform: uppercase;
	font-weight: normal;
}
body:not(.type-homepage) article h2 {
	font-size: 38px;
	line-height: .9;
	color: var(--primary-light);
	text-transform: uppercase;
	margin-bottom: 30px;
}
body:not(.type-homepage) article h3 {
	font-size: 26px;
	line-height: 1.07;
	color: var(--secondary-medium);
	margin-bottom: 14px;
	font-weight: normal;
}
body:not(.type-homepage) article h4 {
	font-size: 20px;
	line-height: 1.5;
	color: var(--primary-light);
	margin: 0 0 8px 0;
	font-weight: 700;
}
body:not(.type-homepage) article ul {
	list-style: none;
	padding-left: 23px;
}
body:not(.type-homepage) article ul li {}
body:not(.type-homepage) article ul li:before {
	content: '\00bb';
	color: var(--primary);
	display: inline-block;
	margin-right: 5px;
	margin-left: -16px;
	font-weight: bold;
	position: relative;
	top: -1px;
}
article img {
	max-width: 100%;
	height: auto;
}

.form label {
	display: block;
	padding-left: 14px;
}
.form label.required:before {
	content: "*";
	display: inline-block;
	margin-right: 2px;
	color: red;
	font-weight: 700;
}
.form input[type="checkbox"] + label {
	display: inline-block;
}
.form input[type="text"],
.form textarea {
	width: 100%;
	border-radius: 14px;
	border: solid 2px #e0e0e0;
	outline: none !important;
	padding: 0 5px;
}
.form input[type="text"]:focus,
.form textarea:focus,
.custom-select-one.focus {
	border-color: var(--primary-light);
}
.form select {
	width: 100%;
}
.form .custom-select-one {
	width: 100%;
}
.form .checkbox-list {
	margin-left: 28px;
	overflow: hidden;
	display: block;
}
.form .checkbox-list label {
	display: inline-block;
	padding-left: 2px;
	margin-right: 1em;
	break-before: avoid;
}
.form .checkbox-list input[type=checkbox] {
	break-after: avoid;
	display: inline-block;
}
.custom-select-one {
	border: 2px solid #e0e0e0;
	padding: 0 45px 0 5px;
	overflow: hidden;
	white-space: nowrap;
	cursor: pointer;
	position: relative;
	z-index: 1;
	display: inline-block;
	line-height: 31px;
	height: 31px;
	box-sizing: border-box;
	background: var(--white);
	border-radius: 27px;
}
.custom-select-one:after {
	content: '';
	display: block;
	width: 7px;
	height: 7px;
	border: solid 1px var(--primary-medium);
	border-left: none;
	border-top: none;
	border-collapse: collapse !important;
	position: absolute;
	z-index: 1;
	transform: rotate(45deg);
	top: 50%;
	margin-top: -5px;
	right: 10px;
	pointer-events: none;
}
.custom-select-one select {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	height: 27px;
	line-height: 27px;
	margin: 0;
	outline: none;
	border-radius: 0;
	width: 100%;
	-webkit-appearance: none;
	appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	.custom-select-one select {
		margin-left: 10px;
	}
}
.custom-select-one span {
	line-height: 31px;
	height: 31px;
	display: block;
	overflow: hidden;
	padding-left: 10px;
}
.custom-radio,
.custom-checkbox {
	cursor: pointer;
	position: relative;
	z-index: 1;
	display: inline-block;
	height: 15px;
	width: 15px;
	margin-right: 3px;
	vertical-align: central;
}
.custom-radio input,
.custom-checkbox input {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: .50;
	height: 15px;
	line-height: 15px;
	margin: 0;
	outline: none;
	border-radius: 0;
	width: 100%;
	-webkit-appearance: none;
	appearance: none;
}
.custom-radio.checked,
.custom-checkbox.checked {
	background-position: -15px 0;
}
.custom-radio {
	background: transparent url("data:image/gif;base64,R0lGODdhHgAPAPQeAJWVlfv7+8nJyaSkpP7+/vT09N3c3MzKyuno6NTS0q2trfr6+peXl/b19fLx8evr68fFxaOjo9vZ2crKys3Ly9TT097d3ejn5/n5+fHx8drZ2cjGxuzr6/////X19QAAACwAAAAAHgAPAAAFvWAndplGbZSWjSxpomrbeVbFYQTGVZbH0jacjucTFTYXWeeyKRiRSqazY0AoRQiDqNoJCAaMgSDQyXYciesokUF3FYB4XEFmSx5qEUdz7wjkgBMdewcLeR0YFIUdA4ByEYgUEIcdBBuTHQyOcQyVG4t5iYuNm5CJGhyHe6h+mwACgyoVhxUZGbMBcIB0HbUdFklXFxYiwF1fYWNLxB0NUDJMDSLOwS3RI0A3OTs9PzXaQ90tJScpK0rkMOciIQA7") no-repeat left top;
}
.custom-checkbox {
	background: transparent url("data:image/gif;base64,R0lGODdhHgAPAPEAAJWVlcfFxf///wAAACwAAAAAHgAPAAACP4yPqXviD5+J1M0aL5ZhwwuEomh1XumMKnoKoEq65vnCAEubdoh7Ndzb/FayVlGwux1zqV0Qo/HNpEaG9YooAAA7") no-repeat left top;
}
.custom-file {
	position: relative;
	z-index: 1;
	display: inline-block;
	width: 100%;
}
.custom-file {
	position: relative;
	z-index: 1;
	display: inline-block;
	width: 100%;
}
.custom-file:after {
	content: 'Browse';
	color: #000;
	background-color: var(--white);
	border: solid 2px currentColor;
	text-transform: uppercase;
	display: block;
	padding: 0 6px;
	line-height: 25px;
	position: absolute;
	z-index: 1;
	right: 0;
	top: 0;
	bottom: 0;
}
.custom-file input[type=file] {
	outline: none;
	position: absolute;
	z-index: 2;
	opacity: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
}
.custom-file .fake-file {
	font-size: 16px;
	width: 100%;
	border: solid 1px #000;
	padding: 0 3px;
	line-height: 27px;
	background-color: transparent;
	height: 27px;
}

/* CCT FORM (https://static.ctctcdn.com/h/contacts-embedded-signup-assets/1.0.2/css/signup-form.css) */
.ctct-custom-form .ctct-form-required:after {
	content: ' *';
}
.ctct-custom-form .ctct-form-errorMessage {
	margin-left: 14px;
	color: #f5463b;
}

.row {
	overflow: hidden;
}
.row:after {
	content: '';
	display: table;
	clear: both;
}
.row [class*='col-'] {
	float: left;
	padding-right: 20px;
	box-sizing: border-box;
}
.row [class*='col-']:last-of-type {
	padding-right: 0;
}
.row .col-3-4 {
	width: 75%;
}
.row .col-2-3 {
	width: 66.66%;
}
.row .col-1-3 {
	width: 33.33%;
}
.row .col-1-2 {
	width: 50%;
}
.row .col-1-4 {
	width: 25%;
}
.row .col-1-8 {
	width: 12.5%;
}
.row [class*='col-']>ul {
	margin-top: 0;
}

.image-left {
	float: left;
	margin: 0 10px 5px 0;
}
.image-right {
	float: right;
	margin: 0 0 5px 10px;
}

.tabs {
	margin: 0;
	padding: 0;
	overflow: hidden;
	margin-left: -1px;
}
.tabs li {
	float: left;
	list-style: none;
	margin: 0;
	padding: 0;
}
.tabs li a {
	display: block;
	padding: 2px 4px;
	background: #CCC;
	color: #333;
	margin-left: 1px;
	font-weight: normal;
}
.tabs li a:hover {
	text-decoration: none;
}
.tabs li.active a {
	background: var(--white);
	color: #000;
}
.panes {}
.panes .pane {
	display: none;
}
.panes .pane.active {
	display: block;
}
article table th,
article table td {
	border: solid 1px #e0e0e0;
	border-right: none;
	border-bottom: none;
	text-align: center;
	padding: 6px;
}
article table th {
	color: var(--secondary-medium);
	font-weight: 600;
	border-top-width: 0;
	line-height: 1 !important;
}
article table tr th:first-child,
article table tr td:first-child {
	border-left: none;
}
article table tr td:first-child {
	text-align: left;
	white-space: nowrap;
}
article table tr:nth-child(even) td,
article table tr:nth-child(even) th {
	background: var(--primary-almost-white);
}

.node-1172 .row + .row {
	margin-top: 20px;
}
.node-1172 .col-1-2 {
	padding-left: 175px;
	overflow: hidden;
}
.node-1172 .col-1-2 img {
	float: left;
	margin-left: -175px;
	width: 150px;
	border-radius: 100%;
}
/* elementQuery */
.node-1172 .row[max-width~="600px"] {
	margin-left: -20px;
}
.node-1172 .row[max-width~="600px"] .col-1-2 {
	padding-left: 20px;
	float: left;
	width: 50%;
}
.node-1172 .row[max-width~="600px"] .col-1-2 img {
	float: none;
	margin-left: 0;
	width: auto;
	max-width: 100%;
	height: auto;
}

/* News */
.type-newslisting .news-item {
	color: #4a4a4a;
	display: block;
	margin-bottom: 2em;
	padding-bottom: 2em;
	background: transparent url('data:image/gif;base64,R0lGODlhBQADAJEAANLS0vPz8/Dw8P///yH5BAAAAAAALAAAAAAFAAMAAAIHTIYAOCJcAAA7') repeat-x center bottom;
}
.type-newslisting .news-item .title {
	display: block;
	font-size: 26px;
	line-height: 1.07;
	color: var(--secondary);
	margin-bottom: 5px;
	font-weight: normal;
}
.type-newslisting .news-item .date {
	display: block;
	font-style: italic;
}
.type-newslisting .news-item .more {
	color: var(--link-text);
	font-weight: var(--link-text-font-weight);
}
.type-newslisting .news-item .more:hover {
	color: var(--link-text-hover);
}

.type-newsitem .date {
	color: var(--secondary-medium);
}

/* Blog */
.section-1626 .blog-side h3 {
	background: transparent url('data:image/gif;base64,R0lGODlhBQADAJEAANLS0vPz8/Dw8P///yH5BAAAAAAALAAAAAAFAAMAAAIHTIYAOCJcAAA7') repeat-x 0 bottom;
	padding-bottom: 10px;
}
.section-1626 .blog-side .side-section {
	margin-bottom: 1em;
}
.section-1626 .blog-side .side-section a {
	display: block;
	margin-bottom: .5em;
}
.section-1626 .social-links .addthis_inline_share_toolbox > div {
	display: inline-block !important;
}
.section-1626 .social-links .comment-count {
	line-height: 1;
	vertical-align: top;
	margin-top: 6px;
	display: inline-block;
	color: #555;
	font-size: 14px;
	margin-left: 5px
}
.section-1626 .post-author,
.section-1626 .post-date {
	font-weight: bold;
}

.type-blog .post {
	background: transparent url('data:image/gif;base64,R0lGODlhBQADAJEAANLS0vPz8/Dw8P///yH5BAAAAAAALAAAAAAFAAMAAAIHTIYAOCJcAAA7') repeat-x 0 bottom;
	margin-bottom: 1em;
	padding: 30px 0;
}
.type-blog .post .post-title {
	color: var(--primary-medium);
	font-size: 26px;
	margin-bottom: .1em;
	font-family: 'Marvel', sans-serif;
	text-transform: none;
}
.type-blog .post .more {
	display: block;
	margin-bottom: 30px;
}
@media only screen and (max-width: 500px) {
	.type-blog .post .row [class*="col-"] + div[class*="col-"] {
		margin-top: 40px;
	}
}

.type-blogpost .categories {
	margin-bottom: 1em;
}
.type-blogpost .categories a {
	color: #555;
}
.type-blogpost .tags a {
	display: inline-block;
	background: #555;
	color: var(--white);
	padding: 2 12px;
	line-height: 24px;
	border-radius: 24px;
	margin: 0 15px 10px 0;
}
.type-blogpost .tags {
	margin-bottom: 15px;
}
.type-blogpost .post .post-date {
	margin-bottom: 20px;
}
.type-blogpost .post .social-links {
	margin-bottom: 20px;
}
.type-blogpost .blog-nav {
	margin: 30px 0;
}
.type-blogpost .blog-nav .prev {
	display: inline-block;
	margin-right: 60px;
}
.type-blogpost .blog-nav .next:after,
.type-blogpost .blog-nav .prev:before {
	--arrow-size: 6px;
	content: '';
	display: inline-block;
	width: 0;
    height: 0;
    border-top: var(--arrow-size) solid transparent;
    border-bottom: var(--arrow-size) solid transparent;
}
.type-blogpost .blog-nav .next:after {
	border-left: var(--arrow-size) solid var(--secondary);
	margin-left: 5px;
}
.type-blogpost .blog-nav .prev:before {
	border-right: var(--arrow-size) solid var(--secondary);
	margin-right: 5px;
}

.type-raceeventlisting .race-event {
	display: block;
	color: #4a4a4a;
	background: transparent url('data:image/gif;base64,R0lGODlhBQADAJEAANLS0vPz8/Dw8P///yH5BAAAAAAALAAAAAAFAAMAAAIHTIYAOCJcAAA7') repeat-x 0 bottom;
	margin-bottom: 30px;
	padding: 0 0 30px 0;
}
.type-raceeventlisting .race-event .title {
	display: block;
	color: var(--secondary);
	font-size: 26px;
	margin-bottom: .1em;
	font-family: 'Marvel', sans-serif;
	text-transform: none;
}
.type-raceeventlisting .race-event span {
	display: block;
}
.type-raceeventlisting .race-event .more {
	color: var(--link-text);
	font-weight: var(--link-text-font-weight);
}
.type-raceeventlisting .race-event .more:hover {
	color: var(--link-text-hover);
}

footer {
	overflow: hidden;
	background: #4a4a4a;
	color: var(--white);
	font-size: 14px;
}
footer .row {
	display: flex;
	flex-wrap: wrap;
}
footer .row .col-1-3:first-child {
	display: flex;
}
footer .enews-signup {
	background: var(--secondary);
	width: 100%;
	text-align: center;
	padding: 40px 0;
}
footer .enews-signup h3 {
	font-size: 30px;
	font-weight: normal;
	margin: 0;
	text-transform: uppercase;
}
footer .enews-signup h4 {
	font-size: 38px;
	font-weight: 400;
	margin: 0 0 15px 0;
	text-transform: uppercase;
	line-height: 1;
}
footer .col-1-3:nth-of-type(2) {
	display: flex;
	align-items: center;
	justify-content: center;
}
footer .organization {
	line-height: 1.5;
}
footer .organization [itemprop=name] {
	text-indent: -9999px;
	width: var(--footer-logo-width);
	height: var(--footer-logo-height);
	margin-bottom: 20px;
	background: transparent url(/elements/skin/cleveland-marathon-logo-text-only.png?v=5) no-repeat center center;
	background-size: contain;
	
	/* This gives us a white version of the logo */
	filter: brightness(0) invert(1);
}
footer .col-1-3:nth-of-type(3) {
	padding: 30px 0;
	position: relative;
	z-index: 1;
}
footer .col-1-3:nth-of-type(3) .bottom {
	position: absolute;
	z-index: 1;
	bottom: 30px;
}
footer .social-media {
	margin-left: -13px;
}
footer .navigation li {
	display: inline;
}
footer .navigation li a {
	display: inline-block;
	color: var(--white);
	padding-right: 5px;
}
footer .navigation li:not(:first-child) a {
	border-left: solid 1px var(--white);
	padding-left: 5px;
}

.wf-loading * {
	opacity: 0;
}
.wf-active *,
.wf-inactive * {
	opacity: 1;
}
.wf-active {
	font-family: 'Open Sans', sans-serif;
}
.wf-active header .time > span:after {
	font-family: 'Open Sans', sans-serif !important;
}
.wf-active footer .enews-signup h3,
.wf-active body:not(.type-homepage) h1,
.wf-active body:not(.type-homepage) h3 {
	font-family: 'Marvel', sans-serif;
}
.wf-active header .time {
	font-family: 'Share Tech Mono', monospace;
}

@media only screen and (max-width: 1000px) {
	.content {
		margin: 0 20px;
	}
	header .tools .content {
		margin-right: 20px;
	}
}

@media only screen and (min-width: 832px) and (max-width: 1000px) {
	header > .content {
		margin: 0px;
	}
	header > .content .logo {
		margin-left: 8px;
	}
}

@media only screen and (min-width: 832px) {
	body:not(.type-homepage) article .section {
		--article-left-bar-width: 320px;
		--article-left-bar-padding: 20px;
		padding-left: calc(var(--article-left-bar-width) + var(--article-left-bar-padding));
		overflow: hidden;
	}
	body:not(.type-homepage) article .section .left {
		margin-left: calc(-1 * (var(--article-left-bar-width) + var(--article-left-bar-padding)));
		float: left;
		width: var(--article-left-bar-width);
	}
	body:not(.type-homepage) article .section .left h2 + p {
		margin-top: -1em;
	}
}

@media only screen and (max-width: 831.98px) {
	.menu-trigger {
		display: block;
	}
	#wrapper {
		padding-top: var(--mobile-nav-height);
	}
	header:not(.mobile-header) {
		height: var(--mobile-nav-height);
	}
	header .logo {
		left: 50%;
		top: calc(var(--mobile-top-bar) + var(--mobile-logo-vertical-padding));
		margin-left: calc(var(--header-logo-width) / 2 * -1); /* negative half of logo width */
	}
	header .content {
		margin: 0;
	}
	header .info .top-bar-rect-1 {
		position: absolute;
		z-index: 1;
		top: 0;
		right: 0;
		left: 0;
		height: var(--mobile-top-bar);
		line-height: var(--mobile-top-bar);
		padding: 0;
		text-align: center;
	}
	header nav,
	header:not(.mobile-header) .countdown,
	header:not(.mobile-header) .tools,
	header:not(.mobile-header) .top-bar-rect-3,
	header:not(.mobile-header) .top-bar-rect-2,
	header:not(.mobile-header) .social-media,
	header:not(.mobile-header) .search {
		display: none;
	}
	.mobile-header {
		display: block;
	}
	footer .content {
		margin: 0;
	}
	footer .row .col-1-3 {
		float: none;
		width: 100%;
		padding: 0;
		margin-bottom: 20px;
		text-align: center;
	}
	#content .top {
		bottom: -248px;
	}
	footer .col-1-3:nth-of-type(1) {
		height: 248px;
	}
	footer .col-1-3:nth-of-type(3) .bottom {
		position: static;
		margin-top: 20px;
	}
	footer .col-1-3:nth-of-type(3) .bottom .navigation {
		margin: 0 auto;
		overflow: hidden;
		text-align: center;
	}
}

/* Mobile */
@media only screen and (max-width: 500px) {
	.row [class*='col-'] {
		float: none;
		padding-right: 0;
		width: 100%;
	}
	article table:not(.mobile) tr {
		display: block;
		padding: 0;
		border-bottom: solid 1px #e0e0e0;
	}
	article table:not(.mobile) tr:first-child {
		display: none;
	}
	article table:not(.mobile) tr td:first-child {
		text-align: center;
	}
	article table:not(.mobile) th {
		display: none;
	}
	article table:not(.mobile) td {
		display: block;
		width: 100%;
	}
	article table:not(.mobile) td:before {
		content: attr(data-title);
		display: block;
		font-weight: 600;
		margin: -5px -5px 5px;
		padding: 5px 5px 0 5px;
		text-transform: uppercase;
	}
	article table:not(.mobile) th,
	article table:not(.mobile) td {
		border: none;
	}
}

/* -------------
 * Error Messaging
 * ------------- */
.msg-ok,
.msg-error,
.msg-info {
	color: #333;
	padding: 5px 5px 5px 25px;
	margin: 0;
	display: block;
}
.msg-ok {
	background: #E5F1E8 url(/elements/icon_ok.gif) no-repeat 5px 5px;
	border-top: 2px solid #007520;
	border-bottom: 2px solid #007520;
	margin-bottom: 5px;
}
.msg-error {
	background: #F5E5E5 url(/elements/icon_error.gif) no-repeat 5px 5px;
	border-top: 2px solid #990000;
	border-bottom: 2px solid #990000;
	margin-bottom: 5px;
}
.msg-info {
	background: #dce6f3 url(/elements/icon_info.png) no-repeat 5px 5px;
	border-top: 2px solid #145bae;
	border-bottom: 2px solid #145bae;
	margin-bottom: 5px;
}

/* -------------
 * Misc.
 * ------------- */
.browsehappy {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
.clearfix {
	display: inline-block;
}
html[xmlns] .clearfix {
	display: block;
}
* html .clearfix {
	height: 1%;
}
/* Remove the outline in FF */
*|*:-moz-any-link:focus {
	outline: none !important;
}
.hide {
	display: none;
}
.invisible {
	visibility: hidden;
}
strong {
	font-weight: bold;
}
em {
	font-style: italic;
}
textarea {
	resize: vertical;
}
hr {
	display: block;
	height: 3px;
	border: 0;
	background: transparent url('data:image/gif;base64,R0lGODlhBQADAJEAANLS0vPz8/Dw8P///yH5BAAAAAAALAAAAAAFAAMAAAIHTIYAOCJcAAA7') repeat-x center center;
	margin: 1em 0;
	padding: 0;
}
audio,
canvas,
img,
video {
	vertical-align: middle;
}
::-moz-selection {
	background: var(--primary-light);
	text-shadow: none;
}
::selection {
	background: var(--primary-light);
	text-shadow: none;
}

/*
 * print styles
 * inlined to avoid required HTTP connection www.phpied.com/delay-loading-your-print-css/
 */
@media print {
	* {
		background: transparent !important;
		color: #444 !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		color: #444 !important;
		text-decoration: underline;
	}
	thead {
		display: table-header-group;
	}
	/* css-discuss.incutio.com/wiki/Printing_Tables */
	tr,
	img {
		page-break-inside: avoid;
	}
	@page {
		margin: 0.5cm;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
}
