
@font-face {
    font-family: 'Avenir';
    src: url('../fonts/Avenir-Heavy.eot'),
        url('../fonts/Avenir-Heavy.woff') format('woff'),
        url('../fonts/Avenir-Heavy.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'Avenir';
    src: url('../fonts/Avenir-Light.eot'),
        url('../fonts/Avenir-Light.woff') format('woff'),
        url('../fonts/Avenir-Light.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Avenir';
    src: url('../fonts/Avenir-Book.eot'),
        url('../fonts/Avenir-Book.woff') format('woff'),
        url('../fonts/Avenir-Book.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Avenir';
    src: url('../fonts/Avenir-Medium.eot');
    src: url('../fonts/Avenir-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Avenir-Medium.woff') format('woff'),
        url('../fonts/Avenir-Medium.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir';
    src: url('../fonts/Avenir-Roman.eot');
    src: url('../fonts/Avenir-Roman.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Avenir-Roman.woff') format('woff'),
        url('../fonts/Avenir-Roman.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}


body {
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    line-height: 1.34em;
    font-weight: 400;
    font-style: normal;
    color: #222;
    background: #f3f3f3;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.2em;
    margin-bottom: 15px;
    color: #4b5056;
    /*text-transform: uppercase;*/
    font-family: 'Avenir';
}
h1 {
    font-size: 2.7em;
    font-weight: 500;
    margin-bottom: 5px;
    letter-spacing: 1px;
}
h2 {
    font-size: 2em;
    font-weight: 500;
    letter-spacing: 1px;
}
h3 {
    font-size: 1.7em;
    font-weight: 700;
    letter-spacing: 0.6px;
}
h4 {
    font-size: 1.4em;
    font-weight: 500;
    letter-spacing: 1px;
}

a, a:visited {
    text-decoration: none;
    color: #009FFF;
    transition: color .2s linear, background-color .2s linear, border .2s linear;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
a:hover {
    color: inherit;
}

input[type="submit"], button {
    -webkit-appearance: none;
}

a.btn, .btn, input[type="submit"], .submit, button {
    display: inline-block;
    padding: 0 25px;
    background: #009FFF;
    color: #FFF;
    font-weight: 400;
    letter-spacing: 0.9px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    border: none;
    font-size: 1em;
    text-align: center;
    height: 50px;
    line-height: 50px;
    /*text-transform: uppercase;*/
    font-family: 'Avenir';
    transition: all .2s linear;
}
a.btn:hover, .btn:hover, input[type="submit"]:hover, .submit:hover, button:hover {
    /*background: #008ADD;*/
    background: #CACACA;
    /* color: #333; */
}

a.btn.grey, .btn.grey, input[type="submit"].grey {
    background: #EAEAEA;
    color: #333;
}
a.btn.grey:hover, .btn.grey:hover, input[type="submit"].grey:hover {
    background: #dfdfdf;
}


.alert {
    margin-bottom: 20px;
    position: relative;
    padding: 15px 15px 15px 55px;
    border: 1px solid rgba(0, 0, 0, 0);
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
}
.alert i {
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 2em;
}
.alert p {
  margin-top: 0;
  margin-bottom: 0;
}
.alert p+p {
  margin-top: 10px;
}
.alert-danger {
    background-color: #F2DEDE;
    border-color: #EED3D7;
    color: #B94A48;
}
.alert-success {
    background-color: #DFF0D8;
    border-color: #D6E9C6;
    color: #468847;
}

.wrapper {
    width: 1100px;
    max-width: calc(100% - 50px);
    margin: 0 auto;
/*    -moz-border-radius: 0 0 4px 4px;
    -webkit-border-radius: 0 0 4px 4px;
    border-radius: 0 0 4px 4px;*/
    overflow: hidden;
}

form {
    margin-bottom: 0;
}
form label {
    display: block;
    margin-bottom: 15px;
    font-size: 14px;
}
form label input,
form label select,
form label textarea {
    display: block;
    margin-top: 6px;
    width: 100%;
    height: 50px;
    padding: 0 13px;
    line-height: 50px;
    font-size: 1em;
    /* font-weight: 300; */
    border-radius: 2px;
    border: 1px solid #DFDFDF;
}
form label textarea {
    height: 100px;
    line-height: 1.34em;
    padding: 8px 10px;
}
form .buttons {
    margin-top: 25px;
}
.message {
    padding: 20px;
    background: #F7F7F7;
    margin-bottom: 20px;
    font-size: 16px;
    font-family: 'Open Sans';
    text-align: center;
    font-weight: 300;
}
.message.success {
    color: #ffffff;
}
.message.error {
    color: #ffffff;
}

strong {
    font-weight: 600;
}

p {
    font-size: 0.9em;
    line-height: 1.46;
}
p a {
    display: inline-block;
    position: relative;
}
p a:after {
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    border-bottom: 1px #333 dashed;
}
/****************************************************************/

header {
    padding: 0;
    text-align: center;
    /* background-image: url('/assets/microsite/img/headerbg.jpg'); */
    /* background-size: cover; */
    /* background-color: #455d6e; */
    /* background-image: -webkit-linear-gradient(#2CADFB 2%, #0293ec 100%); */
    background-image: -o-linear-gradient(#2CADFB 2%, #0293ec 100%);
    /* background-image: linear-gradient(#2CADFB 2%, #0293ec 100%); */
    position: relative;
    overflow: hidden;
    background-color: #3e3e3e;
}
header:after {
    width: 130%;
    height: 160px;
    background-color: #ededed;
    border-radius: 50%;
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    position: absolute;
    z-index: 10;
}
/*header:after {
    position: absolute;
    content: '';
    background-image: -webkit-linear-gradient(rgba(37,37,37,0.00) 2%, #121212 98%);
    background-image: -o-linear-gradient(rgba(37,37,37,0.00) 2%, #121212 98%);
    background-image: linear-gradient(rgba(37,37,37,0.00) 2%, #121212 98%);
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: .2;
}*/
header .blurbg {
    position: absolute;
    top: -30px;
    left: -30px;
    bottom: -30px;
    right: -30px;
    background-size: cover;
    background-position: center;
    filter: blur(43px);
    /* overflow:  hidden; */
    z-index: 5;
    opacity: 0.75;
}
header .inner {
    /* position: relative; */
    /* z-index: 5; */
}
header .header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 15;
    padding: 15px;
}
header .logo {
    display: none;
    position: absolute;
    /* top: 10px; */
    left: 50%;
    /* z-index: 10; */
    transform: translateX(-50%);
}
header .logo img {
    height: 45px;
}
header .currencies .currency {
    color: #fff;
    margin-right: 0;
    display: inline-block;
    width: 23px;
    height: 23px;
    display: inline-flex;
    align-items:  center;
    justify-content:  center;
}
header .currencies .currency.active {
    background-color: #fff;
    border-radius: 50%;
    color: #000;
}
header .loginopen {
    /* border: 2px solid #fff; */
    border-radius: 1px;
    display: inline-block;
    font-size: 0.85em;
    opacity: 0.95;
    padding: 10px 15px;
    text-transform: uppercase;
    /* position: absolute; */
    /* top: 10px; */
    /* right: 10px; */
    color: #fff;
    /* z-index: 10; */
}

header .website-link {
    /* border: 2px solid #fff; */
    /* border-radius: 1px; */
    /* display: block; */
    font-size: 0.85em;
    /* opacity: 0.95; */
    /* padding: 10px 15px; */
    text-transform: uppercase;
    /* position: absolute; */
    /* top: 10px; */
    /* right: 100px; */
    color: #fff;
    z-index: 10;
    margin-right: 30px;
}

header .website-link.loggedin{
    /* right: 145px; */
}

header .website-link:hover,
header .loginopen:hover,
header .dashboard:hover {
    /* border: 2px solid #fff; */
    /* background-color: #fff; */
    /* mix-blend-mode: screen; */
    /* color: #000; */
}
header .dashboard {
    border: 2px solid #fff;
    border-radius: 1px;
    display: block;
    font-size: 0.85em;
    opacity: 0.95;
    padding: 10px 15px;
    text-transform: uppercase;
    position: absolute;
    top: 10px;
    right: 10px;
    color: #fff;
    z-index: 10;
}

header section.grey {
    background: #F4F4F4;
    /* margin-top: 30px; */
    padding: 0;
    position: relative;
    z-index: 10;
}
header .details {
    /* margin-top: -65px; */
    text-align: left;
}
header .trainer {
    position: relative;
    z-index: 15;
    padding: 0;
    text-align: l;
}
header .contactwrapper {
    position: relative;
    overflow: visible;
    z-index: 15;
    /*display:  none;*/
    margin-top: -30px;
}
header .contactwrapper a.btn {
    border-radius: 30px;
    line-height: 1.2;
    height: auto;
    padding: 10px 30px;
    /* margin-bottom: 11px; */
    margin-top: 0px;
    z-index: 20;
}
/*header .contactwrapper a {
    position: absolute;
    right: 0;
    bottom: -63px;
    padding: 10px 14px;
    background: #fff;
    color: #222;
    -webkit-transition: all linear .2s;
    -moz-transition: all linear .2s;
    transition: all linear .2s;
}
header .contactwrapper:hover a {

}
header .contactwrapper a i {
    color: #CACACA;
    margin-left: 5px;
}
header .contactwrapper a:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 10px 0 10px;
    border-color: #ffffff transparent transparent transparent;
    top: 100%;
    right: 30px;
    position: absolute;
}
/*header nav {
    background: #F4F4F4;
    margin-top: 50px;
}
header nav ul {
    list-style: none;
    text-align: left;
}
header nav ul li {
    display: inline-block;
}
header nav ul li a,
header nav ul li a:visited {
    display: block;
    padding: 15px 25px;
    text-transform: uppercase;
    color: #333;
}
header nav ul li a:hover,
header nav ul li.active a {
    background: #009FFF;
    color: #FFF;
}
header nav ul li.login {
    float: right;
}
header img {
    border-radius: 50%;
}*/

.white-popup-block {
    background: #FFF;
    padding: 30px;
    text-align: left;
    max-width: 650px;
    margin: 40px auto;
    position: relative;
    border-radius: 3px;
}
#contact-trainer {
    padding: 40px;
}
#contact-trainer h2 {
    font-size: 1.8em;
    line-height: 1.2em;
    color: #212121;
}
#contact-trainer p {
    margin-bottom: 20px;
    color: #848484;
}
#contact-trainer .errors p {
    margin-bottom: 5px !important;
    color: #C70000;
}
#contact-trainer .errors p:last-child {
    margin-bottom: 15px !important;
}
#contact-trainer .form {
    display: block;
}
#contact-trainer .formsuccess {
    padding: 40px 0;
    text-align: center;
    display: none;
}
#contact-trainer .formsuccess p {
    font-size: 1.2em;
    color: #444;
}
#contact-trainer .formsuccess i {
    font-size: 3em;
    margin-bottom: 20px;
}

.trainer h1 {
    margin-bottom: 5px;
    /* background-color: #009FFF; */
    color: #fff;
    padding: 12px 0 0 0;
    margin-bottom: 20px;
}
.trainer h1 a,
.trainer h1 a:visited {
    color: #fff;
}
.trainer p.bio {
    /* text-align: left; */
}
.trainer .quals,
.trainer .specialities {
    /* color: #505050; */
    /* text-align: right; */
}
.trainer .specialities strong {
    color: #222;
}

/***************************************************/

.box {
    padding: 40px;
    background: #fff;
    margin-bottom: 40px;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.03);
    border-radius: 3px;
}

div#container {
    position: relative;
    right: 0;
    transition: all .2s ease-in-out;
    height: 100%;
    background-color: #f5f5f5;
    background: rgb(245,245,245);
    background: linear-gradient(180deg, rgb(230, 230, 230) 0%, #fdfdfd 100%);
}

section {
    padding: 0 0 0 0;
}
section > .inner {
    background: linear-gradient(180deg, rgba(237,237,237,1) 0%, rgb(243, 243, 243) 100%);
    padding-bottom: 55px;
}

section .package h3 {
    margin-bottom: 6px;
    font-size: 24px;
}
section .package .term {
    display: block;
    margin-bottom: 17px;
    /* color: #BABABA; */
    text-transform:  capitalize;
}
section .package .details {
    width: 100%;
}
section .package .pricerow {
    display: flex;
    align-items: center;
    width: 100%;
}
section .package .price {
    font-family: 'Open Sans';
    font-size: 2em;
    line-height: 1.3em;
}
section .package .price span.term {
    display: inline-block;
    font-size: 14px;
    margin-bottom: 0;
    /* color: #CAC9C9; */
    letter-spacing: 0.5px;
    font-weight: 400;
}
section .package p {
    color: #6E6E6E;
    margin-bottom: 20px;
    /*height: 100px;*/
    overflow: hidden;
}
section .package p.exchange {
    font-size: 12px;
    line-height: 1.5em;
    color: #A0A0A0;
}
section .package a.btn {
    float: right;
    color: #fff;
    font-size: 16px;
    padding: 10px 15px;
    line-height: 20px;
    height: auto;
}
section .package a.btn:hover {
    color: #333;
}
section .package a.btn.grey{
    color: #333;
}


section .packages .package {
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

/*section .packages {
    text-align: center;
}
section .packages > ul {
    list-style: none;
}
section .package {
    display: inline-block;
    text-align: center;
    border: 1px solid #DBDBDB;
    border-radius: 4px;
    margin-bottom: 15px;
}
section .packages .package {
    width: 270px;
}
section .package:hover {
    border: 1px solid #C7C7C7;
}
section .package h2 {
    padding: 20px;
    text-transform: uppercase;
    border-bottom: 1px solid #EAEAEA;
}
section .package .price {
    padding: 15px;
}
section .package .price h3 {
    font-size: 2em;
}
section .package .price h3 span {
    color: #D3D3D3;
    font-size: 0.6em;
    margin-right: 3px;
    display: inline-block;
}
section .package .price > span {
    color: #666;
    font-size: .8em;
    font-weight: 300;
}
section .package ul.features {
    list-style: none;
}
section .package ul.features li {
    padding: 8px;
    font-size: 0.85em;
}
section .package ul.features li:nth-child(odd) {
    background-color: #F7F7F7;
}
section .package a.btn {
    margin: 10px;
}*/



section .plans {
    text-align: center;
}
section .plans > ul {
    list-style: none;
}
section .plan {
    text-align: center;
    border: 1px solid #DBDBDB;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
}
section .plan:hover {
    border: 1px solid #C7C7C7;
}
section .plan h2 {
    padding: 20px;
    text-transform: uppercase;
    border-bottom: 1px solid #EAEAEA;
}
section .plan .price {
    padding: 15px;
}
section .plan .price h3 {
    font-size: 2em;
}
section .plan .price h3 span {
    color: #D3D3D3;
    font-size: 0.6em;
    margin-right: 3px;
    display: inline-block;
}
section .plan .price > span {
    color: #666;
    font-size: .8em;
    font-weight: 300;
}
section .plan .description {
    font-size: .85em;
    padding: 0 15px 5px 15px;
    text-align: left;
    line-height: 1.5em;
    color: #888;
    font-weight: 300;
    margin-bottom: 5px;
}
section .plans .plan .description {
    height: 203px;
    overflow: hidden;
    margin-bottom: 0;
}
section .plan a.btn {
    margin: 10px;
}


section .products {
    text-align: center;
}
section .products > ul {
    list-style: none;
}
section .product {
    text-align: center;
    border: 1px solid #DBDBDB;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
}
section .product:hover {
    border: 1px solid #C7C7C7;
}
section .product h2 {
    padding: 20px;
    text-transform: uppercase;
    border-bottom: 1px solid #EAEAEA;
}
section .product .price {
    padding: 15px;
}
section .product .price h3 {
    font-size: 2em;
}
section .product .price h3 span {
    color: #D3D3D3;
    font-size: 0.6em;
    margin-right: 3px;
    display: inline-block;
}
section .product .price > span {
    color: #666;
    font-size: .8em;
    font-weight: 300;
}
section .product .description {
    font-size: .85em;
    padding: 0 15px 5px 15px;
    text-align: left;
    line-height: 1.5em;
    color: #888;
    font-weight: 300;
    margin-bottom: 5px;
}

section .product img{
    padding: 10px;
}

section .products .product .description {
    height: 120px;
    overflow: hidden;
    margin-bottom: 0;
}
section .product a.btn {
    margin: 10px;
}

section .btn-out-of-stock{
    background-color: #b0b0b0;
}

section .package p.min-term {
    padding: 15px 10px 8px 10px;
    font-size: 0.9em;
    color: #BABABA;
    text-align: center;
    margin-bottom: 0;
}

.relative{
    position: relative;
}

.back-to{
    position: absolute;
    top: 5px;
    left: 5px;
    font-size: 14px;
}

/************************ login  *******************/

body div#login {
    position: fixed;
    z-index: 9999999;
    right: 0;
    left: 0;
    bottom:  0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    color: #fff;
    transition: width .2s ease-in-out;
    /* background-image: url('../front/img/bluepoly3.png'); */
    /* background-size: cover; */
    /* font-family: "Montserrat",sans-serif; */
    opacity: 0;
    pointer-events: none;
    display: flex;
    align-items:  center;
    justify-content:  center;
    transition: opacity .2s ease-in-out;
}
body div#login .overlay {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 4;
}
body div#login .inner {
    width: 500px;
    max-width:  calc(100% - 40px);
    position: relative;
    padding: 40px;
    background-color: white;
    border-radius: 4px;
    z-index: 5;
}
body div#login .inner a.close {
    position: absolute;
    display: block;
    top: 24px;
    right: 20px;
    color: #000;
    opacity: .6;
    font-size: 20px;
}
body div#login .inner a.close:hover {
    opacity: .9;
}
body div#login .inner h3 {
    color: #000;
    font-size: 1.5em;
    margin-bottom: 21px;
    line-height: 1.15em;
    font-weight: 600;
}
body div#login .inner input {
    margin-bottom: 20px;
}

body.login {
    overflow: hidden;
}
body.login div#login {
    /* width: 300px; */
    opacity: 1;
    pointer-events: all;
}
body.login header.scroll {
    padding-right: 322px;
    /*transition: padding .2s linear;*/
}

body div#login .btn,
body div#login a.btn,
body div#login button,
body div#login input[type="submit"] {
    max-width: 100%;
    width: 100%;
    padding: 0 25px;
    height: 50px;
    line-height: 50px;
    background: #009FFF;
    color: #FFF;
    text-transform: uppercase;
    border: none;
    border-radius: 3px;
    font-size: 15px;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    transition: background-color .2s linear;
    letter-spacing: 0.9px;
}
body div#login .btn:hover,
body div#login a.btn:hover,
body div#login button:hover,
body div#login input[type="submit"]:hover {
    background-color: #43C3D3;
}

body div#login input[type="email"], body div#login input[type="password"] {
    /* border: medium none; */
    border-radius: 3px;
    display: block;
    font-size: 14px;
    height: 50px;
    line-height: 50px;
    padding: 0 15px;
    width: 100%;
}

header .inner a.user-pic {
    position: relative;
    z-index: 12;
    width: 275px;
    height: 275px;
    background-size: cover;
    background-position: center;
    margin: -40px auto 0 auto;
    border-radius: 50%;
    overflow: hidden;
    border: 5px solid #fff;
    display: block;
}
/*.microsite-logo {
    max-width: 300px;
    border-radius: 50%;
    object-fit: cover;
    min-height: 300px;
}*/

/***************************************************/

footer {
    display: none;
    background-color: #191919;
    background-image: -webkit-linear-gradient(#252525 2%, #121212 98%);
    background-image: -o-linear-gradient(#252525 2%, #121212 98%);
    background-image: linear-gradient(#252525 2%, #121212 98%);
    padding: 30px;
    text-align: center;
}

footer .copyright {
    /*text-align: right;*/
    color: #7F7F7F;
    /*text-transform: uppercase;*/
    font-family: 'Avenir';
    letter-spacing: 1px;
    padding-top: 16px;
    font-weight: 500;
    font-size: 1em;
}
footer .logo {

}
footer .logo img {
    height: 30px;
    opacity: .5;
}

@-moz-keyframes colour-cycle /* Firefox */
{
    0% {background: #009FFF;}
    33% {background:#5B9FDA;}
    66% {background:#43C3D3;}
    100% {background:#009FFF;}
}

@-webkit-keyframes colour-cycle /* Safari and Chrome */
{
    0% {background:#009FFF;}
    33% {background:#5B9FDA;}
    66% {background:#43C3D3;}
    100% {background:#009FFF;}
}

.colour-cycle:hover {
    animation:colour-cycle 3.5s;
    -moz-animation:colour-cycle 3.5s infinite; /* Firefox */
    -webkit-animation:colour-cycle 3.5s infinite; /* Safari and Chrome */
}

.noresults{
    text-align: center;
    margin: 50px 0 70px 0;
    font-size: 1.7em;
    color: #C5C5C5 !important;
    border: none !important;
    background: none !important;
}

footer ul li {
  list-style: none;
  display: block;
  padding: 0 0 13px 0;
  font-family: Montserrat, sans-serif;

}

.forgot-password{
    margin-bottom: 0;
    display: block;
    font-size: 15px;
    color: #6f6f6f !important;
    text-align: right;
}

p.login-error {
  color: red;
  font-size: 0.9em;
  margin-bottom: 15px;
}

p.notice{
    margin-bottom: 30px;
    color: #999d9c;
    font-weight: 200;
}

p.notice strong {
    color: #999;
    display: block;
}

.currencies {
    /* position: absolute; */
    /* margin-top: 20px; */
    /* border: 2px solid white; */
    /* right: 10px; */
    /* padding: 8px; */
    /* z-index: 9999; */
    display:  inline-block;
}

.gbp-warn {
    display: none;
}


@media only screen and (max-width: 600px) {

    header .website-link {
        margin-right: 0;
        margin-left: 12px;
    }
    header .inner a.user-pic {
        margin-top: 0px;
        width: 230px;
        height: 230px;
    }
    h1 {
        font-size: 2.3em;
    }
    .box {
        padding: 30px;
    }
    section .package .price {
        line-height: 0.7em;
    }

    body#package header .trainer .details {
        display: none;
    }
    body#package header .trainer h1 {
        margin-bottom: 100px;
    }
    body#package header+section {
        margin-top: -80px;
        position: relative;
        z-index: 15;
    }

}

