/*************************/
/* GLOBAL STRUCTURE */
/*************************/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 100;
  font-size: 12px;
  line-height: 30px;
  color: #000;
	background: #ddd;
}

.signup {
  display: flex;
  height: 100%; /* 1, 3 */;
  flex-direction: column;
}

.logo {
	margin: 0px auto 10px auto;
	display: block;
}
.logo img {
	display: block;
	max-width: 650px;
	margin: 10px auto -10px auto;
}

h2 {
	text-align: center;
	padding: 0 0 5px 0;
	line-height: 16px;
	font-size: 20px;
}

.container_outer {
	display: flex;
	flex: 1 0 auto; /* 2 */
	margin: 0 auto;
	width: 1000px;
}

.left {
	flex: 0 0 210px;
	text-align: right;
	padding: 0 20px;
	order: -1;
}

.left img, .right img {
	max-width: 150px;
}

.right {
	flex: 0 0 210px;
	text-align: left;
	padding: 0 20px;
	font-family: "PT Sans Narrow", sans-serif;
	font-size: 14px;
	margin-top: 10px;
	text-transform: uppercase;
}

.right b {
	font-weight: 700;
	font-size: 18px;
}

.right a {
	color: #AB2E08;
	text-decoration: none;
	background: #e5e5e5;
	max-width: 160px;
	display: block;
	padding: 10px 7px;
	border-radius: 6px;
	margin: 10px 0;
	border: 1px solid #bbb;
}

.right a img {
	max-width: 100%;
	opacity: 0.7;
}

.right a:hover {
	background: #fff;
}

.right a:hover img {
	opacity: 0.9;
}

.container {
	flex: 1;
	width: 600px;
	margin: 0 auto;
	position: relative;
	display: inline-block;
}

p.gdpr {
	width: 75%;
	text-align: center;
	margin: 40px auto 0 auto;
	line-height: 17px;
	color: #333;
}

@media only screen and (max-width:479px){
p.gdpr {
	width: 100%;
}
}

p.privacy {
	text-align: center;
	margin-top: 50px;
	color: #333;
}

footer {
	width: 100%;
	background: #666;
	color: #fff;
	text-align: center;
	line-height: 16px;
	border-top: 4px solid #fff;
  flex: none; /* 2 */
}

footer p {
	margin: 5px auto;
	max-width: 800px;
}

footer a {
	color: #ff0;
	text-decoration: none;
}

hr {
	border:0;
	height:0;
	margin: 10px 0;
	border-top: 2px solid rgba(0, 0, 0, 0.1);
	border-bottom: 2px solid rgba(255, 255, 255, 0.3);
}

h2.larger {
	font-size: 25px;
	color: #4C4C4C;
	line-height: 26px;
}	

.help {
	margin-top: 30px;
	background: #fff;
	border-radius: 12px;
	padding: 10px;
	border: 1px dashed #C70404;
}

.help img {
	max-width: 70px;
	float: left;
	margin: 0 10px 10px 0;
}

.help h2 {
	text-align: left;
	line-height: 25px;
}

.help p {
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: #333;
}

.help a {
	color: #C70404;
	text-decoration: none;
}

/*************/
/* JOIN PAGE */
/*************/

.join_error {
	background: #e06d6d;
	color: #fff;
	margin: 10px auto 0 auto;
	padding: 5px 10px;
	border-radius: 6px;
	font-size: 14px;
	line-height: 20px;
}

.join error a {
	color: #ff0;
	font-weight: 500;
}

p.username_req {
	font-size: 15px;
	font-weight: 500;
	width: 95%;
	line-height: 20px;
	text-align: center;
	margin: 0 auto;
}

p.red {
	color: 333;
}


input,
button[type="submit"] {
  font: 400 16px/20px "Roboto", Helvetica, Arial, sans-serif;
}

.form_container {
  background: #F9F9F9;
  padding: 15px;
  margin: 15px 0;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
}

#prejoin h3 {
  display: block;
  font-size: 30px;
  font-weight: 300;
  margin-bottom: 10px;
}

#prejoin h4 {
  margin: 5px 0 15px;
  display: block;
  font-size: 13px;
  font-weight: 400;
}

fieldset {
  border: medium none !important;
  margin: 0 0 10px;
  min-width: 100%;
  padding: 0;
  width: 100%;
}

.halfsize-left {
 	margin: 0 5px 10px 0;
 	min-width: calc(50% - 5px);
 	padding: 0;
 	width: calc(50% - 10px);
	float: left;
}

.halfsize-right {
 	margin: 0 0 0px 5px;
 	min-width: calc(50% - 5px);
 	padding: 0;
 	width: calc(50% - 10px);
	float: left;
}

#prejoin input {
  width: 100%;
  border: 1px solid #ccc;
  background: #FFF;
  margin: 0 0 5px;
  padding: 10px;
}

#prejoin input:hover {
  -webkit-transition: border-color 0.3s ease-in-out;
  -moz-transition: border-color 0.3s ease-in-out;
  transition: border-color 0.3s ease-in-out;
  border: 1px solid #aaa;
}


/* PRICE OPTIONS */

.membership-options {
     list-style-type:none;
}

.membership-options li {
    float:left;
    margin:0 5px 0 0;
    width:100%;
    display: block;
}

.membership-options label {
	width: 100%;
	display: inline-block;
    padding: 10px;
    border:2px solid #CCC;
	border-radius: 6px;
    cursor:pointer;
	background: #fff;
    z-index:90;
}

.membership-options label:hover {
    border:2px solid #008000; 
  -webkit-transition: border 0.2s ease-in-out;
  -moz-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}

.membership-options input[type="radio"] {
    opacity:0.01;
    z-index:100;
}

input[type="radio"]:checked+label { 
	background: #63bf66;
    border:2px solid #008000;
	color: #fff;
}


.months {
	font-weight: 500;
	font-size: 18px;
}
.price {
	font-weight: bold;
	font-size: 22px;
	float: right;
}
.recurringprice {
	font-size: 15px;
	font-weight: 500;
	padding-top: 5px;
	color: #f00;
	float: left;
	line-height: 10px;
}

input[type="radio"]:checked+label .recurringprice {
	color: #ff0;
}

.dailyprice {
	font-size: 13px;
	float: right;
	line-height: 10px;
}


/*PAYMENT TYPE BUTTONS */

.payment-options {
     list-style-type:none;
}

.payment-options li {
    float:left;
    margin:0 5px 0 0;
    width: calc(50% - 5px);
	display: inline-block;
}

.payment-options label {
    width: 100%;
	float: left;
	color: #333;
	text-align: center;
	background: #fff;
	border: 2px solid #ccc;
	border-radius: 4px;
	display: inline-block;
	margin: -10px 4px 0 0;
	padding: 5px;
    z-index:90;
	min-height: 90px;
	cursor: pointer;
}

.payment-options label:hover {
    border: 2px solid #008000;
  -webkit-transition: border 0.2s ease-in-out, color 0.2s linear;
  -moz-transition: border 0.2s ease-in-out, color 0.2s linear;
  transition: border 0.2s ease-in-out, color 0.2s linear;
}

.payment-options label img {
	max-width: 80%;
	max-height: 40px;
}

.payment-options input[type="radio"] {
    opacity:0.01;
    z-index:100;
}

.payment_type {
	font-weight: 400;
	font-size: 16px;
}

button {
	font-family: "Roboto", arial, sans-serif;
	cursor: pointer;
	width: 100%;
	background: #4CAF50;
	color: #FFF;
	margin: 10px 0 0 0;
	padding: 10px;
	font-size: 20px;
	text-transform: uppercase;
	border-radius: 6px;
	border: 2px solid #fff;
}

/* SUBMIT BUTTON */


button[type="submit"] {
	font-family: "Roboto", arial, sans-serif;
	cursor: pointer;
	width: 100%;
	background: #4CAF50;
	color: #FFF;
	margin: 10px 0 0 0;
	padding: 10px;
	font-size: 26px;
	text-transform: uppercase;
	border-radius: 6px;
	border: 2px solid #fff;
}

button[type="submit"]:hover {
  background: #43A047;
  -webkit-transition: background 0.3s ease-in-out;
  -moz-transition: background 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
}

button[type="submit"]:active {
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
}



#prejoin input:focus,
#prejoin textarea:focus {
  outline: 0;
  border: 1px solid #aaa;
}

::-webkit-input-placeholder {
  color: #666;
}

:-moz-placeholder {
  color: #666;
}

::-moz-placeholder {
  color: #666;
}

:-ms-input-placeholder {
  color: #666;
}



/***************/
/* COUPON CODE */
/***************/

li.coupon label {
-webkit-box-shadow: -1px 1px 5px 3px rgba(255,255,0,0.75);
 -moz-box-shadow: -1px 1px 5px 3px rgba(255,255,0,0.75);
 box-shadow: -1px 1px 5px 3px rgba(255,255,0,0.75);
}

.form_container_coupon {
  background: rgba(0,0,0,0.05);
  padding: 15px 10px 5px 10px;
  margin: 55px 0 20px;
  border: 1px solid #ccc;
  border-radius: 12px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.24);
}

.coupon_code {
	text-align: center;
	font-size: 14px;
	width: 100%;
	margin: 0 auto;
}


.coupon_code .legend {
	font-size: 14px;
	font-weight: bold;
	margin-right: 10px;
	display: inline-block;
}

.coupon_code .form_input {
	margin: 0 10px 0 0;
	display: inline-block;
}

.coupon_code .form_input input {
	padding: 2px 5px !important;
	font-size: 13px;
}

.coupon_code .opt-title {
	background: #4CAF50;
	width: 70px;
	color: #fff;
	font-size: 13px;
	line-height: 15px;
	padding: 4px 0px;
	margin: -2px auto 0 auto;
	text-align: center;
	border-radius: 5px;
	display: inline-block;
	border: 1px solid #fff;
}

.coupon_code .opt-title:hover {
	background: #008000;
	cursor: pointer;
}

.coupon_code #apply_coupon {
	display: inline-block;
}

.jscript-only {
	display: inline-block;
}




/*************************/
/* BELOW JOIN FORM */
/*************************/

.alternative_payment_left {
	width: 50%;
	padding: 10px 20px;
	float: left;
	text-align: center;
	color: #333;
	border-right: 2px solid #aaa;
}

button.crypto_button {
	width: 46%;
	float:left;
	margin: 10px 2%;
	padding:5px;
}

.alternative_payment_pbm {
	width: 100%;
	padding: 30px 10px;
	text-align: center;
	color: #333;	
	display: block;
	clear:both;
	margin: 0 auto;
	border-top: 2px solid #aaa;
}

.alternative_payment_right {
	width: 50%;
	padding: 10px 20px;
	float: left;
	color: #333;
	text-align: center;
}

.alternative_payment_left button, .alternative_payment_right button {
	font-size: 15px;
}

.alternative_payment_pbm button {
	font-size: 15px;
	max-width: 45%;
}

.alternative_payment_left img, .alternative_payment_right img {
	max-width: 100%;
}


 .alternative_payment_pbm img {
	max-width: 40%;
}

.alternative_payment_left p, .alternative_payment_pbm p, .alternative_payment_right p {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	max-width: 100%;
	margin: 10px auto 0 auto;
}

.xanpayflags {
	width: calc(100% - 0px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	grid-auto-rows: 1fr;
	grid-column-gap: 8px;
	grid-row-gap: 8px;
	justify-content: center;  
}

@media only screen and (max-width:400px){
.xanpayflags {
	grid-template-columns: repeat(4, 1fr);
}
}

.xanpayflags li {
	list-style-type: none;
	display: flex;
	align-items: center; /* Vertical center of image & text */
}

.xanpayflags li img {
	max-width: 100%;
	border-radius: 3px;
	border: 1px solid #666;
}

.xsell {
  background: #e8efd5;
  padding: 15px;
  margin: 10px 0;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
}

h2.xsell_title {
	color: #1e9e22;
	background: #fff;
	border-radius: 8px;
	padding: 8px 0;
	margin-bottom: 5px;
}

.xsell_outer {
	width: 100%;
	padding: 10px;
	background: #fff;
	border-radius: 8px;
}

label.xsell-label b {
	color: green;
	font-weight: 600;
}

p.xsell-disclaimer {
	text-align: left;
	padding-left:29px;
	font-size: 14px;
	line-height: 18px;
}


input[type=checkbox].xsell-checkbox {
	position:absolute;
	z-index:-1000; 
	left:-1000px; 
	overflow: hidden; 
	clip: rect(0 0 0 0); 
	height:1px; 
	width:1px; 
	margin:-1px; 
	padding:0; 
	border:0;
	}

input[type=checkbox].xsell-checkbox + label.xsell-label {
	background-image:url(../common_files/checkbox.png);
	padding-left:29px;
	display:inline-block;
	line-height:20px;
	background-repeat:no-repeat;
	background-position: 0 0;
	font-size:14px;
	font-weight: 400;
	color: #333;
	vertical-align:top;
	cursor:pointer;
}

input[type=checkbox].xsell-checkbox:checked + label.xsell-label {
	background-image:url(../common_files/checkbox-checked.png);
}

label.xsell-label {

	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}



/*************************/
/* GATEWAY FORM SPECIFIC */
/*************************/

.chosen_options p {
	font-size: 14px;
	text-align: center;
	line-height: 20px;
	color: #666;
}


#signupform input {
  width: 100%;
  border: 1px solid #ccc;
  background: #FFF;
  margin: 0 0 0;
  padding: 10px;
}

#signupform input:hover {
  -webkit-transition: border-color 0.3s ease-in-out;
  -moz-transition: border-color 0.3s ease-in-out;
  transition: border-color 0.3s ease-in-out;
  border: 1px solid #aaa;
}

#signupform select {
	width: 100%;
  	font: 400 16px/20px "Roboto", Helvetica, Arial, sans-serif;
  	padding: 8px;
}

#enddate_month {
	width: 62% !important;
	float: left;
}

#enddate_year {
	width: 35% !important;
	float:left;
	margin-left: 3%;
}

#signupform label {
	margin-top: 0;
	color: #000;
	font-size: 14px;
}




@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     /* IE10+ CSS styles go here */

.payment-options label {
	margin: 0px 4px 0 0;
}
h2.xsell_title {
	padding: 10px;
}

}




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

.left {display: none}
.logo img {max-width: 75%;}
.container_outer {width: 95%; max-width: 95%;}
h2 {line-height: 30px}
}


@media only screen and (max-width:800px){
p.username_req {
	width: 100%;
	font-size: 14px;
}
}

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

.logo img {max-width: 95%;}
.right {display: none}

.payment-options li {
	width: 100%;
    margin: 5px 0 0 0;
}

.months {
	font-weight: 500;
	font-size: 16px;
	max-width: 170px;
}
.price {
	font-weight: bold;
	font-size: 19px;
	float: right;
}
.recurringprice {
	font-size: 13px;
	float: left;
	line-height: 10px;
	max-width: 170px;
	line-height: 16px;
}
.dailyprice {
	font-size: 13px;
	float: right;
	line-height: 10px;
}

.container img {
	max-width: 60%;
}

.alternative_payment_left {width: 95%; float: none; margin: 0 auto; border-right: none;}
.alternative_payment_right {width: 95%; float: none; margin: 0 auto; }
.alternative_payment_pbm {width: 95%;  float: none; }
.alternative_payment_pbm img {max-width: 80%;}
.alternative_payment_pbm button {max-width: 95%}
.alternative_payment_pbm {border-top: none}

button[type="submit"] {
	font-size: 20px;
}

.help img {
	max-width: 70px;
}

}


/**** LANGUAGE SWITCH ****/
.language_switch_outer {
	margin: 0 auto;
	text-align: center;
	width: 1000px;
}
.language_switch {
	display: inline-block;
	float: right;
	padding: 0px 8px;
	max-width: 320px;
	color: #fff;
	margin: 0 auto;
	background: rgba(0,0,0,0.4);
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	font-size: 12px;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
}

.language_switch img {
	vertical-align: middle;
	max-height: 16px;
	width: auto;
	border: 1px solid #ddd;
}


@media only screen and (max-width:1024px){
.language_switch_outer {
	width: 100%;
}

@media only screen and (max-width:600px){
.language_switch {
	float: none;
}