:root{
   --wrapper-width: 1200px;
   --main-ultralight-color: #edf0f1;
}

::-webkit-scrollbar{ width:7px; height:7px; }
body{ overflow-x:hidden; }

.wrapper{ width:var(--wrapper-width); max-width:100vw; margin:0 auto; }
.front-main-wrapper{ margin-bottom:45px; padding:0; }
.front-footer-wrapper{ margin-bottom:0; }

/* MAIN */
main.front{ min-height:calc(100vh - 115px); }
main h1{ margin-bottom:25px; }

/* HEADER */
.header{ background:var(--main-ultralight-color); }
.header .logo-wrapper{ text-align:center; padding:15px 0; }
.header .logo-wrapper img{ height:75px; width:auto; }

/* FOOTER */
footer{ background:var(--main-light-color); padding:11px 15px; }
footer .copyright{ text-align:center; font-size:11px; margin:0 -15px; width:100%; opacity:0.35; }

/* TOP BANNER */
.top-banner-wrapper{ background:var(--main-normal-color); color:#ffffff; height:35px; padding:7px 15px; }

/* FRONT MENU */
.front-menu{ background:var(--main-ultralight-color); margin-bottom:0; }

/* FORM */
.front-main-wrapper .form-wrapper .form-row-submit{ position:initial; background:none; border:none; width:100%; padding:0; }
.front-main-wrapper .form-wrapper .form-label sup{ float:none; top:0; }

/* Login */
.customer-login .login-row{ margin:75px -15px 150px -15px; }
.customer-login .login-row h1{ margin-bottom:50px; }
.customer-login .forgot-password{ display:block; margin:25px 0 8px; text-align:center; }

.customer-login #login-form{ margin-top:25px; overflow:auto; }

.customer-login .login-col{ padding:35px 25px 25px 25px; }
.customer-login .login-col h3{ margin:0; text-transform:none; text-align:center; }
.customer-login .login-col h4{ margin:0 0 35px 0; font-size:14px; font-weight:300; text-transform:none; text-align:center; }
.customer-login .login-col .form-row.inline{ overflow:auto; margin-bottom:10px; }
.customer-login .login-col .form-row.inline .form-label{ width:125px; float:left; }
.customer-login .login-col .form-row.inline .form-input{ width:calc(100% - 185px); float:left; }
.customer-login .login-col .form-submit{ text-align:center; }

.customer-login .register-wrapper{ background:var(--main-ultralight-color); min-height:320px; text-align:center; padding:95px 15px 0 15px; }
.customer-login .register-wrapper h3{ margin:0; text-transform:none; }
.customer-login .register-wrapper h4{ margin:0 0 25px 0; font-size:14px; font-weight:300; text-transform:none; }

/* Register */
.customer-registration h1{ margin-bottom:25px; margin-top:65px; }
.customer-registration #register-form{ overflow:auto; }
.customer-registration #register-form h3{ text-transform:none; font-weight:400; margin:0 0 15px 0; }
.customer-registration #register-form{ max-width:820px; margin:50px auto 50px; }
.customer-registration #register-form .form-row.inline .form-input input{ max-width:450px; }
.customer-registration .form-row.inline .form-input .reveal-btn{ right:172px; }
.customer-registration .stepper-step{ margin-bottom:25px; }
.customer-registration .acceptance-step .form-input{ margin-bottom:8px; }
.customer-registration .acceptance-step label{ display:block; cursor:pointer; }
.customer-registration .acceptance-step input[type="checkbox"]{ margin-right:8px; }
.customer-registration .form-row.form-submit{ text-align:center; margin-top:45px; }
.customer-registration .form-row.form-submit .btn{ padding:8px 25px 7px 15px; }
.customer-registration .form-row.form-submit .btn .fas{ margin-right:10px; }

.customer-registration.forms-customer-register-validate .form-input{ text-align:center; }
.customer-registration .back-to-login{ text-align:center; margin-top:35px; }
.customer-registration .back-to-login .fas{ font-size:11px; margin-right:8px; }

/* Lost Password */
.customer-lost-password h1{ margin-bottom:25px; margin-top:65px; }
.customer-lost-password #lost-password-form{ overflow:auto; }
.customer-registration #register-form .msg{ max-width:500px; margin:0 auto 25px auto; }
.customer-lost-password #lost-password-form h3{ text-transform:none; font-weight:400; margin:0 0 15px 0; }
.customer-lost-password #lost-password-form{ max-width:380px; margin:50px auto 50px; }
.customer-lost-password #lost-password-form input:not(.validation-code-digit){ text-align:center; padding:8px 15px; font-size:16px; }
.customer-lost-password .form-row.inline .form-input .reveal-btn{ right:172px; }
.customer-lost-password .stepper-step{ margin-bottom:25px; }
.customer-lost-password .form-row.form-submit{ text-align:center; margin-top:25px; }
.customer-lost-password .form-row.form-submit .btn{ padding:8px 25px 7px 15px; }
.customer-lost-password .form-row.form-submit .btn .fas{ margin-right:10px; }

.customer-lost-password.forms-customer-lost-password-validate .form-input{ text-align:center; }
.customer-lost-password .back-to-login{ text-align:center; margin-top:35px; }
.customer-lost-password .back-to-login .fas{ font-size:11px; margin-right:8px; }


/* RTE TINYMCE */
.rte{ margin-bottom:45px; }
.rte p{ display:block; margin-bottom:6px; }
.rte p:empty{ height:8px; }

/* Utils */
.fullwidth{ margin-left:calc((100vw - var(--wrapper-width))*-0.5); margin-right:calc((100vw - var(--wrapper-width))*-0.5); }

@media (max-width:1240px){
   .front-main-wrapper,
   .front-footer-wrapper{ padding:0 15px; }
   .fullwidth{ margin-left:-15px; margin-right:-15px; }

   .top-banner-wrapper{ padding:7px 0; }
}

@media (max-width:768px){
   .customer-login .login-row{ margin:35px -15px 50px -15px; }
   .customer-login .register-wrapper{ min-height:180px; padding:38px 15px 0 15px; }
   .customer-login .login-col .form-row.inline{ overflow:auto; margin-bottom:10px; }
   .customer-login .login-col .form-row.inline .form-label{ width:100%; float:none; }
   .customer-login .login-col .form-row.inline .form-input{ width:100%; float:none; }
}
