*, :before, :after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .suspension-contain {max-height: 980px; overflow:hidden; position: relative; }
html { font-size: 16px; }
html.suspended { background: rgba(0,0,0,0.6); }
body {max-width: 100%; min-width: 1200px; margin: 0 auto; text-align: center; font-family: "Open Sans"; font-size: 1rem; }
a, a:hover {text-decoration: none; color:inherit; }
h1,h2,h3,h4,h5,dl,dd,ul,ol,p{padding:0; margin:0; }
.row {max-width: 1640px; margin: 0 auto; padding: 0 20px; }
/*floats*/
.fl { float:left; }
.fr { float:right; }
/*typography*/
.text-primary { color: #B11414; }
.text-bold { font-weight: 700; }
.text-uppercase { text-transform: uppercase; }
.text-center { text-align: center !important; }
.text-left { text-align: left; }
/*button*/
.btn { display: inline-flex; justify-content: center; align-items: center; width: 180px; height: 95px; background: url(../images/common/btn-bg.png)no-repeat center; background-size: 100% 100%; background: -webkit-linear-gradient(to bottom, #EB9932, #E0B953); font: 800 16px "Montserrat"; border: none; }
.btn span { display: block; background: linear-gradient(to bottom, #EB9932, #E0B953); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.btn-default { background: #431F77; color: #fff; font-weight: 400; padding: 15px 20px; width: auto; height: auto; }
.btn-default:hover { background: -webkit-linear-gradient(to bottom, #EB9932, #E0B953); background: linear-gradient(to bottom, #EB9932, #E0B953); }
.btn:hover {}
.btn:focus { outline: none; }
/*clearings*/
.clear { clear:both; }
.clearfix:after {display: block; content:"."; height:0; clear:both; visibility:hidden; font-size: 0; }
.clearfix { display:block; }
/*contact form messages*/
form .messages p {display: none; font-family: "Open Sans" !important; font-weight: 400 !important; letter-spacing: 0 !important; font-size: 16px !important; }
form .loading { display: none; }
form .alert {padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; }
form .alert-success {color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; }
form .alert-danger {color: #a94442; background-color: #f2dede; border-color: #ebccd1; }
form [type="submit"] { margin: 20px auto; }
/*contact form*/
.ctc-form {margin: 0 auto; text-align: center; }
.ctc-form input[type="text"],
.ctc-form textarea {font-family:"Open Sans"; font-size: 16px; color:#000; height:45px; display: block; width: 100%; border:1px solid #ddd; border-radius: 3px; padding: 5px 10px; box-sizing: border-box; margin: 0 auto 8px; }
.ctc-form textarea {height: 120px; padding-top:10px; }
.ctc-form button { display: block; }
.ctc-form .recap { display: inline-block; }
.ctc-form .g-recaptcha div { margin: 0 auto 10px; }
.ctc-hide { display: none; }
/*cookie*/
.cc-animate.cc-revoke.cc-bottom{position: fixed; display: block!important; bottom: 0!important; left: 20px!important; font-size: 14px; padding: 5px 10px; transform: none!important; }
/*gallery*/
#content .gallery-container { text-align: center; }
#content .gallery {list-style-type: none; margin: 0; padding: 0; }
#content .gallery li { display: inline-block; }
#content .gallery li img {width: 200px; height: 200px; object-fit: cover; }
#content .thumbnail {background-color: #fff; border: 1px solid #ddd; border-radius: 4px; display: block; line-height: 1.42857; margin-bottom: 20px; padding: 4px; transition: border 0.2s ease-in-out 0s; }
#content .page_navigation { display: inline-block; }
#content .page_link, #content .previous_link, #content .next_link, #content  .first_link, #content  .last_link, #content .ellipse {background-color: #fff; border: 1px solid #ddd; color:  #0275d8; display: inline-block; line-height: 1.25; margin-left: -1px; padding: 0.5rem 0.75rem; position: relative; }
#content .page_navigation > a:hover, .page_navigation > a.active_page {background-color: #eceeef; border-color: #ddd; color: #014c8c; text-decoration: none; }
h1, .title { font: 800 65px "Montserrat"; line-height: 1.2; color: #431F77; }
.home h3, .footer-info h3 { font: 800 30px "Montserrat"; background: -webkit-linear-gradient(to bottom, #EB9932, #E0B953); background: linear-gradient(to bottom, #EB9932, #E0B953); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
p { font-size: 16px; margin: 20px 0; line-height: 1.8; }
/*header*/
header { position: relative; }
#header { position: absolute; top: 0; left: 0; right: 0; z-index: 1040; padding-top: 15px; }
#header .row { display: flex; justify-content: space-between; align-items: stretch; }
.header-logo { max-width: 20%; }
.header-content { max-width: 80%; }
.header-content-top { display: flex; justify-content: flex-end; align-items: center; margin-bottom: 40px; }
.header-socials { margin-right: 40px; }
.header-phone a { font: 600 25px "Montserrat"; color: #fff; }
.header-phone a:before { font: 400 22px "FontAwesome"; color: #431F77; display: inline-flex; justify-content: center; align-items: center; vertical-align: middle; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(to bottom, #EB9932, #E0B953); margin-right: 15px; }
.main-navigation { width: 1100px; max-width: 100%; }
.main-navigation a#pull {display: none}
.main-navigation ul { margin: 0; padding: 0; display: flex; justify-content: space-between; align-items: center; }
.main-navigation ul li { display: inline-block; vertical-align: middle; }
.main-navigation ul li a { display: block; font: 600 18px "Montserrat"; color: #fff; text-transform: uppercase; padding-bottom: 20px; }
.main-navigation ul li.active-menu a, .main-navigation ul li a:hover { position: relative; background: -webkit-linear-gradient(to bottom, #EB9932, #E0B953); background: linear-gradient(to bottom, #EB9932, #E0B953); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.main-navigation ul li.active-menu a:before, .main-navigation ul li a:hover:before { position: absolute; content: ""; bottom: 0; left: 0; right: 0; width: 60px; height: 5px; margin: 0 auto; background: linear-gradient(to bottom, #EB9932, #E0B953); }
/*social navigation*/
.social-navigation ul { display: flex; justify-content: space-between; align-items: center; width: 200px; list-style: none; }
.social-navigation a { font-size: 0; line-height: 0; color: #fff; }
.social-navigation a:hover { color: #EB9932; }
.social-navigation a:before { font-size: 24px; }
/*banner*/
#banner { position: relative; }
#banner .row { max-width: 100%; padding: 0; }
#banner-image img { display: block; width: 100%; }
#banner-video { position: relative; }
#banner-video:before { position: absolute; content: ""; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,.7); }
#banner-video video { display: block; width: 100%; height: auto; }
.caption-container { position: absolute; top: 0; left: 0; right: 0; bottom: 0; max-width: 1500px; margin: 0 auto; padding: 0 20px; display: flex; justify-content: flex-start; align-items: center; }
.caption { text-align: left; margin: 0; }
.caption .title, .caption h3 { color: #fff; }
.caption h3 { font-size: 25px; -webkit-background-clip: unset; -webkit-text-fill-color: unset; background: none; }
.caption .title { padding-left: 50px; }
.caption .title span, .caption .title small { display: block; }
.caption .title span { text-indent: 100px; }
.caption .last { text-indent: 300px; }
/*content*/
#content {}
#welcome { padding: 80px 0 100px; }
#welcome .row { max-width: 1200px; }
#welcome p { color: #444; font-size: 18px; }
#welcome p.highlight { background: url(../images/content/highlight-bg.png)no-repeat center; background-size: 100% 100%; padding: 30px; font-weight: 700; color: #000; }
.event-row { background-repeat: no-repeat; background-size: cover; background-position: center center; max-width: 100%; padding: 0; display: flex; justify-content: flex-start;}
.event-col { width: 55%; padding: 150px 250px 150px 150px; position: relative; z-index: 1; text-align: left; }
.event-col:before { position: absolute; z-index: -1; content: ""; top: 0; left: 0; right: 0; bottom: 0; background: url(../images/content/content-section-bg.png)no-repeat center; background-size: 100% 100%; }
.event-row:nth-of-type(odd) { justify-content: flex-end; }
.event-row:nth-of-type(odd) .event-col { padding: 150px 150px 150px 250px; padding-right: 0; }
.event-row:nth-of-type(even) .event-col:before { transform: scale(-1); }
.running-events { background-image: url(../images/content/event1.jpg); }
.jumping-events { background-image: url(../images/content/event2.jpg); }
.throwing-events { background-image: url(../images/content/event3.jpg); }
.combined-events { background-image: url(../images/content/event4.jpg); }
#events {  }
#news { padding: 90px 0; }
#news .row { display: flex; justify-content: space-between; align-items: stretch; }
#news .col { width: 32%; }
#news img { max-width: 100%; }
#news h4 { font: 800 25px "Montserrat"; color: #431f77; margin: 20px 0; }
#news p { font-weight: 700; font-size: 18px; color: #444; }
#reviews { padding: 85px 0 140px; background: url(../images/content/rev-bg.jpg)no-repeat center bottom; background-size: cover; }
#reviews .row { max-width: 1080px; }
#reviews p { font-style: italic; font-size: 18px; }
#reviews h4 {font: 800 25px "Montserrat"; color: #431f77; }
#newsletter { padding: 70px 0; }
#newsletter form { max-width: 1140px; margin: 40px auto; }
#newsletter input[type="text"] { display: inline-block; width: 49%; }
/*footer*/
#footer { background-color: #431F77; }
.footer-info { padding: 55px 0; text-align: left; }
.footer-info .row { display: flex; justify-content: space-between; align-items: stretch; }
.footer-info h3 { font-size: 25px; }
.footer-info ul li, .footer-info p { color: #fff; line-height: 1.8; font-size: 18px; }
.footer-info ul { list-style: none; margin: 20px 0; }
.footer-description { width: 450px; max-width: 30%; }
.ctc-info ul li { margin-bottom: 10px; }
.cta {display: none; position: fixed; bottom: 1%; right: 0; width: 70px; height: 70px; border-radius: 100% 0 0 100%; border: 3px solid #fff; border-right: none; background: url(../images/cta.png)no-repeat center; text-indent: -9999px; overflow: hidden; }
.footer-logo img { display: block; margin: 0 auto; padding: 0 20px; background-color: #431f77; margin: -80px auto -130px; position: relative; }
.site-info {}
.site-info .row { display: flex; align-items: center; justify-content: space-between; padding: 60px 20px; border-top: 2px solid #fff; }
.site-info p { margin: 0; color: #fff; font-size: 18px; text-transform: uppercase; }
/*inner pages*/
.inner #content {min-height: 400px; padding: 40px 0; }
.inner #content .row { max-width: 1200px; }
.inner #content h1 { margin-bottom: 30px; }
.inner #content h2 { color: #431F77; margin-bottom: 30px; font: 700 40px "Montserrat"; }

.inPrivacyBox {max-width: 850px; margin: 0 auto; } .inPrivacyBox p { text-align: justify!important; }
.destroy-on-load { display: none; }
/*Wall of fame */
.sport-section .sport-row { display: flex; justify-content: center; align-items: stretch; max-width: 1640px !important; }
.sport-section:nth-of-type(odd) .sport-row { flex-direction: row-reverse; }
.sport-section .sport-row .col { width: 50%; }
.sport-section .sport-text { align-self: center; padding: 40px; }
.sport-section .sport-image img { display: block; width: 100%; object-fit: cover; height: 100%; }
.sport-title { color: #431f77; font-weight: 700; font-size: 25px; }
/*Ages & Events*/
.ages-events-page #content h2, .ages-events-page #content h3 { margin-bottom: 15px; color: #e0b953; }
.ages-events-page #content ul { margin: 0; padding-left: 20px; text-align: left; }
.ages-events-page #content ul li { line-height: 1.6; margin-bottom: 5px; color: #fff; }
.event-section { padding: 20px; background-color: #431f77; margin: 0 auto 20px; max-width: 600px; }
/*Coaches*/
.founder { margin-bottom: 30px; }
.founder h3 { color: #e0b953; }
.founder p { margin-top: 0; }
.board-members ul { width: -webkit-max-content; width: -moz-max-content; width: max-content; margin: 0 auto; text-align: left; margin: 20px auto; padding-left: 20px; }
/*Calendar*/
.calendar-table { border-collapse: collapse; width: 100%; margin-bottom: 30px; }
.calendar-table th { color: #fff; background-color: #431F77; padding: 8px; }
.calendar-table td { padding: 5px; text-align: left; border: 1px solid #ddd; }
.contact-page #content .important { color: #f00; }
/*RESPONSIVE*/
@media screen and (max-width: 1600px) {
	.caption-container { top: 180px; }
}
@media screen and (max-width: 1440px) {
	h1, .title { font-size: 54px; }
	.header-logo img { max-height: 180px; }
	/*.main-navigation { width: 600px; }*/
	.main-navigation ul li a { font-size: 14px; }
	#banner-image img, #banner-video video { min-height: 810px; object-fit: cover; }
	#welcome, #news, #newsletter { padding: 40px 0; }
	.event-col { padding: 60px 200px 60px 100px; }
	.event-row:nth-of-type(odd) .event-col { padding: 60px 100px 60px 200px; }
	#news h4 { font-size: 22px; }
	#reviews { padding: 40px 0 80px; }
	.footer-info { padding: 40px 0 80px; }
	.footer-logo img { max-height: 220px; }
	.site-info .row { padding: 40px 20px; }
	.copyright { max-width: 40%; text-align: left; }
}
@media screen and (max-width: 1200px) {
	body { min-width: 320px; }
	.row {max-width: 97% !important; padding: 0; }
	.header-content { max-width: 85%; }
	.header-content-top { margin-bottom: 15px; }
	.header-content { padding-left: 20px; }
	#banner .row, .event-row { max-width: 100% !important; }
	#banner-image img, #banner-video video { min-height: 700px; }
	#welcome p { font-size: 16px; }
	.footer-info ul li, .footer-info p, .site-info p { font-size: 15px; }
	.copyright { max-width: 30%; text-align: left; }
}
@media screen and (max-width: 1024px){
	h1, .title { font-size: 42px; }
	#header { position: static; background-color: #431F77; padding-top: 10px; }
	#header .row { flex-direction: column; align-items: center; }
	.header-content { max-width: 100%; padding-left: 0; }
	.header-content-top { justify-content: center; }
	.header-phone a, .social-navigation a:before { font-size: 20px; }
	.header-logo img { max-height: 100px; }
	#banner-image img, #banner-video video { min-height: unset; }
	.caption-container { justify-content: center; top: 0; }
	.caption { text-align: center; }
	.caption .title span, .caption .last { text-indent: 0; }
	.caption .title { padding-left: 0; }
	.caption h3 { font-size: 20px; }
	.event-col { padding: 40px !important; }
	.event-row:nth-of-type(odd) .event-col { padding-left: 100px !important; }
	#reviews p { font-size: 16px; }
	#reviews h4 { font-size: 20px; }
	.footer-info .row { flex-wrap: wrap; }
	.footer-info .col { width: 50%; max-width: unset; padding: 0 20px; }
	.footer-logo img { max-height: 180px; }
}
@media screen and (max-width: 768px) {
	h1, .title { font-size: 36px; }
	#header { padding-top: 60px; background-color: #000; }
	.main-navigation { position: fixed; top: 0; left: 0; right: 0; z-index: 1050; width: auto; }
	.main-navigation a#pull {display: block; font-weight: 700; color: #fff; padding: 15px 50px; background: #431F77 url(../images/nav-icon.png)no-repeat center left 15px; }
	.main-navigation ul {display: none; text-align: left; background-color: #431F77; }
	.main-navigation ul li a { padding: 10px 15px; position: static; }
	.main-navigation ul li.active-menu a:before, .main-navigation ul li a:hover:before { display: none; }
	.main-navigation ul li { display: block; }
	.cta { display: block; }
	#banner-image img, #banner-video video { min-height: 380px; }
	.event-col { width: 100%; text-align: center; padding: 30px 0 !important; background-color: rgba(255,255,255,0.7); }
	.event-col:before { display: none; }
	.event-row:nth-of-type(odd) .event-col { padding-left: 0 !important; }
	#news .row { flex-direction: column; }
	#news .col { width: 100%; max-width: 450px; margin: 0 auto 20px; }
	#newsletter input[type="text"] { display: block; }
	.footer-info { padding-bottom: 20px; }
	.footer-logo { margin-bottom: 20px; }
	.footer-logo img { margin: 0 auto; padding: 0; }
	.site-info .row { border-top-color: rgba(255,255,255,0.5); flex-direction: column; padding: 15px 0; }
	.site-info p { text-align: center; }
	.copyright { max-width: unset; }
	.sport-section .row { flex-direction: column !important; }
	.sport-section .sport-row .col { width: 100%; }
	.sport-section .sport-text { padding: 20px 1.5%; }
}
@media screen and (max-width: 600px) {
	h1, .title { font-size: 32px; }
	.home h3 { font-size: 18px; }
	.header-content-top { flex-direction: column; align-items: center; }
	.header-socials { margin: 0 0 15px; }
	.footer-info .row { flex-direction: column; }
	.footer-info .col { width: 100%; padding: 0; text-align: center; }
	.footer-info h3 { font-size: 20px; }
	.site-info p { font-size: 14px; }
}