html {-webkit-text-size-adjust: 100%;}
body {margin: 0; padding: 0; font-family: "Helvetica Neue","Helvetica","Arial",sans-serif; -webkit-font-smoothing: antialiased;}

.title {font-size: 45px; font-weight: 500; margin: 0; padding: 0; letter-spacing: -0.4px; line-height: 1.1; margin-bottom: 30px;}
.subtitle {font-size: 17px; line-height: 1.5; margin-top: 15px; color: #999;}
.text {line-height: 1.5; font-weight: normal; font-size: 17px; color: #333;}

b {font-weight: 600;}
i.f7-icons {font-size: 17px;}
a {color: #B10755; text-decoration: none;}
.col-100 {max-width: 700px; margin-left: auto; margin-right: auto;}
.in {padding: 70px 40px 70px 40px;}
.in-right {padding-top: 115px;}

a.button, button.button {cursor: pointer; border: 0px; text-decoration: none; padding: 10px 20px; border-radius: 30px; color: #fff; background-color: #B10755; font-weight: 400; font-size: 17px; white-space: nowrap;}
.center a.button {display: block; max-width: 150px; margin-top: 15px; margin-left: auto; margin-right: auto;} 
a.button.button-black {background-color: transparent; border: 2px solid #000; color: #000;}

@media only screen and (max-width: 680px) {
	.in {padding: 30px 20px 30px 20px;}
	.in-right {padding-top: 30px;}
	a.button, button.button, .subtitle {font-weight: 400; font-size: 19px;}
}

/* main */
body, div {font-size: 17px;}

/* menu */
.header-big {height: 44px; background-color: #000; color: #fff; display: inherit;}
.header-big a, .header-small a {color: #fff; text-decoration: none;}
.header-big a {padding-left: 15px; padding-right: 15px; display: inline-block; height: 44px;}
.header-big a:hover {background-color: #B10755;}
.header-big :last-child {margin-right: 0px;}
.header-small {height: 48px; background-color: #000; color: #fff; display: none;}
.header-big a.menu-icon {padding: 0 5px 0 5px;}
.header-big a.menu-icon i {font-size: 21px;}
.header-big a.menu-icon:hover {background-color: transparent;}

.menu {display:none; position: fixed; left: 0; top: 0; background-color: #000; color: #fff; height: 100%; width: 100%; overflow-y: auto; z-index: 999;}
.menu ul li {border-bottom: 1px solid #444;}
.menu li.at_home {display:none;}
.menu ul {list-style-type: none; padding-left: 20px; padding-bottom: 20px; padding-top: 20px; padding-right: 20px; max-width: 600px; margin-left: auto; margin-right: auto;}
.menu a {color: #fff; width: 100%; display: inline-block; padding: 15px 5px;}
.close {padding: 10px 0 0 20px; background-color: #000; position: fixed; right: 20px; top: 5px;}

@media only screen and (max-width: 680px) {
	.header-big {display: none;}
	.header-small {display: inherit;}
	.close {text-align: left;}
	.menu li.at_home {display:block;}
}

.submenu {display:none; position: absolute; left: 0; top: 44px; background-color: #000; color: #fff; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; min-width: 200px; border-top: 1px solid #444;}
.submenu ul li {line-height: 44px;}
.submenu li.at_home {display:none;}
.submenu ul {list-style-type: none; padding-left: 0px; padding-right: 30px; margin-top: 10px; margin-bottom: 10px;}
.submenu a {color: #fff; width: 100%; display: inline-block; height: 44px; padding: 0px 0px 0px 30px;}
.submenu a:hover, .submenu a:active {background-color: #B10755;}
.menu-selected {background-color: #B10755;}


/* content */
p {margin: 0; line-height: 1.5; }
h1 {font-size: 65px; font-weight: 500; margin: 0; padding: 0; letter-spacing: -0.4px; line-height: 1;}
h1.short {max-width: 600px; margin-left: auto; margin-right: auto;}
h5 {font-size: 17px; font-weight: 500; margin: 0; padding: 0; letter-spacing: -0.4px; padding-bottom: 10px;}
.block-1 {text-align: center; max-width: 1108px; margin-left: auto; margin-right: auto; padding: 100px 20px 70px 20px;}
p.center {max-width: 600px; margin-left: auto; margin-right: auto; padding-top: 40px; padding-bottom: 40px;}
.block-1 table td {font-weight: 500; vertical-align: bottom;}
.block-1 table {width: 500px; margin-left: auto; margin-right: auto;}
@media only screen and (max-width: 680px) {.block-1 table {width: 100%;} h1 {font-size: 45px;} .block-1 {padding-top: 40px; padding-bottom: 40px;} p.center {padding-top: 40px; padding-bottom: 20px;}}
img.fullscreen {width: 100%; margin-top: 20px;}
.space-after {margin-bottom: 40px;}

.block-0 {margin-left: 20px; margin-right: 20px; padding: 70px 40px 70px 40px; max-width: 1108px;}
.block-full {padding-left: 0; padding-right: 0; padding-top: 0px; padding-bottom: 0px; margin-left: 0; margin-right: 0;}
@media only screen and (min-width: 1108px) {.block-0 {margin-right: auto; margin-left: auto;} .block-full {max-width: 1188px;} }

.block-tiny {padding-top: 30px; padding-bottom: 40px;}
.block-0 :last-child {padding-bottom: 0px;}
.block-1 :last-child {padding-bottom: 0px;}
.block-gray {background-color: #F8F8F8; }
.block-gray-dark {background-color: #E8E8E8; }
h2 {font-size: 45px; font-weight: 500; margin: 0; padding: 0; letter-spacing: -0.4px; line-height: 1.1;}
h2.left {width: 50%; max-width: 500px; min-width: 400px; padding-bottom: 30px;}
p.left {width: 50%; max-width: 500px; min-width: 400px; padding-bottom: 20px;}
@media only screen and (max-width: 680px) {
	h2 {font-size: 35px;}
	h2.left {max-width: 100%; min-width: auto; width: 100%;}
	p.left {max-width: 100%; min-width: auto; width: 100%; }
	.block-0 {margin-left: 0px; margin-right: 0px; padding: 30px 20px 30px 20px;}
	.block-full {padding: 0px;}
}
.col-4 {width: 33.33%; float: left; box-sizing: border-box;}
.col-5 {width: 50%; float: left; box-sizing: border-box;}
.col-truncate {}
.col-8 {width: 66.66%; float: left; box-sizing: border-box;}
div.row:after {content: ""; clear: both; display: table;}

div.under-image {padding-top: 30px;}
.col-left {font-weight: 500; padding-right: 20px;}
.col-left p {max-width: 300px;}
.col-right {padding-left: 20px;}
.col-right p {max-width: 700px;}

@media only screen and (max-width: 680px) {.col-truncate {width: 100%;} .col-8 {width: 100%;} .col-left {padding-right: 0px; padding-bottom: 10px;} .col-left p {max-width: 100%;} .col-right {padding-left: 0px;} .col-right p {max-width: 100%;} }

.block-nature {padding: 70px 40px 70px 60px; height: 700px;}
.block-nature p, .block-nature h2 {color: #fff;}

@media only screen and (max-width: 680px) {p.photo-descr {padding-top: 10px;} .block-nature {padding: 30px 20px 30px 20px; height: 400px;} .block-nature p.left {} }

.footer {background-color: #000; padding: 70px 60px 70px 60px; margin-top: 40px;}
.footer p {color: #888; font-size: 13px;}
.footer p.links {padding-top: 10px;}
.footer a {color: #fff; margin-right: 5px; margin-left: 5px;}
.footer p.links :first-child {margin-left: 0px;}
.footer-content a {color: #888; text-decoration: underline; margin-left: 0px;}

@media only screen and (max-width: 680px) {.footer {padding: 30px 20px 30px 20px;}}

div.collage {margin-top: 20px;}
div.collage div:first-child {padding-right: 20px;}
div.collage div:last-child {padding-left: 20px;}

@media only screen and (max-width: 680px) {div.collage {margin-top: 0px;} div.collage div:first-child {padding-right: 5px;} div.collage div:last-child {padding-left: 5px;}}

h2.full {width: 70%; max-width: 700px; min-width: 600px; margin-left: auto; margin-right: auto; padding-bottom: 30px;}
p.full {width: 70%; max-width: 700px; min-width: 600px; margin-left: auto; margin-right: auto; padding-bottom: 20px; text-align: left;}
.photo-descr {font-size: 13px;}
p.photo-descr {padding-top: 20px; padding-bottom: 0px;}

p.photo-descr.full {padding-top: 0px;}

@media only screen and (max-width: 680px) {
	h2.full {max-width: 100%; min-width: auto; width: 100%;}
	p.full {max-width: 100%; min-width: auto; width: 100%;}
}

a.wbtn {background-color: #B10755; color: #fff; padding: 7px 30px; border-radius:30px;}
img.logo {margin-top: 10px; width: 100%; max-width: 575px;}
img.logo-small {max-width: 160px; margin-bottom: 15px;}
div.logo {padding: 0px 20px;}
div.logo a {text-decoration: none;}
div.logo-new {background: url('assets/logo@2x.jpg?4');background-size: contain; min-height: 125px; background-position: center; background-repeat: no-repeat;}

@media only screen and (max-width: 680px) {img.logo {margin-bottom: 0px;} img.logo-small {margin-bottom: 15px;}
div.logo-new {background: url('assets/logo-square@2x.jpg?4'); min-height: 252px; background-size: contain; background-position: center; background-repeat: no-repeat; }
}

.col-image {width: 40%; float: left; box-sizing: border-box;}
.col-image img {width: 100%; max-width: 350px; border-radius: 13px;}
.col-text {width: 60%; float: left; box-sizing: border-box; padding-left: 15px;}

.row-full {width: 100%; max-width: 900px; margin-right: auto; margin-left: auto;}
.row-full p {padding-top: 20px; padding-bottom: 30px;}
@media only screen and (max-width: 680px) {.row-full {max-width: 100%; min-width: auto; width: 100%;} .col-image {width: 100%; padding-bottom: 20px;} .col-text {width: 100%; padding-left: 0px;}}

tr.digits td {font-size: 60px; font-weight: 500;}
tr.digits td.digit {color: #fff; background-color: #000; padding: 0px 15px;}
table.countdown {}
tr.text td {font-weight: normal;}
@media only screen and (max-width: 680px) {table.countdown {width: auto; margin-top: 20px; margin-bottom: 10px;} tr.digits td {font-size: 40px;} tr.digits td.digit {padding: 0px 5px;}  tr.text td {font-size: 13px; padding-top: 5px;}  }

p.super_text b {font-weight: bold;}
body.noscroll {overflow: hidden; position:fixed;}

.midx {max-width: 300px; padding-right: 40px; margin-left: auto; margin-right: auto; margin-top: 20px;}
.midx h2 {margin-bottom: 20px;}
@media only screen and (max-width: 680px) {.midx {max-width: 100%;} }


/* loading bar */

.progress {
  margin-top: 45px;
  margin-bottom: 35px;
  background: #BBB;
  justify-content: flex-start;
  border-radius: 100px;
  align-items: center;
  position: relative;
  padding: 0 5px;
  display: flex;
  height: 40px;
  width: 100%;
  box-sizing: border-box;
  max-width: 350px;
  margin-left: auto;
  margin-right: auto;
}

#progress-info {
  line-height: 1.5;
  max-width: 350px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.progress-back {
  margin-top: 40px;
}

.progress-text {
  position: absolute;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
  white-space: nowrap;
  font-weight: bold;
  margin-top: -1px;
}

.progress-value {
  position: absolute;
  transition: all 2s;
  box-shadow: 0 10px 40px -10px #000;
  border-radius: 100px;
  background: #B10755;
  height: 30px;
  width: calc(10% - 10px);  
}

.fireworks {
  position: fixed;
  left: 0;
  top: 46px;
  width: 100%;
  height: calc(100% - 46px);
  display: none;
}

.places-list {
  display: flex;
  justify-content: stretch;
  flex-wrap: wrap;
  gap: 15px;
}
.place {width: calc(25% - 15px); margin-top: 15px;}
.place-img {background-size: cover; background-position: center; border-radius: 25px; width: 100%; aspect-ratio: 1; cursor: pointer;}
.place a.button {max-width: 200px; overflow: hidden;}
.place-title {margin-top: 20px; text-align: center; margin-bottom: 30px;}
.place-descr {font-size: 13px; text-align: center; line-height: 15px; min-height: 15px; max-height: 15px; overflow: hidden; margin-top: 10px;}

p.center + div.progress {margin-top: 0px;}

@media only screen and (max-width: 680px) {
  .place {width: calc(50% - 15px); flex-grow: 1;}
  .place a.button {font-size: 14px;}
  p.center + div.progress {margin-top: 15px;}
}
