/* flexboxgrid */ .container{margin:0 16px}.container-fluid{margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}.row{box-sizing:border-box;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex:0 1 auto;-webkit-box-flex:0;flex:0 1 auto;-ms-flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-1rem;margin-left:-1rem}.row.reverse{-ms-flex-direction:row-reverse;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.col.reverse{-ms-flex-direction:column-reverse;-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}.col-xs,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{box-sizing:border-box;-ms-flex:0 0 auto;-webkit-box-flex:0;flex:0 0 auto;padding-right:1rem;padding-left:1rem}.col-xs{-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-xs-1{-ms-flex-preferred-size:8.333%;flex-basis:8.333%;max-width:8.333%}.col-xs-2{-ms-flex-preferred-size:16.667%;flex-basis:16.667%;max-width:16.667%}.col-xs-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-xs-4{-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}.col-xs-5{-ms-flex-preferred-size:41.667%;flex-basis:41.667%;max-width:41.667%}.col-xs-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-xs-7{-ms-flex-preferred-size:58.333%;flex-basis:58.333%;max-width:58.333%}.col-xs-8{-ms-flex-preferred-size:66.667%;flex-basis:66.667%;max-width:66.667%}.col-xs-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-xs-10{-ms-flex-preferred-size:83.333%;flex-basis:83.333%;max-width:83.333%}.col-xs-11{-ms-flex-preferred-size:91.667%;flex-basis:91.667%;max-width:91.667%}.col-xs-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-xs-offset-1{margin-left:8.333%}.col-xs-offset-2{margin-left:16.667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.333%}.col-xs-offset-5{margin-left:41.667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.333%}.col-xs-offset-8{margin-left:66.667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.333%}.col-xs-offset-11{margin-left:91.667%}.start-xs{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start;text-align:start}.center-xs{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;text-align:center}.end-xs{-ms-flex-pack:end;-webkit-box-pack:end;justify-content:flex-end;text-align:end}.top-xs{-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start}.middle-xs{-ms-flex-align:center;-webkit-box-align:center;align-items:center}.bottom-xs{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.around-xs{-ms-flex-pack:distribute;justify-content:space-around}.between-xs{-ms-flex-pack:justify;-webkit-box-pack:justify;justify-content:space-between}.first-xs{-ms-flex-order:-1;-webkit-box-ordinal-group:0;order:-1}.last-xs{-ms-flex-order:1;-webkit-box-ordinal-group:2;order:1}@media only screen and (min-width:48em){.container{width:46rem;margin:auto}.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{box-sizing:border-box;-ms-flex:0 0 auto;-webkit-box-flex:0;flex:0 0 auto;padding-right:1rem;padding-left:1rem}.col-sm{-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-sm-1{-ms-flex-preferred-size:8.333%;flex-basis:8.333%;max-width:8.333%}.col-sm-2{-ms-flex-preferred-size:16.667%;flex-basis:16.667%;max-width:16.667%}.col-sm-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-sm-4{-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}.col-sm-5{-ms-flex-preferred-size:41.667%;flex-basis:41.667%;max-width:41.667%}.col-sm-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-sm-7{-ms-flex-preferred-size:58.333%;flex-basis:58.333%;max-width:58.333%}.col-sm-8{-ms-flex-preferred-size:66.667%;flex-basis:66.667%;max-width:66.667%}.col-sm-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-sm-10{-ms-flex-preferred-size:83.333%;flex-basis:83.333%;max-width:83.333%}.col-sm-11{-ms-flex-preferred-size:91.667%;flex-basis:91.667%;max-width:91.667%}.col-sm-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-sm-offset-1{margin-left:8.333%}.col-sm-offset-2{margin-left:16.667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.333%}.col-sm-offset-5{margin-left:41.667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333%}.col-sm-offset-8{margin-left:66.667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.333%}.col-sm-offset-11{margin-left:91.667%}.start-sm{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start;text-align:start}.center-sm{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;text-align:center}.end-sm{-ms-flex-pack:end;-webkit-box-pack:end;justify-content:flex-end;text-align:end}.top-sm{-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start}.middle-sm{-ms-flex-align:center;-webkit-box-align:center;align-items:center}.bottom-sm{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.around-sm{-ms-flex-pack:distribute;justify-content:space-around}.between-sm{-ms-flex-pack:justify;-webkit-box-pack:justify;justify-content:space-between}.first-sm{-ms-flex-order:-1;-webkit-box-ordinal-group:0;order:-1}.last-sm{-ms-flex-order:1;-webkit-box-ordinal-group:2;order:1}}@media only screen and (min-width:62em){.container{width:61rem}.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{box-sizing:border-box;-ms-flex:0 0 auto;-webkit-box-flex:0;flex:0 0 auto;padding-right:1rem;padding-left:1rem}.col-md{-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-md-1{-ms-flex-preferred-size:8.333%;flex-basis:8.333%;max-width:8.333%}.col-md-2{-ms-flex-preferred-size:16.667%;flex-basis:16.667%;max-width:16.667%}.col-md-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-md-4{-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}.col-md-5{-ms-flex-preferred-size:41.667%;flex-basis:41.667%;max-width:41.667%}.col-md-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-md-7{-ms-flex-preferred-size:58.333%;flex-basis:58.333%;max-width:58.333%}.col-md-8{-ms-flex-preferred-size:66.667%;flex-basis:66.667%;max-width:66.667%}.col-md-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-md-10{-ms-flex-preferred-size:83.333%;flex-basis:83.333%;max-width:83.333%}.col-md-11{-ms-flex-preferred-size:91.667%;flex-basis:91.667%;max-width:91.667%}.col-md-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-md-offset-1{margin-left:8.333%}.col-md-offset-2{margin-left:16.667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.333%}.col-md-offset-5{margin-left:41.667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333%}.col-md-offset-8{margin-left:66.667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.333%}.col-md-offset-11{margin-left:91.667%}.start-md{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start;text-align:start}.center-md{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;text-align:center}.end-md{-ms-flex-pack:end;-webkit-box-pack:end;justify-content:flex-end;text-align:end}.top-md{-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start}.middle-md{-ms-flex-align:center;-webkit-box-align:center;align-items:center}.bottom-md{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.around-md{-ms-flex-pack:distribute;justify-content:space-around}.between-md{-ms-flex-pack:justify;-webkit-box-pack:justify;justify-content:space-between}.first-md{-ms-flex-order:-1;-webkit-box-ordinal-group:0;order:-1}.last-md{-ms-flex-order:1;-webkit-box-ordinal-group:2;order:1}}@media only screen and (min-width:75em){.container{width:71rem}.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{box-sizing:border-box;-ms-flex:0 0 auto;-webkit-box-flex:0;flex:0 0 auto;padding-right:1rem;padding-left:1rem}.col-lg{-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-lg-1{-ms-flex-preferred-size:8.333%;flex-basis:8.333%;max-width:8.333%}.col-lg-2{-ms-flex-preferred-size:16.667%;flex-basis:16.667%;max-width:16.667%}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}.col-lg-4{-ms-flex-preferred-size:33.333%;flex-basis:33.333%;max-width:33.333%}.col-lg-5{-ms-flex-preferred-size:41.667%;flex-basis:41.667%;max-width:41.667%}.col-lg-6{-ms-flex-preferred-size:50%;flex-basis:50%;max-width:50%}.col-lg-7{-ms-flex-preferred-size:58.333%;flex-basis:58.333%;max-width:58.333%}.col-lg-8{-ms-flex-preferred-size:66.667%;flex-basis:66.667%;max-width:66.667%}.col-lg-9{-ms-flex-preferred-size:75%;flex-basis:75%;max-width:75%}.col-lg-10{-ms-flex-preferred-size:83.333%;flex-basis:83.333%;max-width:83.333%}.col-lg-11{-ms-flex-preferred-size:91.667%;flex-basis:91.667%;max-width:91.667%}.col-lg-12{-ms-flex-preferred-size:100%;flex-basis:100%;max-width:100%}.col-lg-offset-1{margin-left:8.333%}.col-lg-offset-2{margin-left:16.667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.333%}.col-lg-offset-5{margin-left:41.667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333%}.col-lg-offset-8{margin-left:66.667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.333%}.col-lg-offset-11{margin-left:91.667%}.start-lg{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start;text-align:start}.center-lg{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center;text-align:center}.end-lg{-ms-flex-pack:end;-webkit-box-pack:end;justify-content:flex-end;text-align:end}.top-lg{-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start}.middle-lg{-ms-flex-align:center;-webkit-box-align:center;align-items:center}.bottom-lg{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.around-lg{-ms-flex-pack:distribute;justify-content:space-around}.between-lg{-ms-flex-pack:justify;-webkit-box-pack:justify;justify-content:space-between}.first-lg{-ms-flex-order:-1;-webkit-box-ordinal-group:0;order:-1}.last-lg{-ms-flex-order:1;-webkit-box-ordinal-group:2;order:1}}

















































:root {
	--accent-color: #BA2775;
	--accent-color-alt: #010333;
}









html,body {
	margin: 0;
	padding: 0
}

body {
	background: #f9f7fc;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    line-height: 1.2em;
    padding-top: 48px
}

* { box-sizing: border-box }
img { width: 100%; max-width: 100% }
figure { margin: 0; padding: 0 }

.preload #top-nav-menu-xs,
.preload .modal {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	display: none !important
}

.top-nav.blue {
	color: white;
	background: var(--accent-color-alt);
}










a:link, a:visited {
    color: var(--accent-color-alt);
    text-decoration: none
}

a:active, a:hover {
    color: var(--accent-color-alt);
    text-decoration: none
}
























.container.padded {
	padding-top: 50px;
	padding-bottom: 50px;
}

.accent-color { color: var(--accent-color); }
.accent-color-alt { color: var(--accent-color-alt); }







.top-nav {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
	height: 48px;
	padding: 0;
	background-color: var(--accent-color-alt);
}

.top-nav .row {
	height: 48px;
}

.top-nav-logo {
	height: 26px;
	width: auto;
	vertical-align: middle
}

.top-nav-site-name {
	font-weight: 400;
	color: #fff;
	line-height: 47px;
	font-size: 20px;
	margin-left: 8px;
	vertical-align: middle
}

@media only screen and (min-width:48em) {
	
	.top-nav-logo {
		height: 26px
	}
	
	.top-nav-site-name {
		font-size: 28px
	}
	
}

.top-nav-menu {
	margin: 0;
	padding: 0;
	list-style: none
}

.top-nav-menu li {
	margin: 0;
	padding: 0;
	display: inline-block
}

.top-nav-menu li a {
	display: block;
	margin: 0;
	padding: 1px 10px 0 10px;
	line-height: 47px;
	color: #fff;
	font-size: .9em;
	letter-spacing: 1px
}

.top-nav-menu li a:hover,
.top-nav-menu li a:focus {
	color: #27abe3
}






















.button {
	font-family: "Montserrat", sans-serif;
	margin: 1px;
	padding: 0 10px;
	line-height: 50px;
	height: 50px;
	display: inline-block;
	white-space: nowrap;
	letter-spacing: 1px;
	box-sizing: border-box;
	text-transform: uppercase;
	color: #fff;
	background: var(--accent-color-alt);
	-moz-appearance: none;
	-webkit-appearance: none;
	border: none;
	border-radius: 0;
	font-weight: 600;
	font-size: 14px;
	position: relative;
	transition: transform .11s;
	user-select: none;
	text-align: center;
	outline: none;
	min-width: 200px;
	cursor: pointer;
	text-decoration: none;
}

.button.form-stack {
	margin-bottom: 6px
}

.button.full {
	width: 100%
}

.button.disabled {
	opacity: .7;
	cursor: not-allowed
}

@media only screen and (min-width:48em) {
	
	.button {
		font-size: 15px;
		padding: 0 20px;
		min-width: 300px
	}
	
}

.button:active, .button:hover, .button:link, .button:visited {
	color: #fff
}

.button:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	border-radius: 5px;
	opacity: 0;
	transition: opacity .15s
}

.button:hover:after {
	opacity: .1
}

.button:active {
	transform: scale(.96)
}

.button:active:after {
	opacity: .1
}

.button.blue {
	background: #0a2acc radial-gradient(farthest-side at 50% 0, #0a2acc 0, #1717a6 100%);
	background: var(--accent-color);
}

.button.silver {
	background: #c1c1c1 radial-gradient(farthest-side at 50% 0, #bebfc2 0, #aaaaac 100%)
}

.button.pink {
	background: #e21e87
}

.button.green {
	background: #34ca46
}

.button.amber {
	background: #e87e28
}

.button.blue-shadow:before {
	content: "";
	position: absolute;
	z-index: 1;
	width: 86%;
	height: 100%;
	left: 7%;
	top: 0;
	border-radius: 10px;
	box-shadow: 0 10px 25px 0 rgba(27, 23, 166, 0.5);
}

.button.white {
	border: 1px solid #27abe3;
	color: #27abe3;
	background-color: #fff;
	display: inline-block;
	height: 50px;
	transition: background-color .15s, border-color .15s
}

.button.white:hover,
.button.white:focus {
	background-color: #f2f2f2;
	border-color: #4bbff0
}

.button.white:hover:after {
	opacity: 0
}

.button.disabled .icon {
	opacity: .5
}

.button.x-small {
	height: 34px;
	line-height: 35px;
	font-size: .9em;
	min-width: 0
}

.button.small {
	height: 40px;
	line-height: 40px;
	min-width: 0
}

.button.margin-bottom {
	margin-bottom: 4px
}

.button .icon {
	background-repeat: no-repeat;
	background-position: 50% 50%;
	display: inline-block;
	width: 25px;
	height: 25px;
	position: relative
}

.button.alt {
	background: white;
	color: var(--accent-color);
}

@media only screen and (min-width:48em) {
	
	.button.small {
		height: 46px;
		line-height: 46px;
		min-width: 150px
	}
	
}

.badge {
	display: inline-block;
	font-weight: normal;
	color: white;
	background-color: #2632a6;
	width: 1.8em;
	height: 1.8em;
	line-height: 1.8em;
	text-align: center;
	border-radius: 50%
}






























h1 {
	margin: 0;
	font-size: 41px;
	line-height: 1;
	text-transform: uppercase;
}

@media only screen and (min-width:48em) {
	h1 {
		font-size: 47px
	}
}

h2 {
	margin: 0 0 .5em 0;
	font-size: 29px;
	line-height: 1.2;
	text-transform: uppercase;
}

@media only screen and (min-width:48em) {
	h2 {
		font-size: 33px
	}
}

p {
	margin: 0 0 15px 0;
	line-height: 1.4
}

.lead {
	color: #92949c;
	font-size: 1em;
	margin: 0 0 50px 0
}

.strong {
	color: var(--accent-color-alt);
	font-weight: bold;
	text-transform: uppercase;
	margin-bottom: 2em;
}

.heading-text {
	margin: 0 0 10px 0;
	font-size: 1.8em
}

.large-text {
	font-size: 2.3em;
	line-height: 1.2
}

@media only screen and (min-width:48em) {
	
	.heading-text {
		font-size: 2.2em
	}
	
	.lead {
		font-size: 1.1em
	}
	
	.large-text {
		font-size: 3em
	}
	
}

hr {
	background: none;
	border: none;
	height: 1px;
	background-color: rgba(0,0,0, .1);
	margin: 40px 0
}

hr.sm { margin: 20px 0 }




















#menu-toggle {
	display: inline-block;
	position: relative;
	top: 10px;
	right: 0;
	z-index: 1;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
}

#menu-toggle input {
	display: block;
	width: 40px;
	height: 32px;
	position: absolute;
	top: -7px;
	left: -5px;
	cursor: pointer;
	opacity: 0;
	z-index: 2;
	-webkit-touch-callout: none;
}

#menu-toggle span {
	display: block;
	width: 30px;
	height: 3px;
	margin-bottom: 5px;
	position: relative;
	background: #cdcdcd;
	border-radius: 2px;
	z-index: 1;
	-webkit-transform-origin: 4px 0px;
	transform-origin: 4px 0px;
	
	transition: background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
	opacity 0.55s ease,
	-webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
	background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
	opacity 0.55s ease;
	
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
	background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
	opacity 0.55s ease,
	-webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

#menu-toggle span:first-child {
	-webkit-transform-origin: 0% 0%;
	transform-origin: 0% 0%;
}

#menu-toggle span:nth-last-child(2) {
	-webkit-transform-origin: 0% 100%;
	transform-origin: 0% 100%;
}

#menu-toggle input:checked ~ span {
	opacity: 1;
	-webkit-transform: rotate(45deg) translate(-2px, -1px);
	transform: rotate(45deg) translate(-2px, -1px);
	background: #fff;
}

#menu-toggle input:checked ~ span:nth-last-child(3) {
	opacity: 0;
	-webkit-transform: rotate(0deg) scale(0.2, 0.2);
	transform: rotate(0deg) scale(0.2, 0.2);
}

#menu-toggle input:checked ~ span:nth-last-child(2) {
	-webkit-transform: rotate(-45deg) translate(0, -1px);
	transform: rotate(-45deg) translate(0, -1px);
}

#top-nav-menu-xs {
	position: absolute;
	right: -1rem;
	width: 100vw;
	margin: -40px -16px 0 0;
	min-height: 100vh;
	padding: 50px;
	padding-top: 125px;
	background: var(--accent-color-alt);
	list-style-type: none;
	-webkit-font-smoothing: antialiased;
	-webkit-transform-origin: 0% 0%;
	transform-origin: 0% 0%;
	-webkit-transform: translate(100%, 0);
	transform: translate(100%, 0);
	transition: -webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0), -webkit-transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

#top-nav-menu-xs li {
	display: block;
	margin: 0;
	padding: 0
}

#top-nav-menu-xs li a {
	display: block;
	font-size: 1.2em;
	color: #fff;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255,255,255, .1)
}

#menu-toggle input:checked ~ ul
{
	-webkit-transform: none;
	transform: none;
}

@media only screen and (min-width:48em) {
	#top-nav-menu-xs {
		opacity: 0;
		pointer-events: none;
		width: 350px;
	}
	#menu-toggle input:checked ~ ul {
		opacity: 1;
		pointer-events: auto;
	}
}










.knockout-bg {
	position: relative;
	min-height: 600px
}

.section.blue.knockout-bg { background: #0a2acc linear-gradient(-20deg, #1717a6, #e63250 ) }

.knockout-bg.knockout-normal { min-height: 500px }

.knockout-fg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #f2f4fc;
	mix-blend-mode: lighten;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-content: center;
	align-items: center;
	justify-content: center;
	color: black;
	font-size: 1em;
	font-weight: normal;
	border-left: 3px solid black;
	padding-left: 1rem
}

.knockout-bg.knockout-normal .knockout-fg {
	border-top: 3px solid black;
	border-bottom: 3px solid black;
	border-left: none;
	background: white;
	padding-left: 0
}

.knockout-fg h5 {
	font-size: 1.4em;
	line-height: 1.1;
	margin: 7px 0 10px 0;
	font-weight: 900
}

.knockout-item {
	margin: 25px 0
}

.knockout-item img {
	display: block
}

.knockout-logo {
	width: 80%;
	filter: brightness(0) saturate(100%)
}

@media only screen and (min-width:48em) {
	
	.knockout-logo {
		width: 50%
	}
	
}




























.section {
	background: #f7f9fc;
	padding: 25px 0
}

.section.small {
	padding: 20px 0
}

.section.white { background: white }
.section.grey { background: #f7f9fc }
.section.grey-dark { background: #f2f4fc }
.section.red { background: #b31569 linear-gradient(0deg, #b31569, #e63250); color: #fff }
.section.blue { background: #0a2acc linear-gradient(270deg, #1717a6, #e63250 ); color: #fff }

.hero-section {
	padding: 100px 0
}

.hero-section h1 {
	font-weight: 900
}

@media only screen and (min-width:48em) {
	
	.section {
		padding: 40px 0
	}
	
	.section.hero { padding: 150px 0 50px 0 }
	
	.hero-section {
		padding: 97px 0
	}
	
	.hero-section h1 {
		font-size: 63px
	}
	
}

.product {
	background-color: white
}

.product-header {
	
}

.product-img {
	border-radius: 0;
	margin-bottom: 10px
}

.product-img.spaced {
	margin-bottom: 25px
}

.product-info {
	padding-bottom: 30px
}

@media only screen and (min-width:48em) {
	.product-header {
		min-height: 75vh
	}
	.product-img-container {
		margin: 20px 0
	}
	.product-img {
		border-radius: 7px;
		margin-bottom: 0
	}
	.product-info {
		padding-bottom: 0
	}
}

.product-info .summary {
	margin-bottom: 38px
}

.product-info .eyebrow {
	font-size: .9em;
	font-weight: 200;
	opacity: .8;
	display: block
}

.product-info .title {
	margin: 4px 0 20px 0
}






.progress-bar {
	position: relative;
	z-index: 1;
	overflow: hidden;
	height: 1.3em;
	border-radius: 5px;
	background: #ddd;
	margin: 0 16px 5px 16px
}

.progress-message {
	font-size: .8em;
	margin: 0 0 20px 0
}

.progress-bar .progress {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #0a2acc linear-gradient(-20deg, #1717a6, #e63250 );
	-webkit-transform: scaleX(0);
	-moz-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	transform-origin: left center;
	-webkit-transition: transform 1s;
	-moz-transition: transform 1s;
	transition: transform 1s
}

.progress-bar .progress-label {
	position: absolute;
	top: 0;
	left: -50px;
	width: 50px;
	padding-right: 4px;
	text-align: right;
	color: #fff;
	font-size: .8em;
	font-weight: bold;
	padding-top: 2px;
	opacity: 0;
	-webkit-transition: transform 1s, opacity 1s;
	-moz-transition: transform 1s, opacity 1s;
	transition: transform 1s, opacity 1s
}





.team-profile {
	width: 300px;
	border-radius: 5px
}






























.winner-box {
	border-radius: 6px;
	padding: 12px;
	text-align: center
}

.winner-box h4 {
	margin: 15px 0 5px 0;
	font-size: 1.1em
}

.winner-box p {
	margin: 0 0 15px 0;
	color: rgba(255,255,255, .7)
}














.hero {
	position: relative;
	height: 50vh;
}

@media only screen and (min-width:48em) {
	.hero {
		height: 95vh
	}
}

.hero video,
.hero img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover
}

.hero .content {
	position: absolute;
	z-index: 2;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	color: rgba(255,255,255, 1)
}

.hero h1 {
	font-size: 2.7em;
}

.hero-cause {
	padding-top: 28%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #ddd
}

#home-header video,
#competition-header video {
	background: #444;
	filter: brightness(80%)
}

#home-header .content {
	mix-blend-mode: overlay
}

#hero-logo {
	margin-top: 8px;
	width: 50%
}

.hero-logo {
	width: 150px;
	margin-bottom: 8px
}

#competition-header {
	background: #444
}

#competition-header.hero .content {
	
}

#competition-header .competition-name {
	font-size: 1.8em;
	text-shadow: 0 0px 4px rgba(0,0,0, .95)
}

#competition-header .competition-description {
	font-size: 1.2em;
	line-height: 1.2;
	margin: .5em 0 1em 0;
	text-shadow: 0 2px 1px rgba(0,0,0, .8)
}

#competition-header .competition-cause {
	font-size: .9em;
	margin: 0 0 .5rem 0;
	text-shadow: 0 2px 1px rgba(0,0,0, .8)
}

@media only screen and (min-width:48em) {
	
	.hero {
		
	}
	
	.hero h1 {
		font-size: 7em
	}
	
	#competition-header .competition-name {
		font-size: 2.4em;
	}
	
}








.heading-link {
	display: block;
	font-size: .6em;
	font-weight: normal;
	margin-top: 3px
}











.input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 16px;
	padding: 8px 10px;
	border: 1px solid #c2c4cc;
	border-radius: 4px;
	width: 200px;
	box-sizing: border-box;
	margin: 1px 0
}

.input[type="file"] {
	padding: 6px 10px 7px 10px
}

select.input {
	background-image:
		linear-gradient(45deg, transparent 50%, gray 50%),
		linear-gradient(135deg, gray 50%, transparent 50%),
		linear-gradient(to right, #ccc, #ccc);
	background-position:
		calc(100% - 15px) 14px,
		calc(100% - 10px) 14px,
		calc(100% - 30px) 5px;
	background-size:
		5px 5px,
		5px 5px,
		1px 1.5em;
	background-repeat: no-repeat;
}

.form-error-status {
	margin: 10px 0;
	color: #da0e0e
}

@media only screen and (min-width:48em) {
	
	.input {
		width: 300px
	}
	
}

.input-symbol {
	position: relative
}

.input-symbol:before {
	position: absolute;
	top: 11px;
	left: 11px;
	content: '£';
}

.input-symbol.symbol-percent:before {
	left: 8px;
	content: '%'
}

.input-symbol .input {
	padding-left: 24px;
}




























.card {
	position: relative;
	display: block;
	background-color: #fff;
	background-size: cover;
	background-position: center center;
	color: #fff;
	border-radius: 6px;
	padding: 0 0 80% 0;
	text-align: left;
	margin: 1rem 0 1rem 0;
	box-shadow: 0 16px 50px 5px rgba(0, 0, 0, .3)
}

.info-card {
	padding: 2px 2px 20px 2px;
	text-align: center;
	margin-left: 0;
	color: black
}

.spaced-out-card {
	margin-top: 40px;
	margin-bottom: 200px
}

.entry-card {
	padding: 25px 14px 14px 14px;
	text-align: center;
	color: black;
	margin-left: 24px;
	margin-right: 24px;
	box-shadow: none;
	border: 1px solid #ccc;
}

.entry-card-entries {
	margin: 0;
	color: black;
	font-size: 4em;
	letter-spacing: 2px;
	line-height: 1
}

.entry-card-info {
	display: block;
	font-size: .9em;
	font-weight: 200;
	color: rgba(0,0,0, .8);
	margin: 25px 0
}

.button.entry-button {
	font-size: 20px
}

.card.has-extra-info {
	margin-top: 0
}

.card-extra-info {
	margin-top: 1rem;
	padding: 10px 10px 16px 10px;
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	background-color: rgba(0,0,0, .05);
	border: 1px solid rgba(0,0,0, .1);
	font-size: .9em;
	position: relative;
	top: 6px;
	cursor: pointer
}

.card-extra-info:hover {
	background-color: rgba(0,0,0, .08)
}

@media only screen and (min-width:48em) {
	.entry-card {
		margin-left: 0;
		margin-right: 0
	}
	.button.entry-button {
		
	}
}

.card-label {
	background-color: #c92041;
	color: #fff;
	font-weight: 900;
	letter-spacing: 1px;
	padding: 5px 8px;
	font-size: .85em;
	border-radius: 4px;
	display: inline-block;
	position: absolute;
	top: 0;
	transform: translateY(-50%) translateX(-50%);
	left: 50%;
	text-transform: uppercase;
	z-index: 3;
	max-width: 300px;
	min-width: 60%;
	text-align: center;
	box-shadow: 0 0 5px 2px rgba(255,255,255,.5)
}

.card-heading {
	position: relative;
	font-size: 24px;
	color: #1717a6;
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	padding: 20px 0;
	background: #f4f6fe
}

.card-heading small {
	display: block;
	font-weight: normal;
	font-size: .5em;
	color: #92949c
}

.card-info {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 12px;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	background: rgba(0,0,0, .95);
	color: white
}

.card-divider {
	height: 1px;
	background-color: hsla(0, 0%, 59%, .3);
	padding: 0 10px;
	margin: 20px 10px
}

.card .button {
	min-width: 70%
}

.card-info .eyebrow {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: .9em;
	font-weight: 200;
	opacity: .8
}

.card-info .title {
	font-size: 1em;
	font-weight: bold;
	margin: 4px 0 0 0;
	/*white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;*/
}

@supports (-webkit-backdrop-filter: blur(15px)) {
	.card-info {
		-webkit-backdrop-filter: blur(15px);
		background: rgba(0,0,0, .5)
	}
}

.items {
	margin: 10px 15px 0 15px;
	text-align: left
}

.items .item {
	display: flex;
	width: 100%;
	position: relative;
	padding: 4px 8px;
	transition: background-color .2s
}

.items .item .title {
	display: block;
	flex: 1 0 auto;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 38px;
	color: #555;
	flex-basis: 33%;
	width: 33%
}

.items .item .val {
	color: #1717a6;
	align-self: flex-end;
	text-align: right;
	flex: 1 1 auto;
	display: block;
	flex-basis: 67%;
	width: 67%;
}

.items .item .val.center-val {
	align-self: center
}

.items .item .val.middle {
	align-self: center
}

.items .item .val .input {
	width: 100%
}

.items .item .help {
	display: block;
	font-size: .8em;
	color: #787878;
	text-align: left;
	margin: 3px 0
}

.items .item .help.important {
	color: #dd911d
}








































.expander {
	height: 0;
	padding: 0 0 0 30px;
	overflow: hidden
}

.expanded .expander {
	height: auto
}

.expander .text-block {
	margin: 10px 0 0 0
}



























.tabs {
	margin: 0 0 18px 0;
	padding: 0;
	list-style: none;
	display: flex
}

.tabs .tab {
	display: flex;
	flex: 1 1 auto
}

.tabs .tab a {
	display: block;
	text-align: center;
	width: 100%;
	padding: 7px;
	font-size: .9em;
	font-weight: bold;
	color: #ccc;
	border-bottom: 3px solid #ccc
}

.tabs .tab.active a {
	border-bottom-color: #27abe3;
	color: #27abe3
}

.tab-pane {
	display: none
}

.tab-pane.active {
	display: block
}





.menu-tabs {
	margin: 0 0 18px 0;
	padding: 0;
	list-style: none;
	display: flex
}

.menu-tabs .tab {
	display: flex;
	flex: 1 1 auto
}

.menu-tabs .tab a {
	display: block;
	text-align: center;
	width: 100%;
	padding: 12px;
	font-size: .9em;
	font-weight: bold;
	border-bottom: 3px solid #dde1ef
}

.menu-tabs .tab a.highlight {
	color: #b31569;
	text-transform: uppercase
}

.menu-tabs .tab.active a {
	border-bottom-color: #0a2acc
}











.contact-social-icon {
	width: 100%;
	height: auto
}

.footer-social-icon {
	width: 28px;
	height: auto
}

















.cause-header-title {
	font-size: 25px
}

.cause-header-links {
	margin-top: 12px
}

.cause-header-links a {
	color: rgba(255,255,255, .75);
	margin: 2px 4px
}

.cause-header-links svg {
	fill: white;
	width: 34px;
	height: 34px
}

@media only screen and (min-width:48em) {
	
	.cause-header-title {
		font-size: 39px
	}
	
}







.text-block {
	margin: 10px 0;
	font-size: 1.3em;
	text-align: justify
}

.text-block.sm {
	font-size: 1.05em
}

.text-block li {
	line-height: 1.3
}















.slick {
	-webkit-user-select: none;
	-moz-user-select: none
}

.slick-arrow {
	position: absolute;
	z-index: 10;
	top: 42%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 5px 20px 8px 20px;
	background: rgba(0,0,0, .5);
	border: none;
	color: rgba(255,255,255, 1);
	font-size: 40px;
	cursor: pointer;
	opacity: 0
}

@media only screen and (min-width:48em) {
	.slick-arrow { opacity: 1 }
}

.slick-arrow:hover { background: rgba(0,0,0, .75) }

.slick-prev { left: 0; border-top-right-radius: 5px; border-bottom-right-radius: 5px }
.slick-next { right: 0; border-top-left-radius: 5px; border-bottom-left-radius: 5px }

.slick-dots {
	position: absolute;
	z-index: 10;
	bottom: 6%;
	left: 0;
	right: 0;
	text-align: center;
	list-style: none;
	margin: 0;
	padding: 0
}

.slick-dots li {
	display: inline-block;
	margin: 0 3px;
	padding: 0
}

.slick-dots li button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	background: rgba(255,255,255, .5);
	border: none;
	font-size: 0;
	width: 12px;
	height: 12px;
	border-radius: 6px
}

.slick-dots li button:hover {
	background: rgba(255,255,255, .75)
}

.slick-dots li.slick-active button {
	background: rgba(255,255,255, 1)
}







.breather {
	padding: 30px 0
}





















.modal {
	position: fixed;
	z-index: 200;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(2, 36, 97, .9);
	width: 100%;
	height: 100%;
	opacity: 0;
	pointer-events: none;
	transition: all 0s
}

@supports (-webkit-backdrop-filter: blur(8px)) {
	.modal {
		background-color: rgba(2, 36, 97, .7);
		-webkit-backdrop-filter: blur(8px);
	}
}

.modal.open {
	pointer-events: auto;
	opacity: 1;
	transition: all .4s;
}

.modal-container {
	position: fixed;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 60px 0
}

.modal .modal-box {
	margin: 0 15px;
	padding: 25px;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 15px 50px 5px rgba(0, 0, 0, .5);
	opacity: 0;
	transition: all .2s;
	transform: scale(.86)
}

.modal.open .modal-box {
	min-height: 100px;
	opacity: 1;
	transition: all .2s;
	transform: scale(1)
}

.modal .modal-box:after {
	content: '✕';
	display: block;
	position: absolute;
	top: -10px;
	right: 15px;
	color: #fff;
	font-size: 1.7em;
	pointer-events: none;
	transform: translateY(-120%)
}

.modal-small-message {
	font-size: .8em;
	line-height: 1.2;
	color: #555;
	margin: 20px 0 0 0
}

@media only screen and (min-width:48em) {
	
	.modal-container {
		padding: 64px 0
	}
	
	.modal .modal-box {
		width: 450px;
		margin: 0 auto
	}
	
	.modal .modal-box:after {
		top: 0;
		right: -25px
	}
	
}







a.enter-without-donating {
	display: inline-block;
	margin: 20px 0 0 0;
	color: rgba(255,255,255, .7)
}

a.enter-without-donating:hover,
a.enter-without-donating:focus {
	text-decoration: underline
}






.has-label {
	position: relative
}

.image-label {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-block;
	font-size: .9em;
	letter-spacing: 1px;
	line-height: 1;
	padding: 6px 10px;
	border-radius: 4px;
	color: black;
	background-color: rgba(255,255,255, .85);
}

.card .image-label {
	font-size: .7em;
	padding: 5px 8px
}

.image-label.closed { color: white; background-color: rgba(255,0,0, .85); }

@supports (-webkit-backdrop-filter: blur(12px)) {
	.image-label {
		background-color: rgba(255,255,255, .5);
		-webkit-backdrop-filter: blur(12px)
	}
	.image-label.closed { background-color: rgba(255,0,0, .5); }
}











.small-print {
	font-size: .9em;
	color: rgba(0,0,0, .8)
}


















.button-tabs {
	text-align: center;
	margin: 0 0 50px 0;
	padding: 0;
	list-style: none
}

.button-tabs > li {
	display: inline-block;
	margin: 2px;
	padding: 0
}














#site-footer {
	background: white;
	padding: 40px 0;
	font-size: .8em;
	color: #555;
	background: #f2f4fc;
	line-height: 1.4em;
	border-top: 1px solid rgba(0,0,0, .15)
}

.footer-logo {
	width: auto;
	height: 20px;
	margin: 5px 10px
}

#site-footer h5 {
	font-size: 1.2em;
	margin: 1em 0 .5em 0
}

#site-footer p {
	margin: 0 0 .5em 0
}

.footer-links {
	margin: 0;
	padding: 0;
	list-style: none
}

.footer-links li {
	display: inline-block;
	margin: 0;
	padding: 0
}

.footer-links li a {
	display: inline-block;
	color: #555;
	margin: 0;
	padding: 2px 7px
}

.footer-links li a:hover,
.footer-links li a:focus {
	color: black
}

.footer-social {
	margin-top: .5em
}

#site-footer p.footer-copyright {
	margin-top: 15px
}

@media only screen and (min-width:48em) {
	
	.footer-logo {
		height: 24px;
		margin: 5px 18px
	}
	
}















.flow-list-item {
	margin: 20px 0
}

.flow-list-item a {
	display: block;
	color: black;
	font-size: .8em;
	margin-top: 3px
}

@media only screen and (min-width:48em) {
	.flow-list-item a {
		font-size: .9em
	}
}














.g-recaptcha {
	display: inline-block
}


















table {
	width: 100%;
	border-collapse: collapse
}

table td {
	vertical-align: middle;
	padding: 4px 0
}

table tbody tr:hover {
	filter: brightness(94%)
}










.img-rounded { border-radius: 15px }
.img-rounded-sm { border-radius: 6px }

.black-link { color: black !important }
.white-link { color: white !important }
.link-inherit { color: inherit !important }

.text-success {
	color: #24b233;
	background-color: #e0fbe2;
	border-radius: 4px;
	padding: 10px;
	border: 1px solid rgba(36,179,51, .5);
	font-weight: bold;
	margin: 0 0 15px 0
}

.text-error {
	color: #b32424;
	background-color: #fadede;
	border-radius: 4px;
	padding: 10px;
	border: 1px solid rgba(179,36,36, .5);
	font-weight: bold;
	margin: 0 0 15px 0
}

.text-danger { color: #ef1818 !important }

.text-left { text-align: left }
.text-center { text-align: center }
.text-right { text-align: right }

.text-underline { text-decoration: underline }

.hidden { display: none !important }

@media only screen and (min-width:48em) {
	
	.only-xs { display: none !important }
	
}

@media only screen and (max-width:47em) {
	
	.not-xs { display: none !important }
	.full-width-xs { padding: 0 }
	
}


























.section {
	padding: 0;
}

.section.padded {
	padding-top: 50px;
	padding-bottom: 50px;
}

.accent-border {
	border-top: 10px solid var(--accent-color);
}

.alt-header {
	background: var(--accent-color-alt);
}
.alt-header h2 {
	color: white;
	padding: 35px 0 35px 0;
}





.large-text {
	font-size: 2.9em;
	font-weight: bold;
	color: var(--accent-color);
}





.product-small {
	display: block;
	text-align: center;
	padding: 20px 0;
	border-bottom: 1px solid #ccc;
	text-transform: uppercase;
}

.product-small h3 {
	color: var(--accent-color-alt);
	margin: 0 0 10px 0;
}

.product-small p {
	color: var(--accent-color);
	margin: 0;
}

.product-large {
	display: block;
	text-align: center;
	text-transform: uppercase;
}

.product-large .body {
	height: 60vh;
	background-size: cover;
	background-position: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	padding: 15px 20px 50px 20px;
}

.product-large h3 {
	line-height: 1.3;
}

.product-large .competition-time {
	font-size: 19px;
	font-weight: bold;
	color: white;
	text-shadow: 0 0 4px rgba(0,0,0, 0.95);
	animation: time-animation 2s linear infinite;
}

@keyframes time-animation {
	0% {
		transform: scale(1)
	}
	25% {
		transform: scale(1)
	}
	40% {
		transform: scale(1.15)
	}
	55% {
		transform: scale(1)
	}
	100% {
		transform: scale(1)
	}
}

.product-large .competition-title {
	color: white;
	text-shadow: 0 0 4px rgba(0,0,0, 0.95);
}

.product-large .info {
	padding: 20px 0;
	background: var(--accent-color-alt);
	color: white;
}

.product-large .info .smaller {
	text-decoration: none;
	text-transform: none;
	margin: 50px 0;
	color: rgba(255,255,255, 0.8);
}

.product-cause-logo {
	width: 150px;
}

.product-large.alt .body {
	height: 45vh;
}

.product-large.alt .info {
	background: var(--accent-color);
	border-bottom: 10px solid white;
}

@media only screen and (min-width:48em) {
	
}






































@media only screen and (min-width:48em) {
	
}






