@import url('https://fonts.googleapis.com/css?family=Montserrat:100,200,300,400,500,600,700,800,900|Open+Sans:300,400,600,700,800');

*{
    text-shadow: none!important;
}

body{
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
}
body.graybg{
    background: #f5f5f5;
}

sup {
  vertical-align: super!important;
  font-size: 16px!important;
}

p{
    font-size: 14px;
    line-height: 2em;
    margin-bottom: 20px;
}

a{
    text-decoration: none;
    color: #027eff;
    text-shadow: none!important;
}
a:hover{
    text-shadow: none!important;
    text-decoration: none!important;
}

strong{ font-weight: 600; color: #555555 }

h1,h2,h3,h4,h5,h6{
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.5em;
    color: #292424;
    margin-bottom: 20px;
    text-shadow: none!important;
}

h1{ font-size: 40px; }
h2{ font-size: 37px; }
h3{ font-size: 34px; }
h4{ font-size: 31px; }
h5{ font-size: 28px; }
h6{ font-size: 25px; }


.spacer{ display: none; }

.ui-btn-icon-notext .ui-btn-inner .ui-icon {
    margin: 1px 0px 1px 2px!important;
    float: left!important;
}


.payment-wrapper{
    position: relative;
    width: 100%;
    padding-top: 50px;
}
.payment-wrapper .logo-container{
    margin-bottom: 30px;
}
.payment-wrapper .logo-container img{
    max-width: 100%;
    height: auto;
}
.payment-wrapper .notice-container{
    position: relative;
    width: 100%;
    display: none;
    margin-bottom: 30px;
}
.payment-wrapper .notice-container p{
    background: rgba(231, 76, 60, 0.1);
    border: 1px solid rgba(231, 76, 60, 0.3);
    color: rgba(231, 76, 60, 0.5);
    margin-bottom: 0px;
    line-height: 0px;
    padding: 30px;
    border-radius: 5px;
    font-weight: 700;
    text-align: center;
}

.payment-form{
    width: 100%;
    margin: 0 auto;
}

.payment-form .steps{
    position: relative;
    width: 100%;
    border-bottom: 1px solid #DDDDDD;
    margin-bottom: 50px;
}

.payment-form .steps li{
    font-family: 'Montserrat', sans-serif;
    width: 33.33%;
    float: left;
    position: relative;
    bottom: -2px;
    text-align: center;
    padding-bottom: 15px;
    font-weight: 600;
}

.payment-form .steps li.current{
    border-bottom: #027eff 3px solid;
}

.payment-form .payment-info{
    background: #FFFFFF;
    padding: 10px;
    padding-top: 45px;
    padding-bottom: 45px;
    margin-bottom: 50px;
    border-radius: 5px;

    -webkit-box-shadow: 0 0 15px 0 #DDDDDD;
    box-shadow: 0 0 15px 0 #DDDDDD;
}

.payment-form .payment-info h6{
    color: #000000;
    font-size: 17px;
    font-weight: 600;
    display: block;
    width: 100%;
    line-height: 1.0em;
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 3px solid #333333;
}

/*
.payment-form .payment-info p{
    font-size: 16px;
    color: #CCCCCC;
    margin-bottom: 30px;
}
*/

.nda-container  p{
    font-size: 16px;
    color: #CCCCCC;
    margin-bottom: 30px;
    overflow: hidden!important;
}

.payment-form .payment-info label{
    position: relative;
    width: 100%;
    display: block;
    color: #CCCCCC;
    margin-bottom: 5px;
    font-size: 14px;
    margin-bottom: 30px;
}

.payment-form .payment-info label .overlay{
    position: absolute;
    top: 30px;
    right: 20px;
    background: transparent;
    width: 30px;
    height: 30px;
}

.payment-form .payment-info label.alternative{
    text-align: center;
    margin-bottom: 30px;
}
.payment-form .payment-info label span{
    font-size: 14px;
    font-weight: 600;
    position: relative;
    display: inline-block;
    width: auto;
    color: #444444;
    margin-bottom: 15px;
    
    width: 100%!important;
}
.payment-form .payment-info label.alternative span{
    margin-top: 10px;
}

.birth-month-container{
    float: left;
    width: 80px;
}
.birth-day-container{
    float: left;
    width: 60px;
}
.birth-year-container{
    float: left;
    width: 65px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b{
    left: auto!important;
    right: 5px;
}

.payment-form .payment-info span.why{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    text-align: right;
    color: rgba(155, 89, 182,1.0);
}

.payment-form .payment-info label .check_user_status{ font-weight: 700; }
.payment-form .payment-info label .check_user_status.green{ color: #027eff; }
.payment-form .payment-info label .check_user_status.red{ color: #e74c3c; }

.payment-form .payment-info label .check_email_status{ font-weight: 700; }
.payment-form .payment-info label .check_email_status.green{ color: #027eff; }
.payment-form .payment-info label .check_email_status.red{ color: #e74c3c; }

.payment-form .payment-info label .check_email_status span{
    display: block;
    color:#e74c3c;
    margin-top:10px;
}


.payment-form .payment-info .textbox{
    width: 100%;
    border: 1px solid #EEEEEE!important;
    color: #777777;
    font-size: 13px;
    padding: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    outline: none;
    border-radius: 5px;
}
.payment-form .payment-info .textbox.required{
    border: 1px solid #FF0033!important;
}

.payment-form .payment-info .textbox::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #AAAAAA;
}

.payment-form .payment-info .textbox:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #AAAAAA;
}

.payment-form .payment-info .textbox::-ms-input-placeholder { /* Microsoft Edge */
    color: #AAAAAA;
}

.payment-form .payment-info .birth-container{
    width: 20%;
    width: 100%;
    margin-top: 10px;
}

.payment-form .payment-info .birth-year{
    display: inline-block;
    /*width: 36%;*/
    float: left;
    text-align: center;
    margin-left: 2%;
    padding: 15px;
    padding-left: 5px;
    padding-right: 0px;
    border: 1px solid #EEEEEE!important;
}
.payment-form .payment-info .birth-day{
    display: inline-block;
    /*width: 25%;*/
    float: left;
    text-align: center;
    margin-left: 2%;
    padding: 15px;
    padding-left: 5px;
    padding-right: 0px;
    border: 1px solid #EEEEEE!important;
    text-align: center;
}
.payment-form .payment-info .birth-month{
    display: inline-block;
    /*width: 30%;*/
    float: left;
    text-align: center;
    padding: 15px;
    padding-left: 5px;
    padding-right: 0px;
    border: 1px solid #DDDDDD!important;
}

.payment-form .payment-info .radio-item{
    display: inline-block;
    margin-right: 10px;
}
.payment-form .payment-info .radio-item input{
    float: left;
}
.payment-form .payment-info .radio-item .label{
    overflow: hidden;
    margin-top: 3px;
    color: #777777;
}
/*.payment-form .payment-info .radio-item .radio-icon{*/
/*    width: 20px;*/
/*    height: 20px;*/
/*}*/

@media only screen and (min-width: 300px) and (max-width: 800px) {
   .payment-form .payment-info .birth-container{
        width: 100%;
    }
}

/* Chrome, Safari, Edge, Opera */
.birthform::-webkit-outer-spin-button,
.birthform::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.birthform[type=number] {
  -moz-appearance: textfield;
}

.payment-form .payment-info .selectbox{
    background:#FCFCFC;
    outline: none;
    font-size: 12px;
    color: #888888;
    border: 1px solid #EEEEEE;
    border-radius: 3px;
    box-shadow: none;
    display: block;
    width: 100%;
    padding: 5px;
    padding-top: 15px;
    padding-bottom: 15px;
    border-radius: 5px;
    text-align: center!important;
}
.payment-form .payment-info .selectbox.required{
    border: 1px solid #FF0033;
}

.payment-form .payment-info .button{
    background-color: #027eff;
    color: #FFFFFF;
    width: 100%;
    border: 0px;
    display: inline-block;
    padding: 15px;
    padding-left: 25px;
    padding-right: 25px;
    border-radius: 3px;
    text-align:center;
    font-size: 18px;
    font-weight: 700;
}
.payment-form .payment-info .button.disabled{
    background-color:#AAAAAA;
}
.payment-form .payment-info .button.blue{
    background-color: #f1c40f;
    color: #FFFFFF;
}

.payment-form .payment-info .button.loading{
    background-color:#AAAAAA;
    background-image: url('../images/reg-loading.svg');
    background-repeat: no-repeat;
    background-position: center right 20px;
    background-size: 30px 30px;
}

.payment-form .payment-info .button-overlay{
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    
    z-index: 99999999999;
    display:none;
}
.payment-form .payment-info .button-overlay.show{
    display: block;
}

.payment-form .payment-info .back{
    float: left;
    margin-top: 35px;
}

.payment-form .payment-info .section{}
.payment-form .payment-info .section.hide{ display: none; }

.payment-form .payment-info .dob{
    float: left;
    width: 20%;
    border: 1px solid #EEEEEE;
    color: #777777;
    font-size: 13px;
    padding: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    outline: none;
    border-radius: 5px;
}

.payment-form .price-selection{
    margin-bottom: 30px;
}

.payment-form .price-selection .price-item{
    float: left;
    width: 23%;
    margin-left: 1%;
    margin-right: 1%;
}
.payment-form .price-selection .price-item.first{
    margin-left: 0px;
}
.payment-form .price-selection .price-item.last{
    margin-right: 0px;
}

@media only screen and (min-width: 100px) and (max-width: 1000px)  {
    .payment-form .price-selection .price-item{
    float: none;
    width: 100%;
    margin: 0px;
    }
}

.payment-form .price-selection .item{
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.payment-form .price-selection .item a{
    position: absolute;
    left: 0px;
    bottom: 20%;
    width: 100%;
    font-size: 13px;
}

.payment-form .price-selection .item h6{
    font-weight: 700;
    font-size: 20px;
    border-bottom: 0px;
    margin: 0px;
    padding: 0px;
}

.payment-form .price-selection .item.disabled{
    background:#EEEEEE!important;
    border: 1px solid #EEEEEE!important;
    color:#666666!important;
    cursor: not-allowed;
}
.payment-form .price-selection .item.disabled:hover h6{
    color:#027eff!important;
}
.payment-form .price-selection .item.disabled:hover h6 span{
    color:#AAAAAA!important;
}
.payment-form .price-selection .item:hover p{ color: #FFFFFF; }

.payment-form .price-selection .item.current{
    background:#027eff;
    border-color: #027eff;
    color:#FFFFFF!important;
}
.payment-form .price-selection .item:hover{
    background:#027eff;
    border-color: #027eff;
    color:#FFFFFF;
    cursor: pointer;
}
.payment-form .price-selection .item:hover h6{ color: #FFFFFF; }
.payment-form .price-selection .item:hover h6 span{ color: #FFFFFF; }
.payment-form .price-selection .item:hover p strong{ color: #FFFFFF; }

.payment-form .price-selection .item.current h6{ color: #FFFFFF; }
.payment-form .price-selection .item.current h6 span{ color: #FFFFFF; }
.payment-form .price-selection .item.current p{ color: #FFFFFF; }
.payment-form .price-selection .item.current p strong{ color: #FFFFFF; }


.payment-form .price-selection .item h6{
    margin-bottom: 5px;
    font-size: 30px;
    font-weight: 600;
}
.payment-form .price-selection .item h6 span{
    font-size: 14px;
    position: relative;
    bottom: 5px;
}

.payment-form .price-selection .item p{
    margin-bottom: 0px;
    font-size: 14px;
    color: #AAAAAA;
}

.payment-form .price-selection .item p strong{
    font-size: 16px;
    display: block;
    width: 100%;
}

.payment-form .price-selection .item input{
    display: none;
}

.checkbox.nda-agreement{
    float: left;
    position: relative;
    bottom: -5px;
    margin-right: 15px;
}

.login-cta{ text-align: center; }
.login-cta p{ font-size: 16px!important; }

/* Removes the clear button from date inputs */
.payment-form .payment-info input[type="date"]::-webkit-clear-button {
    display: none;
}

/* Removes the spin button */
.payment-form .payment-info input[type="date"]::-webkit-inner-spin-button { 
    display: none;
}

/* Always display the drop down caret */
.payment-form .payment-info input[type="date"]::-webkit-calendar-picker-indicator {
    color: #2c3e50;
}

/* A few custom styles for date inputs */
.payment-form .payment-info input[type="date"] {
    font-family: 'Open Sans', sans-serif;
    appearance: none;
    -webkit-appearance: none;
    color: #777777;
    font-size: 15px;
    border: 1px solid #EEEEEE;
    padding: 15px;
    padding-top: 16px;
    padding-bottom: 16px;
    display: inline-block !important;
    visibility: visible !important;
}

.payment-form .payment-info input[type="date"], focus {
    color: #95a5a6;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
}

.payment-form .StripeElement{
    border: 1px solid #EEEEEE;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 20px;
}


.payment-form .radio-group{
    position: relative;
    display: block;
    width: 100%;
}
.payment-form .radio-group label{
    display: inline-block!important;
    width: auto!important;
    color: #888888;
    margin-top: 17px;
    margin-right: 10px;
}

.payment-form .radio-group label strong{
    position:relative;
    top: 2px;
}

.payment-form .radio-group span{
    color: #666666;
    font-weight: 600;
    display: block;
    width: 100%;
    margin-bottom: 10px;
}


.payment-form .radio-group .checkbox{
    background-image: url('../images/radio-gray.svg');
    background-repeat: no-repeat;
    background-size: 18px 18px;
    width: 20px;
    height: 20px;
    float:left;
    margin-right: 5px;
}
.payment-form .radio-group .checkbox.active{
    background-image: url('../images/radio-green.svg');
}

.payment-form .radio-group .gender{
    display: none;
}


.payment-form .phase{ display: none; }
.payment-form .phase.phase-1{ display: block; }

/* The message box is shown when the user clicks on the password field */
#message {
  display:nones;
  background: #f1f1f1;
  color: #000;
  position: relative;
  padding: 20px;
  margin-bottom: 20px;
}
.password-requirements h6{
    color: #666666!important;
    font-size: 12px!important;
    font-weight: 700!important;
    display: block!important;
    width: 100%!important;
    line-height: 1.5em!important;
    margin-bottom: 0px!important;
    padding-bottom: 0px!important;
    border-bottom: none!important;
}
.password-requirements p {
  padding-left: 0px!important;
  margin-bottom: 10px!important;
  font-size: 15px!important;
}

/* Add a green text color and a checkmark when the requirements are right */
.password-requirements .valid {
  color: green!important;
}

.password-requirements .valid:before {
    margin-right: 10px;
    content: "✔";
}

/* Add a red text color and an "x" when the requirements are wrong */
.password-requirements .invalid {
  color: red!important;
}

.password-requirements .invalid:before {
    margin-right: 10px;
    content: "✔";
}


/* Card Loading */
.card-processing-payment{
    position: fixed;
    width: 100%;
    height: 100%;
    
    display: none;
    align-items: center;
    justify-content: center;
    background-color: rgba(255,255,255, 0.9);
    z-index: 999999999999999;
}
.card-processing-payment.show{
   display: flex; 
}

.card-processing-payment .inner{
    display: block;
    width: 100%;
    text-align: center;
}

.card-processing-payment .inner h1{
    margin-bottom: 0px;
}

.card-processing-payment .inner h6{
    margin-bottom: 0px;
    font-size: 16px;
}

.card-processing-payment .inner img{
    width: 100px;
    height: 100px;
}