html {
    -webkit-text-size-adjust: 100%;
    overflow: hidden;
}
body {
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    color: #575757;
    width: 100%;
    height: 100%;
}
a {
    display: inline-block;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

/*****video******/
.video-responsive {
    padding-bottom: 0;
}
.canvas, .video {
    width: 100%;
    background: #000;
    z-index: -1;    
}
/*****video******/

.btn.btn-primary {
    padding: 0;
    width: 100%;
    height: 45px;
    line-height: 35px;
    border: 0;
    border-radius: 5px;
    font-size: 20px;
    text-align: center;
    color: #ffffff;
    background: #005186;
    background: -moz-linear-gradient(top, #005186 0%, #005186 100%);
    background: -webkit-linear-gradient(top, #005186 0%,#005186 100%);
    background: -o-linear-gradient(top, #005186 0%,#005186 100%);
    background: -ms-linear-gradient(top, #005186 0%,#005186 100%);
    background: linear-gradient(to bottom, #005186 0%,#005186 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005186', endColorstr='#005186',GradientType=0 );
}
.btn.btn-primary:hover {
    background: #005186;
    background: -moz-linear-gradient(top, #005186 0%, #005186 100%);
    background: -webkit-linear-gradient(top, #005186 0%,#005186 100%);
    background: -o-linear-gradient(top, #005186 0%,#005186 100%);
    background: -ms-linear-gradient(top, #005186 0%,#005186 100%);
    background: linear-gradient(to bottom, #005186 0%,#005186 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005186', endColorstr='#005186',GradientType=0 );
}
.btn.btn-prev {    
    width: auto;
    color: #005186;
    position: absolute;
    top: 96%;
    left: 5px;
    transform: translateY(-50%);
    border: none;
    text-decoration: underline;
    
}
.progress-items-wrapper {
    margin: 10px 0;
}
.progress-items {
    margin: 0 auto;
}
.progress-items li {
    margin: 5px 0;
    padding: 3px 0;
    width: 100%;
    box-sizing: border-box;
    border: 2px solid #ffffff;
    background-color: #000000;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    opacity: 0.3;
    color: #005186;
}
.progress-items li.active {
    opacity: 1;
}
.grid-pictures,
.progress-items-wrapper {
    margin: 0 7vw;
}

/*registration*/
.registration-wrapper{
    display: none;
    z-index: 50;
}
.form-btn-close {
    display: none;
}
.lock-overlay .registration-wrapper {
    left: 0;
}
.lock-overlay .registration{
    position: static;
    transform: none;
    margin: 0 0 10px 0;
}
.registration {
    width: 98%;
}
.registration-inner {
    margin: 30px auto 10px auto;
    width: 96%;
    max-width: 400px;
    padding: 15px;    
    box-sizing: border-box;
    border-radius: 20px;
    box-shadow: 0px 0px 14px rgba(255,255,255,.75);
    background-color: rgba(255,255,255,.75);
    color: #005186;
}
.registration header {
    margin: 2px;
    border-bottom: 0;
}
.registration header img {
    margin-bottom: 0;
    width: 85%;
}
.registration .block {
    padding: 0;
    background-color: white;
    border-radius: 14px;
}
.registration .block-animation{
    border-radius: 0;
}
.registration .block.block-field-group p {
    font-size: 1.3rem;
    line-height: 21px;
    height: auto;
    padding: 12px;
    -webkit-border-radius: 12px 12px 0 0;
    border-radius: 12px 12px 0 0;
    background-color: #005186;
    color: #ffffff;
    text-align: center;
}
.registration .block.block-field-group .form-group {
/*    position: relative;*/
    margin: 0;
}
.registration .block.block-field-group .form-group .btn-group{
    margin: 10px 12px 13px 12px;
    height: 57px;
}
.registration .block.block-field-group .form-group label {
    margin: 10px 15px;
    text-align: left;
    font-size: 1.1rem;
    color: #005186;
}
.registration .block.block-field-group .form-group label span {
    font-size: 0.6em;
    display: block;
    margin-bottom: 5px;
}
.registration .block.block-field-group .form-group .form-group-inner {
    margin: 0 10px;
}
.registration .block.block-field-group .form-group input,
.registration .block.block-field-group .form-group select {
    width: 100%;
    border: 0;
    border-radius: 5px;
    background-color: #ffffff;
    font-size: 16px;
    border: 1px solid #ccc;
    height: 40px;
}
.registration .block.block-field-group .form-group .required {
    display: block;
    padding: 4px 8px;
    background-color: #ff0000;
    text-align: center;
    color: #ffffff;
}
.registration .block.block-field-group .block.legal-warning-text p {
    font-size: 0.8rem;
    text-align: center;
    color: black;
    background: none;
}
.registration .block.legal-warning-text p a {
    color: #005186;
}
.registration .loading-bar span {
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    color: #ffffff;
    background: #005186;
    background: -moz-linear-gradient(top, #005186 0%, #005186 100%);
    background: -webkit-linear-gradient(top, #005186 0%,#F45E0A 100%);
    background: -o-linear-gradient(top, #005186 0%,#005186 100%);
    background: -ms-linear-gradient(top, #005186 0%,#005186 100%);
    background: linear-gradient(to bottom, #005186 0%,#005186 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005186', endColorstr='#005186',GradientType=0 );
}
.registration header h2{
    font-size: 14px;
    font-weight: normal;
    margin: 0 0 8px 0;
    color: #005186;
}
.block-field-group .form-group .form-control.error{
    border-color: #990000 !important;
}
.legal__container{
    position: fixed;
    right: 0;
    color: white;
    left: 0;
    bottom: 0;
    text-align: center;
    background-color: black;
    z-index:60;
}
.legal__container > div {
    display: inline-block;
    padding: 0 10px 0 5px;
    border-right: 1px solid white;
    line-height: 1;
    text-shadow: 1px 1px 2px black, 0 0 1em blue, 0 0 0.2em blue;
    color: white;
    
}
.legal__container > div:last-child {
    border: 0;
}
.modal-overlay{
    display: none;
}
.modal-overlay.highest{
    display: block;
}
/* end registration*/

.theme01{
    background-color: black;
}
.theme01 .registration header h2, .theme01 .injected-back-btn, 
.theme01 .registration .form-group label, .theme01 a{
    color: #005186;
}
.theme01 .registration .block.block-field-group p{
    background-color: #005186;
}
.theme01 .btn.btn-primary, .theme01 .loading-bar span {
    background: #005186;
    background: -moz-linear-gradient(top, #005186 0%, #005186 100%);
    background: -webkit-linear-gradient(top, #005186 0%,#005186 100%);
    background: -o-linear-gradient(top, #005186 0%,#005186 100%);
    background: -ms-linear-gradient(top, #005186 0%,#005186 100%);
    background: linear-gradient(to bottom, #005186 0%,#005186 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005186', endColorstr='#005186',GradientType=0 );
}
.theme01 .legal__container > div, .theme01 .btn.btn-primary:hover {
    border-color: #005186;
}

.theme02 .registration header h2, .theme02 .injected-back-btn, 
.theme02 .registration .form-group label, .theme02 a,.theme02 .btn.btn-prev{
    color: white;
}
.theme02 .registration-inner{
    background-color: rgba(99,99,99,.75);
}
.theme02 .registration .block.block-field-group p, .theme02 .btn.btn-primary, .theme02 .loading-bar span {
    background: #ca0000;
    background: -moz-linear-gradient(top, #ca0000 0%, #ca0000 100%);
    background: -webkit-linear-gradient(top, #ca0000 0%,#ca0000 100%);
    background: -o-linear-gradient(top, #ca0000 0%,#ca0000 100%);
    background: -ms-linear-gradient(top, #ca0000 0%,#ca0000 100%);
    background: linear-gradient(to bottom, #ca0000 0%,#ca0000 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ca0000', endColorstr='#ca0000',GradientType=0 );
}
.theme02 .btn.btn-primary:hover {
    border-color: #ca0000;
}

.theme03 .registration header h2, .theme03 .injected-back-btn, 
.theme03 .registration .form-group label, .theme03 a,.theme03 .btn.btn-prev{
    color: white;
}
.theme03 .registration-inner{
    background-color: rgba(99,99,99,.75);
}
.theme03 .registration .block.block-field-group p, .theme03 .btn.btn-primary, .theme03 .loading-bar span {
    background: #ca0000;
    background: -moz-linear-gradient(top, #ca0000 0%, #ca0000 100%);
    background: -webkit-linear-gradient(top, #ca0000 0%,#ca0000 100%);
    background: -o-linear-gradient(top, #ca0000 0%,#ca0000 100%);
    background: -ms-linear-gradient(top, #ca0000 0%,#ca0000 100%);
    background: linear-gradient(to bottom, #ca0000 0%,#ca0000 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ca0000', endColorstr='#ca0000',GradientType=0 );
}
.theme03 .btn.btn-primary:hover {
    border-color: #ca0000;
}

.theme04{
    background-color: black;
}
.theme04 .registration header h2, .theme04 .injected-back-btn, 
.theme04 .registration .form-group label, .theme04 a,.theme04 .btn.btn-prev{
    color: #0097bb;
}
.theme04 .registration-inner{
    background-color: rgba(255,255,255,.75);
}
.theme04 .registration .block.block-field-group p, .theme04 .btn.btn-primary, .theme04 .loading-bar span {
    background: #ff87b7;
    background: -moz-linear-gradient(top, #ff87b7 0%, #ff87b7 100%);
    background: -webkit-linear-gradient(top, #ff87b7 0%,#ff87b7 100%);
    background: -o-linear-gradient(top, #ff87b7 0%,#ff87b7 100%);
    background: -ms-linear-gradient(top, #ff87b7 0%,#ff87b7 100%);
    background: linear-gradient(to bottom, #ff87b7 0%,#ff87b7 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff87b7', endColorstr='#ff87b7',GradientType=0 );
}
.theme04 .btn.btn-primary:hover {
    border-color: #ff87b7;
}

.theme05{
    background-color: black;
}
.theme05 .registration header h2, .theme05 .injected-back-btn, 
.theme05 .registration .form-group label, .theme05 a,.theme05 .btn.btn-prev{
    color: #dd204f;
}
.theme05 .registration-inner{
    background-color: rgba(255,255,255,.75);
}
.theme05 .registration .block.block-field-group p, .theme05 .btn.btn-primary, .theme05 .loading-bar span {
    background: #dd204f;
    background: -moz-linear-gradient(top, #dd204f 0%, #dd204f 100%);
    background: -webkit-linear-gradient(top, #dd204f 0%,#dd204f 100%);
    background: -o-linear-gradient(top, #dd204f 0%,#dd204f 100%);
    background: -ms-linear-gradient(top, #dd204f 0%,#dd204f 100%);
    background: linear-gradient(to bottom, #dd204f 0%,#dd204f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dd204f', endColorstr='#dd204f',GradientType=0 );
}
.theme05 .btn.btn-primary:hover {
    border-color: #dd204f;
}

/* for iphone 5 */
@media (max-width: 350px) {
    .registration-inner {
        padding: 15px 10px;
    }
    .registration .block.block-field-group p {
        font-size: 1.4rem;
    }
}
@media (max-width: 767px) and (orientation: landscape) {
    .video-responsive{
        position:absolute;
        height:100%;
        width:100%;
    }
    .canvas, .video{
         min-width: 100%;
        min-height: 100%;
    }
    .registration-wrapper{
        padding:20px 0;
    }
    .registration header h2 {
        font-size: 16px;
    }

    /* LAST STEP */
    .registration .block.block-field-group.group-last-step .form-group {
        display: flex;
        margin: 10px 0;
        align-items: flex-start;
    }
    .registration .block.block-field-group.group-last-step .form-group label {
        width: 25%;
        margin: 10px;
    }
    .registration .block.block-field-group.group-last-step .form-group.form-group-passwordrepeat label {
        margin: 5px 10px;
    }
    .registration .block.block-field-group.group-last-step .form-group .form-group-inner {
        flex: 1;
    }
    .registration .block.block-field-group.group-last-step .form-group .btn-group {
        width: 100%;
    }
}
@media (max-width: 767px) {
    /* LAST STEP */
    .registration header img {
        width: auto;
        height: 35px;
    }
    .registration-inner {
        margin: 3px auto 10px auto;
    }
    .registration header {
        padding: 0 5px;
    }
    .registration .block.block-field-group.group-last-step .form-group .btn-group {
        margin: 0px 12px 13px 12px;
    }
    .registration .block.block-field-group.group-last-step .form-group {
        display: flex;
        align-items: flex-start;
        margin: 10px 0;
    }
    .registration .block.block-field-group.group-last-step .form-group.block-plaintext {
        margin: 0;
    }
    .registration .block.block-field-group.group-last-step .form-group.block-plaintext p {
        line-height: 1.3;
        padding: 0 5px;
        font-size: 0.7rem;
    }
    .registration .block.block-field-group .form-group input, 
    .registration .block.block-field-group .form-group select {
        height: 35px;
    }
    .registration .block.block-field-group.group-last-step .form-group label {
        width: 27%;
        margin: 7px;
    }
    .registration .block.block-field-group.group-last-step .form-group.form-group-passwordrepeat label {
        margin: 3px 7px;
    }
    .registration .block.block-field-group.group-last-step .form-group .form-group-inner {
        flex: 1;
    }
    .registration .block.block-field-group.group-last-step .form-group .btn-group {
        width: 100%;
    }
}
@media (min-width: 600px) {
    .registration .block.block-field-group .form-group.form-group-buttonGroup {
        position: static;
    }
}
/* table */
@media (min-width: 768px) {
    .progress-items-wrapper {
        margin: 30px 0;
    }
    .progress-items {
        display: table;
        border-spacing: 15px;
    }
    .progress-items li {
        display: table-cell;
        margin: 0;
        padding: 0;
        width: 170px;
        height: 170px;
        border-radius: 50%;
        font-size: 18px;
        vertical-align: middle;
    }
    .canvas, .video{
        width: 103%;
    }
    .registration {
        position: static;
        transform: none;
        padding: 0 0 30px 0;
        width: 100%;
    }
    .registration header h2 {
        font-size: 22px;
    }
    .registration .block.block-field-group-inner p{
        padding: 5px;
    }
    
    .registration .block.block-field-group .form-group{
        margin: 5px 0 6px 0;
    }
    
    .registration .block.block-field-group .form-group label{
        margin: 2px 11px;
        font-size: 14px;
    }
    .registration .block.block-field-group .block.legal-warning-text p{
        padding: 1px;
        font-size: 12px;
    }
    .registration .block.block-field-group .form-group .btn-group{
        margin: 0px 12px 9px 12px;
        height: 57px;
    }
    .registration-inner{
        max-width: 550px;
    }
    .btn.btn-prev{
        top: 97%;
    }
}
/* ipad portrait */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .registration .block.block-field-group .form-group label{
        font-size: 20px;
    }
    .registration header h2{
        font-size: 24px;
    }
    .btn.btn-prev{
        top: 97%;
    }
    .registration-inner{
        margin: 30px auto 10px auto;
        padding: 15px;
        max-width: 400px;
    }
}
@media (min-width: 992px) {
    .canvas, .video {
        z-index:50;        
        position: fixed;
        right: 0;
        bottom: 0;
        min-width: 100%; 
        min-height: 100%;
    }    
}
@media (min-width: 1200px) {
    .registration-inner {
        max-width: 544px;
    }
    .canvas, .video {
        -webkit-transform: translateX(-50%) translateY(-50%);
        -moz-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
        -o-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%);
        position: absolute;
        top: 50%;
        left: 50%;
        width: 140%;
        height: auto;
        z-index: -100;
    }
    .btn.btn-prev{
        top: 97%;
        left: 12px;
    }
    .registration .block.block-field-group .form-group label{
        font-size: 18px;
    }
}
@media (min-width: 1366px) {
    .canvas, .video {
        width: 100%;        
        height: auto;
    }
    .registration header h2 {
        font-size: 16px;
    }
    
}