html, body {
	min-height:100% !important;
	max-height:100% !important;
	height:100% !important;
	overflow:hidden;
	font-size:15px;
} @media (max-width: 768px) {
	html, body {
		overflow:auto;
		font-size:15px;
	}
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #a9a9a9;
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color:#a9a9a9;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color:#a9a9a9;
}

.inline_box {
	display:inline-block;
	vertical-align:middle;
} @media (max-width: 768px) {
	.inline_box {
		display:block;
	}
}

.default_font {
	font-family:'Syne', Calibri, Verdana, sans-serif;
	font-size:1.0rem;
	overflow:hidden;
}

#password_forgotten {
	color:white;
	font-size:0.75rem;
	margin:5px 15px;
} @media (max-width: 768px) {
	#password_forgotten {
		font-size:0.95rem !important;
	}
}

@media (max-width: 768px) {
	.recaptcha_box {
		padding:20px 0px;
	}
    .g-recaptcha {
        transform:scale(1.10);
    }
}

/* ------------------------------------------------------------------------------------------------------------------------ */

.form-row {
  background: white;
  margin-bottom:10px;
}

.form-row label {
  position: relative;
  color: #8898AA;
  font-weight: 300;
  height: 40px;
  line-height: 40px;
  margin-left: 20px;
  display: flex;
  flex-direction: row;
} .form-row label > span {
  width: 120px;
  text-align: right;
  margin-right: 30px;
} @media (max-width: 768px) {
	.form-row label {
		font-size:1.4rem;
		height:auto;
		line-height:2.0rem;
		display:block;
		margin-left:0px;
	}
	.form-row label span {
		display:inline-block;
		text-align:center !important;
		width:300px !important;
		margin-right:0px;
	}
}

.form-row label:not(:last-child) {
  border-bottom: 1px solid #F0F5FA;
}

.StripeElement {
  background-color: white;
  padding: 10px 12px;
  border-radius: 4px;
  border: 1px solid transparent;
  box-shadow: 0 1px 3px 0 #e6ebf1;
  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}

.StripeElement--focus {
  box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
  border-color: #fa755a;
}

.StripeElement--webkit-autofill {
  background-color: #fefde5 !important;
}

/* ------------------------------------------------------------------------------------------------------------------------ */

@media (max-width: 768px) {
	input[type=checkbox] {
		transform: scale(2.5);
		margin:0px 5px;
	}
}

/* ------------------------------------------------------------------------------------------------------------------------ */

.red_button {
    min-width:120px;
    display:inline-block;
    white-space:nowrap;
    padding:10px 8px;
    margin-bottom:0;
    font-size:0.9rem !important;
	line-height:1.0rem !important;
    font-weight:600;
    font-family:'Syne', Calibri, Verdana, sans-serif !important;
    color:white;
    text-align:center;
    border-radius:5px;
    vertical-align:middle;
    cursor:pointer;
    background-color:#0E2E2A;
    border:none;
	outline:none !important;
} @media (max-width: 768px) {
	.red_button {
		padding:10px 5px !important;
		margin: 5px 0px;
	}
}

.red_button:hover,
.red_button:active,
.red_button[disabled],
.red_button:disabled {
	background-color: #3AD5A2;
	outline:none !important;
}

.red_button:focus {
	background-color: rgba(31,70,156,0.5);
	outline:none !important;
}

/* ------------------------------------------------------------------------------------------------------------------------ */

#authentification_output_box {
	width:500px;
}

#authentification_output_box, #buy_access_output_box, #trial_end_output_box {
	padding:0px;
	background:#0E2E2A;
	background:linear-gradient(90deg, #0E2E2A 0%, #3AD5A2 80%);
	height:auto;
	border:none;
    -webkit-box-shadow: 0 8px 6px -6px rgba(200,200,200,0.5);
       -moz-box-shadow: 0 8px 6px -6px rgba(200,200,200,0.5);
            box-shadow: 0 8px 6px -6px rgba(200,200,200,0.5);
	z-index:5000;
} @media (max-width: 768px) {
	#authentification_output_box, #buy_access_output_box, #trial_end_output_box {
		width:auto;
		box-shadow:none !important;
		border-radius:0px !important;
	}
}

#trial_end_output_box {
	padding:0px !important;
} @media (max-width: 768px) {
	#trial_end_output_box {
		font-size:1.3rem;
	}
}

#trial_end_output_text {
	padding:15px;
}

#buy_access_output_box {
	width:450px;
} @media (max-width: 768px) {
	#buy_access_output_box {
		width:100%;
	}
}

#product_prices_box {
	border-radius:0px !important;
	position:absolute;
	left:calc(50% + 225px);
	top:calc(50% - 250px);
	margin:40px;
	padding:20px;
} @media (max-width: 768px) {
	#product_prices_box {
		position:static !important;
		font-size:1.2rem;
		line-height:1.2rem;
		border:none;
		border-top:5px solid black;
		margin:8px;
		margin-top:25px;
		padding:0px;
	}
}

.product_price_text {
	color:#0E2E2A;
	font-size:1.3rem;
	font-weight:bold;
} @media (max-width: 768px) {
	.product_price_text {
		font-size:2.0rem;
	}
}

#inscription_output_box {
	padding:50px;
	max-width:100%;
	min-height:100%;
}

#inscription_output_form_inscription {
	display:inline-block;
	text-align:center;
	padding:40px;
	vertical-align:middle;
	min-width:600px;
	background:#0E2E2A;
	background:linear-gradient(90deg, #0E2E2A 0%, #3AD5A2 80%);
} @media (max-width: 768px) {
	#inscription_output_form_inscription {
		min-width:auto;
		width:100%;
		padding:0px;
	}
}

.inscription_checkboxes {
	text-align:left;
} @media (max-width: 768px) {
	.inscription_checkboxes {
		padding:5px 0px;
		line-height:1.5rem;
	}
}

.product_image {
	width:300px;
} @media (max-width: 768px) {
	.product_image {
		width:300px;
	}
}

#password_forgotten_box {
	position:absolute;
	z-index:999999 !important;
	box-shadow:1px 1px 12px #555;
	margin:30px;
	background:#0E2E2A;
	background:linear-gradient(90deg, #0E2E2A 0%, #3AD5A2 80%);
} @media (max-width: 768px) {
	#password_forgotten_box {
		position:static !important;
		box-shadow:none !important;
	}
}

/* ------------------------------------------------------------------------------------------------------------------------ */

#no_script_window, #unsupported_browser_window {
	z-index:20000;
	box-shadow:1px 1px 12px #555;
	background-color:white;
	font-family:'Syne', Calibri, Verdana, sans-serif;
	font-size:15px;
	width:100%;
	height:100%;
	position:absolute;
	left:0; right:0;
	top:0; bottom:0;
	margin:auto;
	max-width:100%;
	max-height:100%;
	overflow:auto;
	overflow-y:hidden;
} #no_script_div, #unsupported_browser_div {
	z-index:25000;
	box-shadow:1px 1px 12px #555;
	background-color:#e0edf5;
	font-family:'Syne', Calibri, Verdana, sans-serif;
	font-size:15px;
	border:3px solid black;
	width:400px;
	height:75px;
	position:absolute;
	left:0; right:0;
	top:0; bottom:0;
	margin:auto;
	padding:10px;
	max-width:100%;
	max-height:100%;
	overflow:auto;
	overflow-y:hidden;
} #unsupported_browser_div {
	width:750px;
	height:180px;
} .supported_browser_list {
	font-family:'Syne', Calibri, Verdana, sans-serif;
	font-size:12px;
	color:rgb(0,90,49);
	font-weight:bold;
}

button.no_style_button {
	font-family:'Syne', Calibri, Verdana, sans-serif;
	position:relative;
	padding:2px;
	margin:0px;
	border:transparent;
	background-color:transparent;
	cursor:pointer;
} .no_style_button:hover {
	background-color:transparent !important;
} .no_style_button:focus {
	border:none;
	border-radius:0px;
	background:none;
} .no_style_button:active {
	padding:3px;
} .no_style_button:focus {
	outline:0;
}

/* ------------------------------------------------------------------------------------------------------------------------ */

#trial_button_window {
	position:absolute;
	z-index:5000;
	width:200px;
	height:100px;
	padding:15px 15px 0px 115px;
	display:none;
}

#loading_window, #client_window {
	z-index:10000;
	background-color:rgb(244,245,248) !important;
	font-family:'Syne', Calibri, Verdana, sans-serif;
	font-size:15px;
	width:100%;
	height:100%;
	position:absolute;
	left:0; right:0;
	top:0; bottom:0;
	margin:auto;
	max-width:100%;
	max-height:100%;
	overflow-x:hidden !important;
	overflow-y:auto !important;
} @media (max-width: 768px) {
	#loading_window, #client_window {
		position: static !important;
		margin:0px !important;
		width:100%;
		font-size:22pt !important;
	}
	
	#client_window > table {
		width:100%;
	}
}

#client_window {
	background-image: url(../images/connexion_Ultimate_background.jpg) !important;
    background-position: center top;
    background-size: 100% auto;
	z-index:9999 !important;
}

#loader {
	position:absolute;
	left:0; right:0;
	top:0; bottom:0;
	z-index: 15000;
	margin:auto;
	border-radius: 50%;
	border-top: 5px solid rgb(25,102,146);
	border-bottom: 5px solid rgb(25,102,146);
	border-left: 5px solid gray;
	border-right: 5px solid gray;
	width:45px;
	height:45px;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
} @media (max-width: 768px) {
	#loader {
		width:125px;
		height:125px;
		border-top: 20px solid rgb(25,102,146);
		border-bottom: 20px solid rgb(25,102,146);
		border-left: 20px solid gray;
		border-right: 20px solid gray;
	}
}

@-webkit-keyframes spin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* ------------------------------------------------------------------------------------------------------------------------ */

.main_box_header {
	color:white;
	border-bottom:1px solid white;
	font-family:'Syne', Calibri, Verdana, sans-serif;
	font-size:20pt;
	padding:10px 7px;
	border-radius:0px !important;
	text-align:center;
	font-size:1.30rem;
	font-weight:normal;
	min-width:400px;
} @media (max-width: 768px) {
	.main_box_header {
		border-radius:0px !important;
		min-width:100%;
	}
}

.error_box {
	line-height:15px;
	min-height:15px;
	color: white;
	padding:5px;
	font-family:'Syne', Calibri, Verdana, sans-serif;
	font-size:0.8rem;
	margin-bottom:10px;
} @media (max-width: 768px) {
	.error_box {
		line-height:20px;
		min-height:40px;
		font-size:1.1rem;
	}
}

.buttons_box {
	display:inline-block;
	padding-top:10px;
	padding-bottom:10px;
	min-height:45px;
}

.authentification_form_element, .buy_form_element {
	text-align:center;
	border:none !important;
	border-radius:10px !important;
	width:255px !important;
	font-size:0.8rem !important;
	padding:12px 30px !important;
	margin:2px;
} @media (max-width: 768px) {
	.authentification_form_element, .buy_form_element {
		width:280px !important;
		margin:4px;
	}
}

.buy_form_element_select {
	width:297px !important;
	font-size:13px !important;
	height:30px !important;
	padding: 4px !important;
}						

.inscription_form_element {
	width:200px !important;
	font-size:0.85rem !important;
	height:20px !important;
	padding:4px 10px !important;
	border:1px solid transparent;
	background-color:white;
	border-radius:10px;
} .inscription_form_element:focus {
	outline:0;
} @media (max-width: 768px) {
	.inscription_form_element {
		width:280px !important;
		font-size:1.2rem !important;
		height:30px !important;
		padding:12px !important;
		border:1px solid black !important;
		margin:5px 0px !important;
	}
}

.subscription_form_element {
	width:175px !important;
	font-size:0.9rem !important;
	height:20px !important;
	padding: 4px !important;
} @media (max-width: 768px) {
	.subscription_form_element {
		width:280px !important;
		font-size:1.2rem !important;
		height:30px !important;
		padding:12px !important;
		border:1px solid black !important;
	}
}

#card-errors {
	display:inline-block;
	padding:7px;
} @media (max-width: 768px) {
	#card-errors {
		font-size:1.2rem;
	}
}