@import url('https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz|Caveat|Comfortaa');
/* General */
*{
  border:none;
  box-sizing: border-box;
  color: #666;
  font-family: 'Verdana', 'Arial', sans-serif;
}
body{
  background-color: #fff;
  background-image: url('/images/bg-texture.png');
  padding:0;
  margin:0;
}
div {
  padding: 0;
  margin:0;
}
h1,
h2,
h3,
h4,
h5,
h6{
  font-family: 'Yanone Kaffeesatz', 'Trebuchet MS', sans-serif;
  color:#444;
  text-align: center;
  margin: 0 0 20px 0;
}
h1{
  font-size: 40px;
}
h2{
  font-size: 36px;
}
h3{
  font-size: 32px;
}
h4,
h5,
h6{
  font-size: 28px;
  margin: 0 0 20px 0;
}
p,
ul,
ol{
    font-size: 16px;
}
code{
  font-family: monospace;
  color: #048a66;
}
a {
  color:#b3392a;
  text-decoration: none;
}
a:hover{
  color: #a61505;
  text-decoration: none;
}
button,
input[type=button],
input[type=submit]{
  display: block;
  height: 40px;
  line-height: 40px;
  padding: 0 15px;
  margin:0;
  color: #fff;
  background-color: #b3392a;
  border: none;
  border-radius: 5px;
  transition: all ease 300ms;
  font-family: 'Comfortaa', sans-serif;
  text-transform: lowercase;
}
button:hover,
input[type=button]:hover,
input[type=submit]:hover{
  background-color: #a61505;
}
.padded{
  padding: 50px;
}
.flexed{
  display: flex;
}
p,
span{
  font-weight: 400;
}
span.underlined{
	border-bottom: 3px double #ccc;
	padding-bottom: 3px;
}
span.strong{
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  font-weight: 600;
}
ol li,
ul li{
  margin: 10px 0;
}
.green-heading{
	width: 100%;
	padding: 3px 25px;
	font-weight: 500;
	text-align: center;
	font-size: 18px;
	background-color: #65a24c;
	color: #fff;
}
.hidden{
  display: none;
}
.clearfix{
  clear:both;
}

/* Scrollbars */
::-webkit-scrollbar {
    width: 4px;
}
::-webkit-scrollbar-track {
    background: #ddd;
}
::-webkit-scrollbar-thumb {
    background: #888;
}
::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Fade-in images */
.fade-in-slow,
.fade-in-fast{
  opacity:0;
}
.fade-in-slow{
  position: relative;
  top: -50px;
}

/* Page Header */
#header-top-contact{
  margin:0;
  padding: 15px;
  height: 60px;
  background-color: #222;
  box-shadow: 0 5px 25px 5px #555;
  justify-content:space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
#header-top-contact p,
#header-top-contact a,
#header-top-contact i {
  color: #ccc;
}
#header-top-contact a:hover,
#header-top-contact a i:hover{
  color:#eee;
}
#header-top-contact i {
  padding: 0 5px 0 20px;
  font-size: 24px;
}
#header-top-contact i.fa-envelope{
  font-size: 22px;
}
#header-top-contact #social i {
  padding: 0 5px;
}
#header-logo-intro-gradient{
  background: linear-gradient(to right, rgba(241,241,241,1), rgba(241,241,241,0.1));
  width: 100%;
  margin:0;
  height: 400px;
  position: absolute;
  top:0;
  left:0;
  justify-content: flex-start;
  align-items: center;
}
#header-logo-intro{
  background-color: #ccc;
  background-image: url('/images/header-bg.png');
  background-position: right top;
  background-size: auto 400px;
  background-repeat: no-repeat;
  height: 400px;
  width: 100%;
  margin:0;
  position: relative;
}
#main-header{
  font-size: 50px;
  line-height: 50px;
  text-align: left;
  margin: 0;
  text-shadow: 0 0 25px #fff;
}
#main-header .red{
	font-family: inherit;
	color:#b3392a;
}
#main-header .green{
	font-family: inherit;
	color:#0e7700;
}
.header-disclaimer{
  font-family: 'Arial', sans-serif;
  font-size: 18px;
  line-height: 30px;
  color: #000;
  text-shadow: 0 0 25px #fff;
}
#header-logo{
 height: auto;
 width: 300px;
 margin: 0 30px 0 0;
 float: left;
}
#intro{
  display: block;
  max-width: 600px;
}

/* Why Demian and About Demian */
#why-1-2,
#why-3{
  width: 50%;
margin: 0;
padding: 0 20px 0 0;
}
#why-3{
  border-radius: 5px;
  background-color: #fbfbfb;
  padding: 0;
  box-shadow: 0 0 15px #ccc;
}
#about-demian-rus-right p,
#why-3 p{
	padding:5px 25px;
}
#about-demian-rus-right ul,
#why-3 ul{
	list-style-image: url('/images/tick.png');
	margin: 10px 25px;
	padding: 0 0 0 20px;
}
.icon-table{
  	width: 100%;
  	padding:0;
  	border: none;
  	text-align: left;
	align-items: center;
  	justify-content: flex-start;
	margin: 0 0 30px 0;
}
.icon-table img{
  width: 60px;
  height: 60px;
  display: block;
  margin: 0 auto;
}
.icon-table-text{
  padding: 0 0 0 20px;
  margin:0;
}
#about-demian{
  background-color: #222;
  justify-content: space-around;
  align-items: center;
  position:relative;
}
#about-demian img{
  width: 30%;
  height: auto;
}
#handwriting{
  width: 30%;
  transform: rotate(-7deg);
}
#handwriting p{
  font-family: 'Caveat';
  font-size: 26px;
  color: #fff;
}
#about-demian-rus {
  justify-content: space-around;
  align-items: center;
  background: linear-gradient(rgba(34,34,34,1), rgba(119,119,119,1));
}
#about-demian-rus-left p,
#about-demian-rus-left ul li,
#about-demian-rus-left ol li,
#about-demian-rus-left h1,
#about-demian-rus-left h2,
#about-demian-rus-left h3,
#about-demian-rus-left h4,
#about-demian-rus-left h5,
#about-demian-rus-left h6{
  color: #ccc;
}
#about-demian-rus p{
  text-align: justify;
}
#about-demian-rus-left,
#about-demian-rus-right{
  background-color: transparent;
  width: calc(50% - 40px);
  margin: 20px;
}
#about-demian-rus-right{
  border-radius: 5px;
  background-color: #fbfbfb;
  padding: 0;
  box-shadow: 0 0 15px #222;
}

/* Price List */
#prices{
  background-image: url('/images/libri-bg.jpg');
  background-position: center center;
  background-attachment: fixed;
  background-size: cover;
  box-shadow: inset 0 0 500px #000000;
}
#prices h2{
  color: #fff;
}
.price-row{
 justify-content: center;
}
.price-item{
 width: 100%;
 max-width: 430px;
 border-radius: 5px;
 background-color: #fff;
 background-image: url('/images/bg-texture.png');
 margin: 15px;
 padding: 20px;
 box-shadow: 0 0 10px #222;
}
.price-item-table h2{
   color: #fff;
}
.price-item-table h3{
   color: #55752a;
   padding-bottom: 3px;
   max-width: 300px;
   margin: 10px auto 0;
}
.price-item-table h3.price{
   margin: 30px auto 20px;
}
.price-item-table table{
 width: 180px;
 margin: 0 auto;
}
.price-item-table table tr td:first-child{
 width: 50px;
 text-align: center;
}
.price-item-table i.fa-skype{
  font-size: 24px;
}
.price-item-table i.fa-user,
.price-item-table i.fa-clock{
  font-size: 22px;
}
.price-item-table i.fa-user-friends{
  font-size: 20px;
}
.price-item-table button{
  width: 100%;
  margin: 15px 0;
  text-transform: lowercase;
  letter-spacing: 1px;
}
.underline-decor{
  border: 1px solid #55752a;
  border-left: none;
  border-right: none;
  width: 80px;
  height: 3px;
  margin: 10px auto 25px;
}
/* Ways to Pay */

#how-to-pay{
  background-color: #f5f5f5;
  padding: 20px;
  display: none;
}
#how-to-pay p{
  margin-top: 5px;
}
#how-to-pay h4{
  text-align: left;
  font-size: 20px;
  margin-bottom: 0;
}
#pay-table{
  vertical-align: middle;
  text-align: left;
}
#pay-table td{
  height: 40px;
}
#pay-table img{
  display: block;
  margin: 0 auto;
}
#hide-toggler{
  cursor: pointer;
  text-transform: lowercase;
  padding-top: 20px;
  font-weight: 600;
  color: #444;
  font-size: 15px;
  letter-spacing: 1px;
}
#hide-toggler span{
  position: relative;
  top: 4px;
  font-size: 16px;
  font-weight: inherit;
}
#how-to-pay-toggler{
  color: #fff;
  cursor: pointer;
  font-size: 36px;
}
#how-to-pay-toggler span{
  font-family: Arial, sans-serif;
  color: inherit;
  font-size: 40px;
}
span.chevron{
  writing-mode: vertical-rl;
}
span.chevron-up{
  display: none;
}

/* Contact Me */
#contact-me-wrapper.flexed{
  align-items: flex-start;
  margin:0;
  padding:0;
}
#contact-me-pt-1{
  width: 30%;
}
#contact-me-pt-1 .cont-me-link{
  margin-top:15px;
}
#contact-me-pt-1 p{
  font-size: 18px;
  line-height: 26px;
  margin-top: 0;
}
#contact-me-pt-1 .cont-me-link,
#contact-me-pt-1 .cont-me-link a,
#contact-me-pt-1 .cont-me-link a i{
  font-weight: 600;
}
#contact-me-pt-1 .cont-me-link a i{
  color: inherit;
  padding-right: 7px;
}
#contact-me-pt-1 .cont-me-link a i.fa-whatsapp{
  font-size: 24px;
}
#contact-me-pt-1 .cont-me-link a i.fa-envelope{
  font-size: 22px;
}
#contact-me-pt-2{
  width: 70%;
  padding-left: 20px;
}
#contact-me-pt-2 #contact-me-form{
  background-color: #fff;
  border-radius: 7px;
  padding: 0 0 20px 0;
}
#contact-me-pt-2 #contact-me-form #contact-me-form-left{
  width: 50%;
  float: left;
  padding: 20px 0 20px 20px;
}
#contact-me-pt-2 #contact-me-form #contact-me-form-right{
  width: 50%;
  float: right;
  padding: 20px 20px 0 20px;
}

.form-error-message{
  display: block;
  min-height: 15px;
  margin: 5px 0 10px;
  font-size: 12px;
}
.form-error-message .form-error{
  color: #a61505;
}
.field-label .red{
  color: #a61505;
  font-weight: 600;
}
.field-label{
  display: block;
  font-size: 14px;
  margin: 0 0 5px 0;
}
.field-label.qty-label{
  width: auto;
  padding-right: 10px;
}
.qty-wrapper{
  display: flex;
  align-items: center;
  justify-content: center;
}
input.hidden-form-field{
  display: none;
}
.fixed-form-inner-wrapper form select,
.fixed-form-inner-wrapper form input[type=number],
.fixed-form-inner-wrapper form input[type=text],
.fixed-form-inner-wrapper form input[type=email],
#contact-me-pt-2 #contact-me-form input[type=text],
#contact-me-pt-2 #contact-me-form input[type=email]{
  height: 40px;
}
.fixed-form-inner-wrapper form input[type=number]{
  width: 45px;
}
textarea{
  margin-bottom: 20px;
}
.fixed-form-inner-wrapper form select,
.fixed-form-inner-wrapper form input,
.fixed-form-inner-wrapper form textarea,
#contact-me-pt-2 #contact-me-form input,
#contact-me-pt-2 #contact-me-form textarea{
  width: 100%;
  border: 1px solid #bbb;
  border-radius: 5px;
}
#contact-me-pt-2 #contact-me-form textarea{
  min-height: 195px;
}
.fixed-form-inner-wrapper form input[type=submit],
#contact-me-pt-2 #contact-me-form input[type=submit]{
  width: 100%;
  max-width: 150px;
  margin: 0 auto;
}
.checkbox-container {
  display: block;
  position: relative;
  width: 25px;
  height: 25px;
  margin: 0 7px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
#sign-up-times-checkboxes-wrapper,
#times-checkboxes-wrapper {
  display: block;
  height: auto;
  min-height: 100px;
}
#sign-up-course-name{
  color:#55752a;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
}
#sign-up-times-checkboxes-wrapper .checkbox-container,
#times-checkboxes-wrapper .checkbox-container {
  width: calc(50% - 10px);
  margin: 0 5px 10px 5px;
  float: left;
  height: 40px;
}
#sign-up-times-checkboxes-wrapper .checkbox-container input,
#times-checkboxes-wrapper .checkbox-container input {
  margin: 0;
}
.checkbox-container input {
  opacity: 0;
  cursor: pointer;
  width: 25px;
  height: 25px;
  margin: 0;
}
.custom-checkmark {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  border: 1px solid #bbb;
  border-radius: 4px;
}
#sign-up-days-checkboxes-wrapper .custom-checkmark,
#days-checkboxes-wrapper .custom-checkmark {
  height: 25px;
  width: 25px;
}
#sign-up-times-checkboxes-wrapper .custom-checkmark,
#times-checkboxes-wrapper .custom-checkmark {
  height: 40px;
  width: 100%;
}
.time-slot{
  z-index: 6;
  font-size: 14px;
  font-weight: 600;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.time-slot.checked{
  color: #fff;
}
.time-slot.checked::before{
  content: "\2713 \00A0 \00A0";
  font-weight: bold;
}
.checkbox-container:hover input ~ .custom-checkmark {
  border-color: #0e7700;
}
.checkbox-container input:checked ~ .custom-checkmark {
  background-color: #0e7700;
  border-color: #0e7700;
}
.custom-checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.checkbox-container input:checked ~ .custom-checkmark:after {
  display: block;
}

#sign-up-days-checkboxes-wrapper .checkbox-container,
#days-checkboxes-wrapper .checkbox-container{
  display: block;
  height: 50px;
}
#sign-up-days-checkboxes-wrapper .checkbox-container .custom-checkmark:after,
#days-checkboxes-wrapper .checkbox-container .custom-checkmark:after {
  content: "\2713";
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  top: 3px;
  left: 6px;
}

/* Basement */
#basement{
  box-shadow: 0 5px 25px 5px #111;
  background-color: #222;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  min-height: 200px;
}
#basement-1.flexed{
  flex-direction: column;
}
#basement-3.flexed{
  justify-content: flex-start;
}

#basement #payment-icons{
	margin: 0;
	margin-top: 15px;
}
#basement .payment-icon{
	width: 50px;
	height: 30px;
	float: left;
	margin:0;
	margin-right: 10px;
}
#basement #payment-link,
#basement span.oferta{
  cursor: pointer;
  color: inherit;
  padding: inherit;
  margin: inherit;
  text-decoration: underline;
  transition: all ease 250ms;
}
#basement #payment-link:hover,
#basement span.oferta:hover{
  color: #eee;
}
#basement a.basement-contacts{
  display: block;
  color: #6bc148;
  margin: 0;
  padding: 5px 10px;
  transition: all ease 250ms;
}
#basement a.basement-contacts:hover{
  color: #aeff8e;
}
#basement a i.fab,
#basement a i.far{
  color: inherit;
}
#basement a i.fa-whatsapp,
#basement a i.fa-facebook-square{
  font-size:22px;
  padding-right:10px;
}
#basement a i.fa-envelope{
  font-size:20px;
  padding-right:10px;
}
#basement a i.fa-instagram{
  font-size:23px;
  padding-right:9px;
}
#basement p,
#basement div span.oferta{
  color: #aaa;
  margin: 5px 0;
}
#oferta-wrapper .fixed-form-inner-wrapper {
  overflow-y: scroll;
  top:0;
  transform: translate(0,0);
  max-width: 1000px;
  height: 100%;
  background-color: #fff;
}
#oferta-wrapper .fixed-form-inner-wrapper a{
  display: block;
  width: auto;
  max-width: 210px;
  margin: 5px auto 0;
}
#oferta-wrapper .fixed-form-inner-wrapper img#oferta-img{
  width: 100%;
  height: auto;
  padding: 0;
  display: block;
}
/* References */
#references{
  position: relative;
  width: 100%;
  height: auto;
  padding-top: 20px;
}
#references h2{
  color: #444;
  margin-top: 20px;
}
.slider-control{
  display: block;
  width: 40px;
  height: 40px;
  font-size: 32px;
  line-height: 40px;
  padding: 0;
  text-align: center;
  background-color: #55752a;
  color: #fff;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
#slider-control-left{
  left: 60px;
  z-index: 2;
}
#slider-control-right{
  right:  60px;
  z-index: 2;
}
#reference-slider{
  position: relative;
  width: 80%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
}
#reference-slider-bg{
  width: calc(100% - 100px);
  height: 100%;
  background-color: #eee;
  position: absolute;
  top:0;
  left: 50px;
  opacity: 0.8;
  z-index: 1;
}
.reference-divider{
  height: 3px;
  border: 1px solid #666;
  border-left: none;
  border-right: none;
  width: 100px;
  margin: 30px auto;
}
.reference-slide {
  width: 100%;
  display: none;
}
.reference-slide.active {
  display: block;
}
.reference-slide p{
  font-size: 14px;
  color: #444;
}
.reference-slide .reference-text p{
  text-align: center;
}
.reference-slide .reference-name p,
.reference-slide .reference-who p{
  text-align: center;
}
.reference-slide .reference-name p{
  margin: 0;
  text-transform: uppercase;
  font-weight: 600;
  }
.reference-slide .reference-who p{
  margin: 10px 0 15px 0;
}
.reference-slide .reference-foto{
  display: block;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  margin: 0 auto 30px;
}
/* Fixed Buttons */
.fixed-button{
  text-align: left;
  width: 200px;
  height: 40px;
  line-height: 40px;
  font-size: 14px;
  padding: 0 7px;
  margin: 5px;
  background-color: #0e7700;
  box-shadow: 0 0 15px #000;
  font-size: 13px;
}

.fixed-button:hover{
  background-color: #14a900;
}
#popup-forms{
  z-index: 3;
  position: fixed;
  bottom: 20px;
  right: 30px;
  width: 200px;
  height: 150px;
  background-color: transparent;
}
#fixed-button-1,
#fixed-button-2,
#fixed-button-3,
#contact-me-form-success{
  width: 200px;
  height: 40px;
  background-color: transparent;
}
@keyframes phone-anim {
  0%  {transform: rotate(0deg);}
  5%  {transform: rotate(-20deg);}
  10% {transform: rotate(0deg);}
  15% {transform: rotate(20deg);}
  20% {transform: rotate(0deg);}
  25% {transform: rotate(0deg);}
  30% {transform: rotate(0deg);}
  35% {transform: rotate(0deg);}
  40% {transform: rotate(0deg);}
  45% {transform: rotate(0deg);}
  50% {transform: rotate(0deg);}
  55% {transform: rotate(0deg);}
  60% {transform: rotate(0deg);}
  65% {transform: rotate(0deg);}
  70% {transform: rotate(0deg);}
  75% {transform: rotate(0deg);}
  80% {transform: rotate(0deg);}
  85% {transform: rotate(0deg);}
  90% {transform: rotate(0deg);}
  95% {transform: rotate(0deg);}
  100% {transform: rotate(0deg);}
}
@keyframes gift-anim {
  0%   {transform: rotate(0deg);}
  5%  {transform: rotate(0deg);}
  10%  {transform: rotate(0deg);}
  15%  {transform: rotate(0deg);}
  20% {transform: rotate(0deg);}
  25% {transform: rotate(-20deg);}
  30% {transform: rotate(0deg);}
  35% {transform: rotate(20deg);}
  40% {transform: rotate(0deg);}
  45% {transform: rotate(0deg);}
  50% {transform: rotate(0deg);}
  55% {transform: rotate(0deg);}
  60% {transform: rotate(0deg);}
  65% {transform: rotate(0deg);}
  70% {transform: rotate(0deg);}
  75% {transform: rotate(0deg);}
  80% {transform: rotate(0deg);}
  85% {transform: rotate(0deg);}
  90% {transform: rotate(0deg);}
  95% {transform: rotate(0deg);}
  100% {transform: rotate(0deg);}
}
@keyframes wallet-anim {
  0%   {transform: rotate(0deg);}
  5%  {transform: rotate(0deg);}
  10%  {transform: rotate(0deg);}
  15%  {transform: rotate(0deg);}
  20% {transform: rotate(0deg);}
  25% {transform: rotate(0deg);}
  30% {transform: rotate(0deg);}
  35% {transform: rotate(0deg);}
  40% {transform: rotate(0deg);}
  45% {transform: rotate(-20deg);}
  50% {transform: rotate(0deg);}
  55% {transform: rotate(20deg);}
  60% {transform: rotate(0deg);}
  65% {transform: rotate(0deg);}
  70% {transform: rotate(0deg);}
  75% {transform: rotate(0deg);}
  80% {transform: rotate(0deg);}
  85% {transform: rotate(0deg);}
  90% {transform: rotate(0deg);}
  95% {transform: rotate(0deg);}
  100% {transform: rotate(0deg);}
}
.fixed-button i.fas.fa-phone-square{
  animation-name: phone-anim;
  animation-duration: 2s;
  animation-delay: 2s;
  animation-iteration-count: infinite;
}
.fixed-button i.fas.fa-gift{
  animation-name: gift-anim;
  animation-duration: 2s;
  animation-delay: 2s;
  animation-iteration-count: infinite;
}
.fixed-button i.fas.fa-wallet{
  font-size: 19px;
  animation-name: wallet-anim;
  animation-duration: 2s;
  animation-delay: 2s;
  animation-iteration-count: infinite;
}
.fixed-button i.fas{
  color: #fff;
  font-size: 20px;
  padding-right: 7px;
  position: relative;
  top: 3px;
}
.fixed-button span.to-hide{
  font-size: inherit;
  color: inherit;
  font-family: inherit;
}

/* Fixed Pop-up Forms */
#banner{
  display: block;
  margin-left: auto;
  margin-right: auto;
}
#banner .fixed-form-outer-wrapper{
  display: block;
}
#banner .fixed-form-inner-wrapper{
  width: 90%;
  max-width: 700px;
  text-align: center;
}

#banner .fixed-form-inner-wrapper p#subtitle{
  font-size: 18px;
  margin: 15px 0;
}
#banner img{
  width: auto;
  max-width: 300px;
  height: auto;
  margin: 10px auto 20px;
}
#contact-me-form-success{
  display: none;
}
.fixed-form-outer-wrapper{
  display: none;
  z-index: 4;
  position: fixed;
  top:0;
  left:0;
  width: 100%;
  height:100vh;
  padding: 20px 0;
  margin: 0;
  background-color: transparent;
}
.fixed-form-inner-wrapper.scrollable{
  overflow-y: scroll;
  top:0;
  transform: translate(0,0);
  height: 100%;
}
.fixed-form-transp-bg{
  background-color: #000;
  opacity: 0.7;
  width:100%;
  height:100vh;
  padding: 0;
  margin:0;
  position: absolute;
  top: 0;
  left: 0;
}
.fixed-form-inner-wrapper{
  z-index: 5;
  position: relative;
  top: 50%;
  width: 90%;
  max-width: 410px;
  height: auto;
  margin: 0 auto;
  transform: translate(0,-50%);
  background-color: #f5f5f5;
  padding: 20px;
  text-align: center;
}
.fixed-form-inner-wrapper h4{
  margin-top: 0;
}
.close-cross{
  display: block;
  cursor: pointer;
  text-align: right;
}
.close-cross i.fas{
  font-size: 24px;
  color: #444;
}
.form-content{
  padding: 0;
  margin: 0;
}
.form-success{
  display: none;
}
.farewell{
  text-align: center;
  font-size: 18px;
  margin-top: 0;
  margin-bottom: 25px;
}
.emoji{
  width: 64px;
  height: 64px;
  margin: 0 auto 20px auto;
}
#sign-up-days-checkboxes-wrapper,
#days-checkboxes-wrapper{
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding: 5px 0 0 0;
}
.day-name{
  display: block;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  padding: 0;
  margin: 0;
  text-align: center!important;
}

/* Media */
@media (max-width: 1000px){
  .padded{
    padding: 50px 15px;
  }
  #header-logo{
    width: 250px;
  }
  #intro{
    max-width: 450px;
  }
  #reference-slider-bg{
    width: calc(100% - 30px);
    left: 15px;
  }
	#slider-control-left{
    left: 20px;
  }
  #slider-control-right{
    right:  20px;
  }
}
@media (max-width: 800px){
	.padded{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	#header-logo-intro{
		height: 550px;
		background-size: auto 550px;
		background-position: 80% 0;
	}
	#header-logo-intro-gradient.flexed{
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		height: 550px;
	}
	#header-logo{
		width: 200px;
		margin-bottom: 30px;
	}
	#intro{
		max-width: 100%;
	}
	#why-wrapper.flexed{
		flex-direction: column;
	}
	#why-1-2,
	#why-3{
		width:100%;
	}
	.icon-table.flexed img.icon-table-img{
    	margin-bottom: 15px;
  	}
	#about-demian-rus.flexed{
    	flex-direction: column;
  	}
	#about-demian-rus-left,
	#about-demian-rus-right{
		width: 100%;
	}
	#about-demian.flexed{
		flex-direction: column;
	}
	#about-demian #handwriting{
		width: 70%;
		margin: 0 auto 30px;
	}
	#about-demian img{
		width: 70%;
		margin: 0 auto;
	}
	.price-row.flexed{
		flex-direction: column;
		align-items: center;
	 }
	#contact-me-wrapper.flexed{
		flex-direction: column;
	 }
	#contact-me-pt-1 p{
		text-align: center;
	}
	#contact-me-pt-1{
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
	}
	#contact-me-pt-2{
		width: 100%;
		padding-left: 0;
	}
	#fixed-button-1,
  	#fixed-button-2,
 	#fixed-button-3,
  #contact-me-form-success,
 	#popup-forms,
 	.fixed-button{
  		width: 40px;
 	   	text-align: center;
 	 }
	 .fixed-button i.fas{
		padding: 0;
	 }
	 .fixed-button span.to-hide{
		display: none;
	 }
	#basement.flexed{
		justify-content: flex-start;
		align-items: center;
	}
	#basement-1.flexed{
		width: auto;
		min-width: 250px;
	}
	#basement-3.flexed{
		width: auto;
		min-width: 250px;
	}
}
@media (max-width: 650px){
  #why-1-2{
    padding:0;
  }
  .icon-table.flexed{
    flex-direction: row;
  }
  #how-to-pay-wrapper.padded{
    padding: 0;
  }
  #reference-slider{
    width: 80%;
  }
  #contact-me-pt-1,
  #contact-me-pt-2{
    width: 100%;
  }
  #contact-me-wrapper.flexed{
    flex-direction: column;
  }
  #popup-forms{
    height: 50px;
  }
  #fixed-button-1,
  #fixed-button-2,
  #fixed-button-3,
  #contact-me-form-success{
    float: left;
    margin: 5px;
  }
  #popup-forms{
    width: 150px;
  }
  #basement{
    padding-bottom: 70px;
  }
  #basement.flexed{
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  #basement-3.flexed{
    padding: 10px;
  }
  #basement-1.flexed,
  #basement-3.flexed{
    justify-content: flex-start;
    align-items: flex-start;
  }
}

@media (max-width: 550px){
  .padded{
    padding-top: 15px;
    padding-bottom: 15px;
  }
  #header-logo-intro{
    height: 600px;
    background-size: auto 600px;
  }
  #header-logo-intro-gradient.flexed{
    height: 600px;
  }
  #header-logo-intro-gradient.flexed h1#main-header{
    font-size: 36px;
    line-height: 36px;
  }
  #header-logo{
    width: 170px;
    margin-bottom: 20px;
  }
  #header-top-contact.flexed{
    height: 80px;
	}
  #header-top-contact.flexed #tel-email a{
    display: block;
    margin: 7px 0;
  }
  #header-top-contact.flexed #tel-email a i{
    padding: 0 5px;
  }
  #about-demian #handwriting{
    width: 90%;
  }
  #about-demian img{
    width: 100%;
  }
  #prices.padded{
    padding-bottom: 30px;
  }
  #contact-me-pt-2 #contact-me-form #contact-me-form-left{
    padding: 20px 20px 0 20px;
  }
  #contact-me-pt-2 #contact-me-form #contact-me-form-right textarea{
    min-height: 80px;
  }
  #contact-me-pt-2 #contact-me-form #contact-me-form-right{
    padding: 0 20px 20px 20px;
  }
  #contact-me-pt-2 #contact-me-form #contact-me-form-left,
  #contact-me-pt-2 #contact-me-form #contact-me-form-right{
    width: 100%;
    float: none;
  }
  #reference-slider-bg{
  }
  .slider-control{
    display: block;
    width: 36px;
    height: 36px;
    font-size: 24px;
    line-height: 30px;
    border: 3px solid #ddd;
  }
  #slider-control-left{
      left: 0;
  }
  #slider-control-right{
      right: 0;
  }
}
@media (max-width: 350px){
  #header-logo-intro{
    background-position: 75% 0;

  }
  #header-logo-intro-gradient.flexed h1#main-header{
    font-size: 30px;
    line-height: 30px;
  }
  #header-top-contact.flexed{
    flex-direction: column;
    height: 140px;
    justify-content: flex-start;
    align-items: flex-start;
  }
  #header-top-contact.flexed #social{
    margin: 7px 0;
  }
  #header-top-contact.flexed a{
    text-align: left;
  }
  .icon-table.flexed{
    flex-direction: column;
  }
}
/* ===== FIX: popup forms scrollable (mobile + desktop) ===== */

/* overlay */
.fixed-form-outer-wrapper{
  position: fixed;
  inset: 0;
  overflow: hidden;
  z-index: 99999;
}

/* contenitore del popup */
.fixed-form-inner-wrapper{
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);

  width: min(720px, 92vw);
  max-height: 92vh;        /* IMPORTANT */
  overflow-y: auto;        /* IMPORTANT */
  -webkit-overflow-scrolling: touch;

  padding-bottom: 20px;    /* un po’ di spazio sotto */
}

/* se il tuo form sta dentro .form-content, rendilo scrollabile */
.form-content{
  max-height: 80vh;        /* lascia spazio a titolo/chiusura/success */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* extra: su schermi piccoli */
@media (max-width: 600px){
  .fixed-form-inner-wrapper{
    width: 94vw;
    max-height: 94vh;
  }
  .form-content{
    max-height: 82vh;
  }
}

#blog-link{
  margin-left:auto;
}

#tel-email a{
  margin-right:20px;
}

/* =========================
   MOBILE MENU
========================= */

.mobile-menu-btn {
  display: none;
  background: none;
  border: none;
  font-size: 24px;
  color: white;
  cursor: pointer;
}

/* menu dropdown */
.mobile-menu {
  display: none;
  position: absolute;
  top: 40px;
  left: 0;              /* <-- invece di right */
  width: 100%;
  background: #ffffff;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.15);
  z-index: 1000;
}

/* link menu */
.mobile-menu a {
  display: block;
  padding: 14px 16px;
  text-decoration: none;
  color: #000 !important;   /* forza nero */
  font-weight: 600;
  border-bottom: 1px solid #eee;
}

/* ultimo link */
.mobile-menu a:last-child {
  border-bottom: none;
}

/* hover */
.mobile-menu a:hover {
  background: #f5f5f5;
  color: #000;
}

/* stato aperto */
.mobile-menu.open {
  display: block;
}

/* desktop links */
.desktop-links {
  display: flex;
  gap: 15px;
}

/* =========================
   MOBILE
========================= */

@media (max-width: 620px) {

  .desktop-links {
    display: none;
  }

  .mobile-menu-btn {
    display: block;
  }

}
/* =========================
   FOOTER FIX + LEGAL LINKS
========================= */

footer{
  width:100%;
  margin:0;
  padding:0;
}

#basement{
  width:100%;
  max-width:none;
  margin:0;
  padding:24px 20px;
  box-sizing:border-box;
  background-color:#222;
}

#basement.flexed{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
}

#basement-1,
#basement-3{
  box-sizing:border-box;
}

#basement-1{
  width:auto;
  min-width:260px;
}

#basement-3{
  width:auto;
  flex:1;
}

#basement-legal{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:14px;
}

#basement-legal a{
  color:#b3392a;
  text-decoration:none;
  font-size:16px;
  line-height:1.4;
}

#basement-legal a:hover{
  color:#a61505;
  text-decoration:underline;
}

/* mobile */
@media (max-width: 650px){
  #basement{
    width:100%;
    padding:24px 16px 28px;
  }

  #basement.flexed{
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    gap:18px;
  }

  #basement-1,
  #basement-3{
    width:100%;
    min-width:0;
    padding:0;
    margin:0;
  }

  #basement-1.flexed,
  #basement-3.flexed{
    width:100%;
    align-items:flex-start;
    justify-content:flex-start;
  }

  #basement a.basement-contacts{
    padding:4px 0;
    word-break:break-word;
  }

  #basement-legal{
    width:100%;
    margin-top:8px;
    gap:10px 14px;
  }

  #basement-legal a{
    font-size:15px;
  }
}
/* =========================
   FOOTER MOBILE FINAL FIX
========================= */

footer{
  width:100%;
  margin:0;
  padding:0;
}

#basement{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:24px 16px !important;
  box-sizing:border-box;
  background:#222;
}

#basement.flexed{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
}

#basement-1,
#basement-3{
  width:auto;
  min-width:0;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box;
}

#basement-1.flexed{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
}

#basement-3.flexed{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
}

#basement a.basement-contacts{
  display:block;
  padding:4px 0 !important;
  margin:0;
  word-break:break-word;
}

#basement-legal{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-top:10px;
  padding:0;
}

#basement-legal a{
  color:#b3392a;
  text-decoration:none;
  font-size:15px;
  line-height:1.4;
}

#basement-legal a:hover{
  text-decoration:underline;
}

@media (max-width: 650px){
  #basement.flexed{
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    gap:18px !important;
  }

  #basement-1,
  #basement-3,
  #basement-1.flexed,
  #basement-3.flexed{
    width:100% !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  #basement-legal{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    margin-top:6px;
  }

  #basement-legal a{
    display:block;
  }
}