*, *:after, *:before {padding:0;margin:0;box-sizing:border-box;}
body, textarea, select, input {font: 14px/16px 'Roboto','Oswald',Helvetica, Arial, Tahoma, Verdana, sans-serif;}

body {-webkit-font-smoothing: antialiased;-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;text-shadow: rgba(0,0,0,.01) 0 0 1px;color:#000;background: #fff;}
header, nav, section, article, aside, footer {display: block;}
a {color: #000;outline: none;text-decoration: underline;}
a:hover {text-decoration: none;}
ul {list-style-type:none;}
img {border: none;}
textarea, select, input {vertical-align: middle;border: none;height:36px;line-height:36px;padding: 0px 15px;}
h1 {margin:0 0 30px;font-size:36px;line-height:36px;}
h2 {margin:0 0 22px;font-size:22px;line-height:22px;}
h3 {margin:0 0 18px;font-size:18px;line-height:18px;}
h4 {margin:0 0 16px;font-size:16px;line-height:16px;}
.event div.date > div .day,
h1,h2,h3,h4,h5,h6,strong,b {font-family:'Oswald', Helvetica, Arial, Tahoma, Verdana, sans-serif;font-weight: 500;}
.header ul li a {font-family:'Oswald';}



/* Form */
form {position:relative;z-index:2;width: 600px;margin: 0 auto;padding: 20px 0;}
form .sbmt {height:0px;overflow:hidden;}
form .sbmt input {height:0;width:0;border:none;background:none;}
form label {display:block;position:relative;text-align: left;}
form label.text {padding:0;display:block;position:relative;margin-bottom:7px;float: left;width: 50%;box-sizing: border-box;overflow: hidden;clear: none;}
form label.text.autocomplete > div {display:inline-block;position:relative;}
form label.text.autocomplete > div:after {content:'';width:11px;height:7px;position:absolute;top:50%;right:12px;margin:-3px 0 0 0;background:url(../img/arrow-gray-down.png) no-repeat;}
form label.text.cb {overflow:hidden;position:relative;padding-top: 25px;}
form label.text.cb input {float:left;position:absolute;bottom:100%;right:100%;width:1px !important;height:1px !important;border:none;background:none;}
form label.text.cb input + small {float: left;width: 35px;height: 35px;background: white;box-sizing: border-box;border: solid 1px #b4b4b4;margin-right: 10px;position:relative;overflow:hidden;}
form label.text.cb input:checked + small:before {content:'';position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px;background:#fff url(../img/check.png);}
form label.text.cb > span {width: 230px;}

form label.text:nth-child(even) {padding-left:20px;}
form label.text.inv {display:none;}
form label.text > span {position: relative;display:block;vertical-align: bottom;padding:5px;text-shadow: none;text-align: left;font-weight: normal;line-height: 25px;float:left;width:150px;}
form label.text select,
form label.text input {width:280px;outline: none;background: #fff;box-sizing: border-box;font-size:16px;font-weight: 100;border-bottom: none;border:solid 1px #c1c1c1;}
form label.text input.disabled {color:#ccc;}
form label.text input.placeholder {color:#999;}
form label.text + .cb {margin-top:10px;}
form label.text.error.cb input + small,
form label.text.error input {background: rgba(255, 0, 0, 0.1);border-color: #4fd652;color: red;}
form .buttons {padding-top: 25px;clear: both;overflow: hidden;}
form .errors {}
form .errors > div {padding:15px;color:#fff;background:red;text-align:center;display:inline-block;margin: 25px 0 0;}

#app {position:relative;margin:0 auto;color:#000;z-index:1;max-width:1200px;min-width: 860px;}
#app:after {display:block;clear:both;}
hr {border:none;background:#ccc;height:1px;}
.btn {padding: 0 10px;height:50px;line-height:50px;text-decoration: none;display: inline-block;cursor: pointer;text-align: center;font-weight:normal;box-sizing:border-box;color: #fff;background:#000;font-size: 15px;font-family: Oswald;font-weight: 500;}
.btn.y {background:#d2ff45;color:#000;}
.btn.fb {background:#0033ff;color:#fff;}
.btn.off {cursor:default;background:#ddd;color:#000;}
.btn.empty {background:transparent;color:#000;}
.btn.prev,
.btn.next {white-space: nowrap;}
.btn.next:after {content:'';width:13px;height:20px;vertical-align:baseline;background:url(../img/next.png) no-repeat;margin-left:10px;display:inline-block;position: relative;top: 2px;}
.btn.prev:before {content:'';width:13px;height:20px;vertical-align:baseline;background:url(../img/prev.png) no-repeat;margin-right:10px;display:inline-block;position: relative;top: 2px;}
.btn.icon-run {padding-left:74px;text-align:left;background-position:17px 4px;background-repeat: no-repeat;}
.ntc .btn.icon-run {background-image:url(../img/btn-icon-ntc.png);background-position:17px 4px;background-repeat: no-repeat;}
.nrc .btn.icon-run {background-image:url(../img/icon-run.png);background-position:17px 4px;background-repeat: no-repeat;}
.btn.icon-run > span {position:relative;display:inline-block;padding-right:25px;}
.btn.icon-run > span:after {content:'';position:absolute;top:50%;right:0;width:16px;height:22px;margin-top:-11px;background:url(../img/icon-next.png) no-repeat;}

.header {height:70px;line-height:70px;}
.header ul {list-style-type:none;margin:0;padding:0;text-align:center;}
.header ul li {margin:0;padding:0;display:inline-block;}
.header ul li a {font-size:16px;text-transform:uppercase;color:#000;text-decoration:none;font-weight:bold;padding:0 15px;}

.main-art {background:#ccc;text-align:center;}
.main-sub {background:#d2ff45;text-align:center;margin-bottom:30px;padding: 25px;}
.main-sub > div {max-width: 760px;margin: 0 auto;padding-left:90px;position:relative;}
.main-sub > div:before {content:'';position:absolute;left:0;top:50%;width:67px;height:107px;margin-top:-50px;background:url(../img/ntc-logo.png)}
.main-sub h1 {margin: 0 0 10px;font-weight:normal;}
.main-sub p {margin: 0;font-size: 15px;line-height: 18px;}



.highlights {background:#b1e341 top center no-repeat;background-size:cover;}
.main-art img, .main-sub img,
.highlights img {display:block;width:100%;height:auto;position:relative;z-index:2;}
.locations,
.highlights {position:relative;}
.locations:before,
.highlights:before {content:'';position:absolute;top:0;left:50%;width:100vw;background:#000;height:100%;-webkit-transform: translate(-50%, 0px);-moz-transform: translate(-50%, 0px);-o-transform: translate(-50%, 0px);-ms-transform: translate(-50%, 0px);transform: translate(-50%, 0px);}

.apps, .runs, .events {max-width:950px;padding: 0 33px;margin:0 auto;}
.events h1 {text-align:center;line-height: 40px;font-weight:normal;}
.events h1 .showall {display:inline-block;cursor:pointer;}
.events h1 .showall:after {content:'';width:30px;height:30px;background: url(../img/next.png) center center no-repeat;display:inline-block;}
.event {text-align:center;padding-left: 10px;padding-right: 10px;}
.event > div {position:relative;overflow:hidden;}
.event > div > img {display:block;width:100%;height:auto;}
.event div.date {display:table;width:100%;height:200px;background:#000;color:#fff;margin-bottom:17px;}
.event div.date > div {display:table-cell;text-align:center;vertical-align:middle;}
.event div.date > div .day {font-size:48px;line-height:52px;display:block;}
.event div.date > div .dayname {font-size:48px;line-height:52px;display:block;font-size:18px;color:#d3ff45;text-transform:uppercase;}
.event div.title {margin-bottom:25px;}

.row.inline {text-align:center;}
.row.inline .col-xs-3 {float:none;display:inline-block;vertical-align:top;}

.event.special div.date > div .dayname,
.event.special div.date {background-color:#d3ff45;color:#000;}

.event.disabled div.date > div .dayname,
.event.disabled div.date {background-color:#ccc;color:#000;}

.event.special.disabled div.date > div .dayname,
.event.special.disabled div.date {background-color:#cdd9ba;}



.event-buttons {overflow:hidden;white-space:nowrap;text-align:center;margin-bottom:35px;}
.event-buttons .btn {width: 48%;overflow: hidden;white-space: nowrap;border-radius:3px;font-size:12px;}
.runs {padding: 33px;}
.runs .btn {display:block;}
.apps {margin-top:35px;}
.apps p {margin-bottom:10px;}
.apps .col-xs-6 > div {max-width:310px;}
.apps .app {float:left;}
.apps img + div {overflow:hidden;text-align:center;padding-top:115px;}
.locations {max-width:1200px;background:#000;color:#fff;text-align:center;}
.locations > div {max-width:950px;padding:20px 0;}
.locations .loc {line-height:24px;font-size:18px;}
.locations .loc h2 {margin:0 0 8px;font-size:30px;text-transform:uppercase;}
.locations .loc:before {content:'';display:block;margin:0 auto 10px;width:33px;height:42px;background:url(../img/icon-location.jpg);}
.follow {}
.follow > div {max-width: 860px;padding: 30px 0;margin: 0 auto;}
.follow h1 {font-size:24px;line-height:38px;color:#000;}
.follow h1:before {content:'';width:35px;height:35px;background:url(../img/icon-facebook.png);display:inline-block;vertical-align:middle;margin-right:18px;}

#eventsList {position:relative;}
#eventsListActions *,
#eventsList * {-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
#eventsList h2 {text-transform:uppercase;margin-bottom: 10px;}
#eventsList .nextmonth,
#eventsList .prevmonth,
#eventsList .next,
#eventsList .prev {position:absolute;top:100px;right:100%;width:36px;height:36px;margin-top:-18px;background:url(../img/prev.png) center center no-repeat;cursor:pointer;}
#eventsList .nextmonth,
#eventsList .prevmonth {top: -45px;}
#eventsList .nextmonth > span,
#eventsList .prevmonth > span {display: inline-block;font-size: 27px;line-height: 34px;position: absolute;top: 0;font-weight: bold;}
#eventsList .nextmonth > span {right:100%;}
#eventsList .prevmonth > span {left:100%;}
#eventsList .nextmonth,
#eventsList .next {left:100%;background:url(../img/next.png) center center no-repeat;}
#eventsList .nextmonth:hover,
#eventsList .prevmonth:hover,
#eventsList .next:hover,
#eventsList .prev:hover {opacity:0.6;}


#head {z-index:101;position:relative;}
#head .dlg-is-open {border-bottom: solid 1px #ccc;}
#dialog {position:absolute;top:0;left:0;width:100%;height:100%;display:none;z-index:102;color:#222;background:rgba(255,255,255,0.95);font-size:15px;}
#dialog p + p {margin-top:10px;}
#dialog > div {width:820px;margin:70px auto 0;text-align:center;color:#808080;position:relative;display:none;box-sizing:border-box;font-size:14px;line-height:19px;border-radius:0px;}/*background:#fff;box-shadow: 0 0 150px 150px #fff;*/
#dialog > div .head {width:600px;margin:0 auto;border-bottom:solid 1px #ccc;margin-bottom:30px;padding:20px 20px 40px;}
#dialog > div .head {}
#dialog > div h1,
#dialog > div h2 {color:#000;}
#dialog > div h2 {line-height: 24px;font-size:18px;}
#dialog > div p + h2 {margin-top:30px;}
#dialog > div .body > div {max-width:630px;margin:0 auto;}
#dialog > div .body img {display:block;width:100%;height:auto;}
#dialog .close {position:absolute;top:-50px;right:0;width:50px;height:50px;line-height:50px;text-align:center;color:#fff;font-size:20px;cursor:pointer;font-weight: bold; background:red;}
#dialog .btn {padding:0 30px;margin: 0 15px;font-size:22px;}
#dialog .huge {font-size: 70px;line-height: 80px;color: #000;}
.startit {height:170px;background:url(../img/startit.png) center 30px no-repeat;}

.trainers-list {text-align:left;}
.trainers-list .row + .row {margin-top:60px;}
.trainers-list .row:hover {background: #fff;box-shadow: 0 0 0px 20px #fff;cursor: pointer;}
.trainers-list .details {margin-bottom:20px;font-size:12px !important;}

#trainers h2 {text-transform:uppercase;margin-bottom:5px;font-size:22px;line-height:18px;}
#trainers h2 + strong {text-transform:uppercase;display:block;margin-bottom:25px;font-size:14px;line-height:18px;}

.event-details h1 {text-transform:uppercase;margin:0 0 25px;}
.event-details h1 {padding:0;margin:0;display:inline;}
.event-details h1 + div {font-size:14px;line-height:18px;}
.event-details .data {overflow:hidden;padding-bottom:30px;border-bottom:solid 1px #ccc;}
.event-details .data > div {float:left;width:25%;text-align:left;padding-left:50px;box-sizing:border-box;}
.event-details .data > div strong {display:block;color:#000;}
.event-details .data .icon.i-location {padding-left:38px;}
.event-details .data .icon {position:relative;}
.event-details .data .icon:before {content:'';position:absolute;top:0;left:0;width:50px;height:50px;background: top center no-repeat;}
.event-details .data .icon.i-location:before {background-image:url(../img/icon-location.png);}
.event-details .data .icon.i-date:before {background-image:url(../img/icon-date.png);}
.event-details .data .icon.i-time:before {background-image:url(../img/icon-time.png);}
.event-details .data .icon.i-run:before {background-image:url(../img/icon-run.png);}

.event-extras {text-align: left;max-width: 600px;margin: 0 auto;}
.event-extras h3 {margin:20px 0 25px;font-size: 22px;font-weight: normal;}
.event-extras .buttons {text-align:center;padding-top:35px;}

.close-dialog {position:fixed;top:0;right:0;width:50px;height:50px;cursor:pointer;background:#fff url(../img/dlg-close.png) center center no-repeat;}
.ui-widget-content {z-index: 103;max-height: 300px;overflow: auto;overflow-x: hidden;font: 14px/16px 'Oswald';}


#singletrainer h1 {text-transform:uppercase;margin-bottom: 10px;}
#singletrainer h1 + strong {font-size: 14px;text-transform: uppercase;}
#singletrainer .data.row {text-align:left;}
#singletrainer .trainer-nav {clear:both;margin-top: 50px;border-top: solid 1px #ccc;padding-top: 20px;}
#singletrainer .body .gallery img {display:inline-block;height:50px;width: auto;cursor:pointer;}
#singletrainer .body .gallery div {display:inline-block;margin:50px 5px 0;}
#trainer-avatar {padding-left:0;}

.coach .icon {font-size:0px;text-indent:-4000px;position:relative;overflow:hidden;display:inline-block;width:24px;height:24px;background:center center no-repeat;}
.coach .icon.home {background-image:url(../img/a-home.png);}
.coach .icon.fb {background-image:url(../img/a-fb.png);}
.coach .icon.insta {background-image:url(../img/a-insta.png);}

.tr-ava {display:inline-block;width:300px;height:300px;background:center center no-repeat;background-size:cover;}