/* -------------------------------------------------- */
/* Reset - http://purecss.io/base
/* -------------------------------------------------- */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section, main{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}.hide{display:none;}html{box-sizing: border-box;}*,*:before,*:after{box-sizing:inherit;}.clear{font-size:0px;clear: both;height: 0px;}*:focus{outline: none;}strong{font-weight:bold;}em{font-style:italic;}input:invalid{box-shadow: none;}button{border:none;background:none;padding:0;margin: 0;}button::-moz-focus-inner{border:0;}input,button{border-radius:0;border-radius:none;}html{scroll-behavior: smooth;}
/* -------------------------------------------------- */
/* Common
/* -------------------------------------------------- */
body{
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	color: #535355;
	font-weight: 500;
	background: #2551a3;
}
body.show{
	overflow: hidden;
}
h1, h2, h3, h4{
	line-height: 1.2em;
	font-weight: 700;
	color: #2551a3;
	padding: .5em 0;
}
h1{ padding: 0; }
h2{ font-size: 29px; }
h3{ font-size: 21px; }
h4{ font-size: 18px; }

a, a:visited{
	color: #000000;
	text-decoration: none;
}
a:hover, a:active{
	color: #000000;
	text-decoration: underline;
}
button{
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
}
button:hover{
	cursor: pointer;
}
strong{
	font-weight: 700;
}
sup{
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}
img.flex{
	width: 100%;
	height: auto;
}
p{
	line-height: 1.6em;
	padding-top: .5em;
	margin-bottom: .5em;
}
.ko,.ko h2,.ko h3,.ko p,
.ko button,.ko h2 a{
	color: #fff;
}
.center{
	text-align: center;
}
/* -------------------------------------------------- */
/* Containers
/* -------------------------------------------------- */
.container,
.container-max,
.container-min,
.container-tiny{
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 18px;
}
.container-max{
	max-width: 1240px;
}
.container-min{
	max-width: 1068px;
}
.container-tiny{
	max-width: 868px;
}

/* -------------------------------------------------- */
/* Header
/* -------------------------------------------------- */
header{
	position: relative;
	z-index: 50;
}
header .container-max{
	display: flex;
	align-items: center;
	justify-content: center;
}
.logo{
	background: url('/assets/images/fc-puma.svg') no-repeat;
	width: 100px;
	height: 128px;
	margin-right: auto;
	margin-top: 12px;
}
.prime ul,
.social{
	display: flex;
	align-items: center;
}
.prime li{
	margin: 0 14px;
	position: relative;
}
.prime a{
	display: block;
	line-height: 68px;
	font-weight: 700;
	text-transform: uppercase;
	color: #2551a3;
}
.prime li:hover a{
	color: #e32526;
	text-decoration: none;
}
.prime a.active{
	color: #e32526;
	text-decoration: underline;
}
.prime ul ul{
	display: none;
	background: #fff;
	position: absolute;
	border-top: 4px solid #e32526;
	width: 200px;
	left: 50%;
	margin-left: -100px; /* half of width */
}
.prime ul ul a,
.prime ul li:hover ul a{
	text-align: center;
	font-size: 12px;
	font-weight: 500;
	color: #77777a;
	line-height: 1.2em;
	padding: 12px 18px;
	border-bottom: 1px solid #d9d8d9;
}
.prime ul ul li:hover a{
	color: #e32526;
	background: #f9f9f9;
}
.prime ul ul li{
	margin: 0;
}
.prime ul ul li:last-child a{
	border: none;
}
.prime li.wsub:hover ul{
	display: block;
}
.reg-btn a{
	background: #e32526;
	color: #fff;
	border-radius: 18px;
	padding: 0 21px;
	line-height: 36px;
}
.reg-btn a:hover,
.prime ul li.reg-btn:hover a{
	background: #2551a3;
	text-decoration: none;
	color: #fff;
}
.social{
	justify-content: flex-end;
	width: 100px;
	margin-left: auto;
}
.social li{
	margin-left: 9px;
}
.social a svg{
	fill: #0047ba;
}
.social a:hover svg{
	fill: #e32526;
}

/* -------------------------------------------------- */
/* Hero
/* -------------------------------------------------- */
.hero {
	background: url('/assets/images/hero.jpg') no-repeat center;
	background-size: cover;
	position: relative;
	z-index: 25;
  margin-top: -36px;
  height: 75vh;
	overflow: hidden;
}
.hero video {
  min-width: 100%; 
  min-height: 100%; 
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.hero-overlay{
	position: absolute;
	top: 0; bottom: 0;
	width: 100%;
	display: flex;
	align-items: center;
	background: rgba(37,81,163,.9);
}
.hero h1{
	color: #fff;
	font-size: 54px;
	margin: 0; padding: 0;
	text-align: center;
}

/* -------------------------------------------------- */
/* Buttons
/* -------------------------------------------------- */
a.sm-btn,
button.sm-btn {
	display: inline-block;
	background: #e32526;
	border-radius: 18px;
	padding: 0 36px;
	color: #fff;
	line-height: 36px;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}
a.sm-btn:hover,
button.sm-btn:hover{
	background: #2551a3;
	text-decoration: none;
	color: #fff;
}
a.sm-btn.alt:hover{
	background: #fff;
	text-decoration: none;
	color: #e32526;
}
a.btn-text{
	padding: 9px;
	font-size: 13px;
	font-weight: 700;
	color: #2551a3;
	text-decoration: underline;
}
/* -------------------------------------------------- */
/* Downloads
/* -------------------------------------------------- */
.downloads{
	background: #fff;
	padding: 36px 36px 90px 36px;
	box-shadow: 0 0 9px rgba(0,0,0,.2);
	text-align: center;
}
.form-btns{
	padding-top: 2em;
	display: flex;
	flex-wrap: wrap;
	margin: -18px;
	justify-content: center;
}
.form-btns a{
	padding: 18px;
	color: #535355;
	font-size: 17px;
	line-height: 1.2em;
	text-align: center;
}
.form-btns a:hover{
	text-decoration: none;
	color: #535355;
}
.form-btns a .form-icon{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	background: #e32526;
	border-radius: 50%;
	margin-bottom: 9px;
}
.form-icon svg{
	fill: #fff;
}
.form-btns a:hover .form-icon{
	background-color: #2551a3;
}
@media screen and (max-width: 800px) {
	.form-btns a{ width: 50%; }
}
@media screen and (max-width: 600px) {
	.form-btns a{ width: 100%; }
}
/* -------------------------------------------------- */
/* Cards (home)
/* -------------------------------------------------- */
.cards{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -6px;
}
.card{
	width: 25%;
	position: relative;
	padding: 6px;
}
.card img{
	width: 100%;
	height: auto;
}
.card .fimg{
	background: #fff no-repeat center;
	background-size: 100% auto;
	padding: 48% 25%;
	border: 1px solid #efefef;
	line-height: 0;
}
.card .text{
	padding: 1em 27px 27px 27px;
}

/* -------------------------------------------------- */
/* Feed Cards (home)
/* -------------------------------------------------- */
.feed-cards{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -6px;
}
.feed-card{
	width: 25%;
	position: relative;
	padding: 6px;
}
.feed-card-wrap{
	position: relative;
	height: 100%;
	background: #fff;
}
.feed-img{
	background: no-repeat center;
	background-size: 100% auto;
	padding: 48% 25%;
	border: 1px solid #efefef;
	line-height: 0;
}
.feed-card p{
	padding: 18px 18px 43px 18px;
	margin: 0;
	font-size: 13px;
	text-align: left;
	color: #2551a3;
}
.feed-card p a{
	color: #2551a3;
	text-decoration: none;
}
.feed-card svg{
	position: absolute;
	bottom: 18px;
	right: 18px;
	fill: #77777a;

}


/* -------------------------------------------------- */
/* Home sections
/* -------------------------------------------------- */
h2.sec-hd{
	padding-bottom: .25em;
}
p.sub-text{
	font-size: 22px;
	padding: 0 0 1em 0;
}

/* -------------------------------------------------- */
/* Home Camps
/* -------------------------------------------------- */
.camps{
	background: #f3f3f4;
	padding: 36px 0 72px 0;
	text-align: center;
}
.registration .camps{
	background: none;
	padding: 0;
	margin-bottom: 36px;
}
.camps .card h3{
	font-size: 16px;
	font-weight: 700;
	padding: .25em 0;
	color: 2551a3
}
.registration .camps .card h3{
	margin-bottom: 9px;
}
.camps .card a:hover{
	text-decoration: none;
}
.camps .card p{
	padding: .25em 0 1em 0;
}

/* -------------------------------------------------- */
/* Home Feed
/* -------------------------------------------------- */
.feed{
	padding: 36px 0 72px 0;
	text-align: center;
}
.feed .card .text{
	position: relative;
	background: #fff;
	font-size: 12px;
	color: #2551a3;
	text-align: left;
	padding: 1em 18px 36px 18px;
}
.feed .card svg{
	position: absolute;
	bottom: 18px; right:18px;
	fill: #77777a;
}

/* -------------------------------------------------- */
/* Home Locations
/* -------------------------------------------------- */
.locations{
	background: #f1f1f2;
	padding: 36px 0;
	text-align: center;
}
.locations h2{
	margin-bottom: 27px;
}
.locations-wrap{
	background: #2551a3;
	display: flex;
	flex-wrap: wrap;
}
.locations .list,
.locations #map{
	width: 50%;
}
#map{
	color: #333;
	min-height: 360px;
}
.locations .list{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10%
}
.locations .list .list-content{
	display: flex;
	flex-wrap: wrap;
}
.locations .list button{
	text-align: left;
	width: 50%;
	font-size: 14px;
	padding: 6px;
}
.locations .btn-wrap{
	width: 100%;
	padding-top: 27px;
}

a.med-btn {
	display: inline-block;
	background: #e32526;
	border-radius: 18px;
	color: #fff;
	line-height: 36px;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	padding: 0 18px;
	text-transform: uppercase;
}
a.med-btn:hover{
	background: #e32526;
	text-decoration: none;
	color: #fff;
}

/* -------------------------------------------------- */
/* Home Testimonies
/* -------------------------------------------------- */
.testimonies{
	background: #2551a3;
	padding: 36px 0 54px 0;
	text-align: center;
}
.testimonies .glide__slides{
	align-items: center;
}
.testimonies .slide .cite{
	padding-top: 9px;
	text-transform: uppercase;
	font-weight: 700;
}

/* -------------------------------------------------- */
/* Slider (home, about)
/* -------------------------------------------------- */
.glide__track{
	position: relative;
}
.glide .slide{
	display: flex;
	align-items: center;
	padding: 18px 84px;
}
.glide .slide img{
	width: 100px;
	height: 100px;
}
.glide .slide .text{
	font-size: 14px;
	line-height: 1.6em;
	padding-left: 24px;
	text-align: left;
}
.glide button.arrow-left,
.glide button.arrow-right{
	position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.glide button.arrow-left{ left: 0; }
.glide button.arrow-right{ right: 0; }

/* -------------------------------------------------- */
/* Page Header 
/* -------------------------------------------------- */
.pg-header{
 	background: #e7e7e8;
 	padding: 54px 0 27px 0;
 	margin-top: -36px;
 	text-align: center;
}
.pg-header h1{
	font-size: 40px;
	font-weight: 700;
}
.crumbs{
	padding-top: 9px;
}
.crumbs a{
	display: inline-block;
	font-size: 12px;
	text-transform: uppercase;
	color: #76777a;
}
.crumbs a:last-of-type{ display: none; }
.crumbs a:after { content: " / "; }
.crumbs a:last-child:after { content: ""; }
.crumbs a:hover{ text-decoration: none; }

/* -------------------------------------------------- */
/* Opening
/* -------------------------------------------------- */
.opening{
	display: flex;
	flex-wrap: wrap-reverse;
	background: #2551a3;
}
.opening .text{
	width: 60%;
	padding: 18px 36px;
}
.opening .img{
	width: 40%;
	background: no-repeat center;
	background-size: cover;
	padding-bottom: 30%; /* 4:3 image ratio */
}
.opening-single-img{
	background: #2551a3;
	line-height: 0;
	margin-bottom: 36px;
}
.camps-index .opening{
	margin-bottom: 36px;
}
.camps-index .opening h2{
	padding-bottom: .25em;
}
.camps-index .opening .ages{
	font-size: 22px;
	padding-bottom: .25em;
}

/* -------------------------------------------------- */
/* Contact
/* -------------------------------------------------- */
.contact-body-wrap{
	background: no-repeat center bottom;
	background-size: 100% auto;
	padding-bottom: 36px;
	min-height: 432px;
}
.contact-body{
	background: #fff;
	padding: 36px;
	box-shadow: 0 0 9px rgba(0,0,0,.2);
	display: flex;
	flex-wrap: wrap;
}
.contact-body .col{
	width: 50%;
}
a.icon-btn,
.icon-btn{
	display: flex;
	align-items: center;
	padding: 6px 0;
}
a.icon-btn span,
.icon-btn span{
	padding-left: 6px;
	color: #535355;
}
.icon-btn svg{
	fill: #e32526;
}
a.icon-btn:hover{
	text-decoration: none;
}

/* -------------------------------------------------- */
/* Forms
/* -------------------------------------------------- */
form{
	padding: 1em 0;
}
.form-row{
	display: flex;
	flex-wrap: wrap;
	margin: -6px;
	padding-bottom: 12px;
}
label{
	display: block;
	font-size: 13px;
	padding-bottom: 6px;
	font-weight: 700;
}
.form-row .form-col{
	padding: 9px;
	flex-grow: 1;
}
.form-row.cols-2 .form-col{
	width: 50%;
}
.form-row.cols-3 .form-col{
	width: 33.333%;
}
input,
textarea,
select{
	border: 1px solid #cbc9c7;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	color: #535355;
	font-weight: 500;
	padding: 12px;
	width: 100%;
}
.alert{
	color: red;
}
.body .radios{
	display: flex;
	margin: -6px;
	padding: 0;
}
.body .radios li{
	background: none;
	padding: 6px;
}
input.check,
.check input,
.body .radios input{
	width: auto;
	padding: 0;
}
.radios label,
label.check{
	font-weight: 400;
	line-height: 1.4em;
}
.input_description{
	padding-top: 6px;
	font-size: 12px;
	opacity: .6;
}
.form-hd{
	padding: 1em 0;
	font-size: 21px;
}
/* -------------------------------------------------- */
/* Single column text
/* -------------------------------------------------- */
.single-col{
	padding: 36px 0;
	min-height: 300px;
}
.registration .single-col{
	padding: 36px 0 72px 0;
}
.body ul{
	padding: .75em 1.25em;
}
.body ul li{
	background: url('/assets/images/body-list-dot.svg') no-repeat left .8em;
	padding: .25em 0 0 9px;
	line-height: 1.6em;
	margin-bottom: .25em;
}

/* -------------------------------------------------- */
/* Meet staff
/* -------------------------------------------------- */
.meet{
	background: #2551a3;
	padding: 18px 0 0 0;
	text-align: center;
	line-height: 0;
}
.meet p{
	line-height: 1.6em;
}
.meet h2{
	line-height: 1.2;
}
.meet .glide__bullets{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 1em 0 1.5em 0;
}
.meet .glide__bullets button{
	background: url('/assets/images/staff-list-dot.svg') no-repeat left center;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	font-weight: 600;
	border: none;
	padding: 3px 3px 3px 12px;
	margin: 3px;
}
.meet .glide__bullets button:hover,
.meet .glide__bullet--active{
	text-decoration: underline;
}
.meet .slide{
	display: inline-flex;
}
.meet .slide img{
	width: 150px;
	height: auto;
}
.meet .text,
.meet .text h3{
	font-size: 13px;
}
.meet .text h3{
	font-size: 15px;
	padding: 0 0 .75em 0;
}
.meet .slide .role{
	font-size: 12px;
	text-transform: uppercase;
}
.meet .text li{
	line-height: 1.4em;
	background: url('/assets/images/bio-list-dot.svg') no-repeat left .6em;
	padding-left: 9px;
	margin-bottom: 3px;
}
.meet-group-shot{
	padding-top: 36px;
}
/* -------------------------------------------------- */
/* Camp Page
/* -------------------------------------------------- */
.img-gallery{
	display: flex;
	margin: 0 -3px;
}
.img-gallery-item{
	padding: 0 3px;
}
.img-gallery-item img{
	width: 100%;
	height: auto;
}
.sessions-hd-sec{
	background: #2551a3;
	padding: 36px 0 18px 0;
	text-align: center;
}
.sessions-sec{
	background: #fff;
	padding: 36px;
	box-shadow: 0 0 9px rgba(0,0,0,.2);
}
.sessions-sec table{
	width: 100%;
}
.sessions-sec tr td{
	padding: 9px 0;
	border-bottom: 1px solid #000;
	line-height: 1.2em;
	text-align: left;
}
.sessions-sec tr:last-child td{
	border-bottom: none;
}
.sessions-sec tr td:last-child{
	text-align: right;
}
.sessions-sec .city-state{
	font-size: 18px;
	font-weight: 700;
	color: #2551a3;
}
.sessions-sec .address{
	display: block;
	font-size: 13px;
}
.sessions-sec .date,
.sessions-sec .time{
	font-size: 16px;
	color: #2551a3;
}
.sessions-sec .price{
	font-size: 16px;
	color: #e32526;
}

.body-img{
	background: no-repeat right bottom;
	margin-bottom: -36px;
	padding-bottom: 36px;
}
@media screen and (max-width: 800px) {
	.body-img{ 
		background-position: center bottom;
		padding-bottom: 300px; }
}
/* -------------------------------------------------- */
/* Session page
/* -------------------------------------------------- */
.session-pg-sum{
	line-height: 1.4em;
	margin-bottom: 36px;
}
.session-pg-sum .session-title,
.session-pg-sum .dates, 
.session-pg-sum .times,
.session-pg-sum .price{
	font-weight: 700;
}
.session-pg-sum .session-title,
.session-pg-sum .location-title,
.session-pg-sum .price{
	display: block;
}
.session-pg-sum .price{
	font-size: 18px;
	color: #2551a3;
}
.players{
	width: 100%;
	margin-bottom: 18px;
}
.players th,
.players td{
	padding: 12px;
	text-align: left;
	border-bottom: 1px solid #cbc9c7;
	line-height: 1.3em;
}
.players tr.player-row td{
	background: #ffffef;
}
.players tr.player-row.waddon td{
	border-bottom: 0;
	padding-bottom: 0;
}
.players td:first-child{
	border-left: 1px solid #cbc9c7;
}
.players td:last-child{
	border-right: 1px solid #cbc9c7;
}
.players th{
	background: #f3f2f1;
	font-weight: 700;
}
.players form{
	padding: 0;
}
.players td.actions{
	text-align: right;
}
button.text-btn{
	font-size: 12px;
	text-decoration: underline;
}
.promo-form{
	display: flex;
	align-items: flex-end;
	max-width: 416px;
	margin-bottom: 9px;
}
.promo-form .input-col{
	flex-grow: 1;
}
.promo-form .input-col input{
	height: 44px;
}
.promo-form .btn-col button{
	background: #8b8d8e;
	color: #fff;
	line-height: 44px;
	padding: 0 18px;
}
.amounts{
	max-width: 416px;
	margin-bottom: 36px;
}
.amounts th,
.amounts td{
	padding: 12px 0;
	border-bottom: 1px solid #cbc9c7;
	font-size: 15px;
	text-align: left;
}
.amounts tr:last-child th,
.amounts tr:last-child td{
	border: none;
}
.amounts th{
	font-weight: 700;
	padding-right: 18px;
}
.amounts .total td,
.amounts .total td{
	color: #2551a3;
	font-weight: 700;
}

/* -------------------------------------------------- */
/* Register: No Player
/* -------------------------------------------------- */
.noplayer-box{
	box-shadow: 0 0 9px rgba(0,0,0,.2);
	padding: 0 18px 36px 18px;
	margin-bottom: 72px;
}
.noplayer-box .steps{
	padding: 36px 0 18px 0;
}
.noplayer-box .container-tiny{
	padding: 0;
}
/* -------------------------------------------------- */
/* Register Steps
/* -------------------------------------------------- */
.register-wrap{
	padding: 72px 0;
}
.steps{
	display: flex;
	flex-wrap: wrap;
	margin: -9px;
	padding-top: 72px;
}
.steps .step{
	padding: 9px;
}
.steps .step span{
	display: inline-block;
	font-weight: 700;
	padding-bottom: 5px;
	border-bottom: 3px solid transparent;
	color: #b0aeb0;
}
.steps .step.active span{
	color: #2551a3;
	border-color: #2551a3;
}

/* -------------------------------------------------- */
/* Background wrappers
/* -------------------------------------------------- */
.tile-fence-bg{
	background: url('/assets/images/tile-fence.png');
}
.tile-blue-top-bg{
	background: url('/assets/images/tile-blue.svg') repeat-x;
}
.tile-light-gray-btm-bg{
	background: url('/assets/images/tile-light-gray.svg') repeat-x left bottom;
	padding-bottom: 9px;
}
.tile-gray-top-bg{
	background: url('/assets/images/tile-gray.svg') repeat-x;
}

/* -------------------------------------------------- */
/* Extra Training
/* -------------------------------------------------- */

.training-body-wrap{
	background: no-repeat center bottom;
	background-size: 100% auto;
	padding: 36px 0;
}
.training-cols{
	display: flex;
	flex-wrap: wrap;
}
.training-cols .col1{
	width: 75%;
	padding-right: 72px;
}
.training-cols .col2{
	width: 25%;
}
.course{
	margin-bottom: 2em;
}
.body .course ul{
	padding: .5em 0;
}
.body .course li{
	padding-top: 0;
	padding-bottom: 0;
}
.videos-wrap{
	padding: 36px 0 0 0;
}
.videos-wrap-btm-bg{
	padding: 0 0 9px 0;
}
.videos-inside-wrap{
	background: #fff;
	box-shadow: 0 0 9px rgba(0,0,0,.2);
	padding: 36px;
	text-align: center;
}
.videos{
	display: flex;
	flex-wrap: wrap;
	margin: -12px;
	padding: 1em 0;
}
.video{
	width: 50%;
	padding: 12px;
	text-align: left;
}
.video h4{
	font-size: 14px;
	color: #535355;
}

.video-embed { 
	position: relative; 
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	height: auto;
	margin-bottom: 1em;
} 
.video-embed iframe, .video-embed object, .video-embed embed { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* -------------------------------------------------- */
/* Footer
/* -------------------------------------------------- */
footer{
	background: #f1f1f2;
	padding-bottom: 108px;
	font-size: 13px;
}
footer .top-row{
	padding: 48px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.foot-logos{
	display: flex;
	align-items: center;
}
.foot-logos img{
	margin-right: 36px;
}
.optin{
	width: 360px;
	margin-left: auto;
}
.optin-field{
	display: flex;
	align-items: center;
	background: #fff;
	height: 40px;
	padding: 2px 2px 2px 18px;
	border-radius: 20px;
}
.optin-field input{
	width: 100%;
	border: none;
	height: 36px;
	background: transparent;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	color: #535355;
}
.optin-consent{
	padding-top: 12px;
	display: flex;
	align-items: center;
	padding-left: 16px;
	font-weight: 400;
}

.optin-consent span{
	padding-left: 3px;
	font-size: 12px;
}
.optin-field button{
	margin: 0;
	border: none;
	padding: 0;
	width: 36px;
	height: 36px;
}
.mid-row{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	padding: 27px 0;
	border-top: 1px solid #b2aeb0;
	border-bottom:  1px solid #b2aeb0;
}
.mid-row .col{
	margin-right: 48px;
}
a.foot-logo{
	margin-left: auto;
}
footer h4{
	color: #535355;
	font-weight: 700;
	font-size: 16px;
	margin-bottom: .6em;
}
.foot-links li{
	margin-bottom: 4px;
}
.foot-links a{
	color: #535355;
	line-height: 1.2em;
}
.btm-row{
	padding: 18px 0;
}

/* -------------------------------------------------- */
/* CMS edit button
/* -------------------------------------------------- */
.edit-btn{
	background:  #000000 url('/assets/images/pencil.svg') no-repeat center;
	height: 48px;
	width: 48px;
	position: fixed;
	z-index: 9999;
	bottom: 10px;
	right: 10px;
}

/* -------------------------------------------------- */
/* Mobil navigation
/* -------------------------------------------------- */
#page{
	background: #fff;
	position: absolute;
	top: 0;
	width: 100%;
	overflow: hidden;
	z-index: 10;
	min-height: 100vh;
}
#page{
	left: 0;
	-webkit-transition: left .25s; /* Safari */
	transition: left .25s;
}
.show #page{
	left: -251px;
}
.mnav-btn{
	margin: 0; padding: 0; line-height: 0;
	border: none;
}
.mnav-btn{ display: none; }
.mnav-btn .close{ display: none; }
.show .mnav-btn .close{ display: block; }
.show .mnav-btn .menu{ display: none; }
.show .mnav-btn{ 
	background: #2551a3; 
	border-radius: 18px;
}
.mnav{
	background: url('/assets/images/fc-puma-bg.png') no-repeat center right;
	background-size: 225px auto;
	position: fixed;
	top: 0; right: 0;
	width: 251px;
	height: 100vh;
	overflow-y: auto;
	padding: 45px 18px;
}
.mnav a{
	display: block;
	padding: 9px;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	line-height: 1.4em;
}
.mnav li li a{
	font-size: 13px;
	font-weight: 500;
	opacity: .7;
}

/* -------------------------------------------------- */
/* Breakpoints
/* -------------------------------------------------- */
@media screen and (max-width: 1140px) {
	.card,.feed-card{ width: 50%; }
}
@media screen and (max-width: 1000px) {
	.training-cols .col1{	width: 60%;}
	.training-cols .col2{	width: 40%;}
}
@media screen and (max-width: 950px) {
	.social{ display: none; }
	.locations .list{ padding: 5% }
}
@media screen and (max-width: 930px) {
	.foot-logos,.optin{
		width: 100%;
	}
	.optin-field input{text-align: center;}
	.optin-consent,.foot-logos{ justify-content: center; }
	.foot-logos img{ margin: 0 18px; }
	a.foot-logo{ display: none; }
	.optin{ padding-top: 27px; }
	.btm-row{ text-align: center; }
	.mid-row .col{
		margin: 0;
		width: 33.333%;
		text-align: center;
	}
}
@media screen and (max-width: 900px) {
	.opening .text, .opening .img{ width: 50%; }
	.bios button { margin: 0; }
	.sessions-sec table, .sessions-sec table tr,.sessions-sec table td,
	.sessions-sec table tr,.sessions-sec table tbody{
		display: block;
		border: none;
		text-align: center;
	}
	.sessions-sec tr td:last-child{ text-align: center; }
	.sessions-sec table td{ padding: 3px 0; }
	.sessions-sec table tr{ border-bottom: 1px solid #000; }
	.sessions-sec table tr:last-child{ border: none; }
	.sessions-sec table td:first-child{ padding-top: 15px; }
	.sessions-sec table td:last-child{ padding-bottom: 15px; }
	.sessions-sec .price, .sessions-sec .city-state{ 
		display: block; 
		margin-bottom: 6px; 
	}
}
@media screen and (max-width: 850px) {
	.prime li{ display: none; }
	.prime li.reg-btn{ 
		margin-left: 0;
		display: block; 
	}
	.mnav-btn{ display: block; }
}
@media screen and (min-width: 851px) {
	#page.show{ left: 0; }
}
@media screen and (max-width: 800px) {
	.video{ width: 100%; }
	.videos-inside-wrap{ padding: 18px; }
	.img-gallery-item:last-child{ display: none; }
}
@media screen and (max-width: 760px) {
	.opening .text,.opening .img,
	.optin{ width: 100%; }
	.opening .img{ padding-bottom: 70%; }
	.locations .list,.locations #map{ width: 100%; }
}
@media screen and (max-width: 700px) {
	.contact-body .col{ width: 100%; }
	.training-cols .col1,
	.training-cols .col2{
		width: 100%;
		padding:0;
	}
	.training-cols .col1{margin-bottom: 36px;}
}
@media screen and (max-width: 600px) {
	.hero h1{ font-size:  42px; }
	a.foot-logo{ display: none; }
	.mid-row .col{ 
		width: 100%;
		margin-bottom: 18px;
	}
	.mid-row .col:last-of-type{ margin: 0; }
	.glide button.arrow-left,
	.glide button.arrow-right{
		position: relative;
		transform: none;
		margin: 0 6px;
	}
	.glide .slide{ padding: 18px 0 }
	.card,.feed-card{ width: 100%; }

	.players{
		border-right: 1px solid #cbc9c7;
		border-left: 1px solid #cbc9c7;
	}
	.players td,.players tbody,.players tr{
		display: block;
		border: none;
	}
	.players th{ display: none; }
	.players td:first-child{
		font-size: 16px;
		font-weight: 700;
		padding-top: 12px;
		border: none;
	}
	.players td:last-child{
		padding-bottom: 12px;
		border: none;
	}
	.players td.actions{ text-align: left; }
	.players td{
		padding: 3px 12px;
	}
	.players tr{
		border-bottom: 1px solid #cbc9c7;
	}
	.players tr.waddon{
		border-bottom: none;
		padding-bottom: 0;
	}
}
@media screen and (max-width: 550px) {
	.steps{ margin: -3px; }
	.steps .step{
		padding: 3px;
		width: 100%;
	}
}
@media screen and (max-width: 500px) {
	.hero h1{ font-size:  36px; }
	.img-gallery-item:nth-child(2) img{display:none;}
	.form-row.cols-2 .form-col,.form-row.cols-3 .form-col{ width: 100%; }
}
@media screen and (max-width: 430px) {
	.glide .slide img{ display: none; }
	.glide .slide .text{ padding-left: 0; }
}

