

/* Start:/local/templates/astoria/components/bitrix/menu/template1/style.min.css?1685449644490*/
ul.left-menu{list-style:none;margin:0;padding:0;margin-bottom:8px;position:relative}ul.left-menu li{padding:10px 16px;background:#f5f5f5 url(/local/templates/astoria/components/bitrix/menu/template1/images/left_menu_bg.gif) top repeat-x}ul.left-menu li a{font-size:100%;color:#bc262c;font-weight:bold;text-decoration:none}ul.left-menu li a:visited{color:#bc262c}ul.left-menu li a:hover{color:#bc262c}ul.left-menu li a.selected:link,ul.left-menu li a.selected:visited,ul.left-menu li a.selected:active,ul.left-menu li a.selected:hover{color:#fc8d3d}
/* End */


/* Start:/local/templates/astoria/styles.css?168544964432392*/
@import url('https://fonts.googleapis.com/css?family=Montserrat&display=swap');
/* FONTS */
/*
@font-face {
    font-family: Mont;
    font-weight: 100;
    font-style: normal;
    src: url('/fonts/Mont-Thin.ttf');
}

@font-face {
    font-family: Mont;
    font-weight: 200;
    font-style: normal;
    src: url('/local/templates/astoria/fonts/Mont-ExtraLight.ttf');
}

@font-face {
    font-family: Mont;
    font-weight: 400;
    font-style: normal;
    src: url('/local/templates/astoria/fonts/Mont-Regular.ttf');
}

@font-face {
    font-family: Mont;
    font-weight: 600;
    font-style: normal;
    src: url('/local/templates/astoria/fonts/Mont-SemiBold.ttf');
}

@font-face {
    font-family: Mont;
    font-weight: 700;
    font-style: normal;
    src: url('/local/templates/astoria/fonts/Mont-Bold.ttf');
}

@font-face {
    font-family: Mont;
    font-weight: 800;
    font-style: normal;
    src: url(/local/templates/astoria/fonts/Mont-Heavy.ttf);
}

@font-face {
    font-family: Mont;
    font-weight: 900;
    font-style: normal;
    src: url(/local/templates/astoria/fonts/Mont-Black.ttf);
}
*/
/* GLOBAL */
body, html {
    height: 100%;
}

html {
    scroll-behavior: smooth;
}

body {
    position: relative;
    min-width: 320px;
    margin: 0 !important;
}

body {
    line-height: normal;
    font-family: Mont, sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: #222931;
}

h1 {
    font-size: 48px;
}

h2 {
    font-size: 30px;
}

h3 {
    font-size: 18px;
}

p {
    letter-spacing: 0.3px;
    word-spacing: 2px;
    line-height: 1.6;
}

ruble:before {
    content: '₽';
    font-family: Arial, sans-serif;
}

object {

}

nav ul {
  list-style-type: none;
  text-align: center;
  font-weight: bold;
}

nav ul a {
    text-decoration: none;
}

form input[type="text"],
form input[type="date"],
form input[type="email"],
form select,
form textarea {
    padding: 0px 30px;

    background-color: rgb(238, 241, 248);
    color: rgb(140, 142,147);


    border: #666 1px none;
    border-radius: 30px;
    outline: 0;

    box-sizing: border-box;
    width: 100%;
}

form input[type="text"],
form input[type="date"],
form input[type="email"],
form select {
    height: 60px;
}

form textarea {
    padding-top: 20px;
}

form input::placeholder {
    color: rgb(140, 142, 147);
}

a > span {
    margin-left: 8px;
}

button > object + span,
button > img + span {
    margin-left: 8px;
}

.card {
    background: white;
    box-shadow: 0 15px 30px rgba(187, 197, 208, 0.3);
    border-radius: 6px;
}

.btn {
    display: inline-flex;

    /* display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox; */

    background-color: #cb1212;
    color: #fff;

    height: 60px;
    max-width: 100%;

    padding-left: 30px;
    padding-right: 30px;

    font-size: 14px;
    font-weight: 700;

    border: none;
    border-radius: 70px;
    -webkit-border-radius: 70px;

    text-decoration: none;
    outline: 0;
    cursor: pointer;

    transition: all .4s;
    -webkit-transition: all .4s;
    -o-transition: all .4s;

    align-items: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;

    text-align: center;

    justify-content: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;

    user-select: none
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.btn:hover {
    text-decoration: none;
    outline: 0;
    color: #fff;
    background-color: #b20f0f
}

.btn.btn-transparent {
    background-color: #ffffffff;
    box-shadow: 0 4px 8px 0 #00000040;
    color: #404144;
    border-radius: 4px;
}

.panel {

}

.panel-navs {
    margin-bottom: 30px;
}

.panel-nav {
    position: relative;
}

.panel-nav.active:before {
    content: '';
    position: absolute;
    display: block;
    width: 28px;
    height: 28px;
    background: #fff;
    left: 50%;
    top: 100%;
    margin-top: 16px;
    transform: translate(-50%, 0%) rotate(45deg);
}

#nav1.panel-nav.active button {
    background-color: rgb(82, 172, 98);
    color: white;
}

#nav2.panel-nav.active button {
    background-color: rgb(250, 180, 52);
    color: white;
}

.panel-nav.active img {
    filter: invert(1);
}

.panel-nav.active span {
    /* text-decoration: underline; */
    color: white;
}

.panel-nav {
    display: inline-block;
    margin-top: 10px;
    margin-right: 20px;
}

.panel-tab {
    display: none;
}

.panel-tab.active {
    display: block;
}

.btn.btn-yellow {
    background-color: rgb(250, 200, 52);
    box-shadow: 0 10px 25px rgba(250, 210, 62, 0.3);
}

.btn.btn-yellow:hover {
    background-color: rgb(250, 180, 52);
    box-shadow: 0 10px 20px rgba(250, 210, 62, 0.5);
}

.btn.btn-green {
    background-color: rgb(40, 180, 80);
    box-shadow: 0 10px 25px rgba(40, 180, 80, 0.3);
}

.btn.btn-green:hover {
    background-color: rgb(82, 172, 98);
    box-shadow: 0 10px 20px rgba(90, 180, 106, 0.5);
}

.btn.btn-white {
    background-color: white;
    box-shadow: 0 10px 20px rgba(187, 197, 208, 0.3);
    color: black;
}

.btn.btn-white:hover {
    background-color: rgb(247, 247, 247);
    box-shadow: 0 10px 20px rgba(187, 197, 208, 0.5);
}

.btn.btn-inactive {
    color: black;
    background-color: rgb(247, 247, 247, 0.2);
    box-shadow: 0 5px 10px rgba(187, 197, 208, 0.3);
}

.btn.btn-inactive:hover {
    color: black;
    background-color: rgb(247, 247, 247, 0.2);
    box-shadow: 0 10px 20px rgba(187, 197, 208, 0.3);
}

.btn-left {
    padding-left: 25px;
    padding-right: 25px;
}

.btn-left.btn-white:hover,
.btn-right.btn-white:hover {
    color: white;
    background-color: rgb(40, 180, 80);
    box-shadow: 0 10px 25px rgba(40, 180, 80, 0.3);
}

.btn-left:before {
    content: "\02190";
}

.btn-right {
    padding-left: 25px;
    padding-right: 25px;

    margin-left: 10px;
}

.btn-right:before {
    content: "\02192";
}

.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    box-shadow: 0px 5px 5px 0px rgba(100, 100, 100, 0.2);
    z-index: 100;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown:hover .dropdown-target {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: 0px 5px 5px 0px rgba(100, 100, 100, 0.2);
}

.dropdown-content {
    box-sizing: border-box;
    padding: 0 20px 20px 20px;
    background-color: rgb(238,241, 248);
    width: calc(100% - 10px);

    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
}

.dropdown-content .input-number {
    float: right;
}

.dropdown-content label {
    color: rgb(140, 142,147);

    float: left;
    margin-top: 10px;
    height: 40px;
}

.dropdown-content div + div {
    margin-top: 10px;
}

.dropdown-content .clearfix {
    height: 10px;
}

input {
    font-size: 14px !important;
}

input::placeholder {
    font-size: 14px !important;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    border-radius: 15px;
    border: none;
    text-align: center;
    font-weight: bold;
    outline: 0;
    height: 40px;
    width: 120px;
    font-size: 16px;
}

.input-number {
    position: relative;
}

.input-number button {
    border-radius: 20px;
    border: none;
    height: 30px;
    width: 30px;
    background-color: rgb(90, 180, 106);
    outline: none;
    color: white;
    font-weight: 900;
}

.input-number .minus {
    position: absolute;
    left: 5px;
    top: 5px;
}

.input-number .plus {
    position: absolute;
    right: 5px;
    top: 5px;
}


.mini-slider {
    position: relative;
}

.mini-slider img {
    position: absolute;
    width: 100%;
    transition: opacity 1s ease-in-out;
}

.mini-slider-nav {
    position: absolute;
    right: 15px;
    bottom: 20px;

    display: flex;
}

.btn-mini {
    background-color: white;
    color: black;
    text-decoration: none;
    border: none;
    outline: none;
    cursor: pointer;
}

.btn-mini-left {
    padding-left: 15px;
    padding-right: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom-left-radius: 20px;
    border-top-left-radius: 20px;
}

.btn-mini-left:hover {
    background-color: rgb(238, 240, 244);
}

.btn-mini-left:before {
    content: "\02190";
}

.btn-mini-right {
    padding-right: 15px;
    padding-left: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom-right-radius: 20px;
    border-top-right-radius: 20px;
}

.btn-mini-right:hover {
    background-color: rgb(238, 240, 244);
}

.btn-mini-right:before {
    content: "\02192";
}

.container {
    width: 1180px;
    max-width: 100%;
    margin: 0 auto
}

.background {
    background-color: rgb(238, 241, 248);
}

.foreground {
    background-color: rgb(246, 248, 253);
}

.invert {
    background-color: rgb(36, 42, 50);
    color: #eef1f8;
}

.invert a {
    color: #eef1f8;
}

.fixed {
    position: fixed;
    z-index: 2;
}

/* sticky */
#navbar {
  overflow: hidden;
  z-index: 2;

  box-shadow: 0px 1px 5px 0px #5a5a5aba;
}

.sticky {
  position: fixed;
  top: 0;
  width: 100%;
}

.sticky + .content {
  margin-top: 112px;
}

#calculator,
#advantages,
#fond,
#about,
#promo,
#reviews,
#location {
  position: relative;
}

#calculator-anchor,
#advantages-anchor,
#fond-anchor,
#about-anchor,
#promo-anchor,
#reviews-anchor,
#location-anchor {
  position: absolute;
}

#calculator-anchor {
  top: -140px;
}

#advantages-anchor {
  top: 0px;
}

#fond-anchor {
  top: -100px;
}

#about-anchor {
  top: -100px;
}

#promo-anchor {
  top: -140px;
}

#reviews-anchor {
  top: -140px;
}

#location-anchor {
  top: -110px;
}

/* end of sticky */

.header-top {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 5px;
}

.header-top > div {
    display: inline-block;
}

.header-top > div + div {
    margin-left: 28px;
}

.header-top a {
    text-decoration: none;
}

.header-top object + *,
.header-top img + * {
    margin-left: 5px;
}

.header-top div > img,
.header-top div > object {
    float: left;
    height: 18px;
}

.header-top .callback {
    float: right;
    text-decoration: underline;
}

.header-bottom {
    background-color: rgb(238, 241, 248);

    padding-top: 20px;
    padding-bottom: 20px;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-bottom > div {
    display: inline-block;
}

.header-bottom .logo {
    font-weight: bold;
}

.header-bottom .logo img {
    float: left;
}

.header-bottom .logo span {
    float: left;
    font-size: 16px;
    padding-top: 16px;
    padding-left: 20px;
}

.header-bottom .nav {
    padding: 0;
    margin: auto 0;
}

.header-bottom .nav ul {
    padding: 0;
    margin: 0;
}

.header-bottom .nav ul li {
    display: inline-block;
    margin: 5px 15px;
}

.header-bottom .nav ul li:first-child {
    margin-left: 0
}

.header-bottom .nav ul li a {
    font-weight: bold;
    color: #242a32;
}

.header-bottom .nav ul li a:hover {
    text-decoration: underline;
}

.header-bottom .callback {
    float: right;
}

.main {
    position: relative;
    color: white;
}

.main-background {
    position: relative;
    min-height: 600px;
    max-height: 600px;
}

.main-background img {
    position: absolute;
    width: 100%;
    min-height: 600px;
    max-height: 600px;

    object-fit: cover;
    transition: opacity 1s ease-in-out;
    filter: brightness(0.5) grayscale(0.2);
}

.scroll-tip {
    position: absolute;
    top: 50%;
    left: -20%;
}

.scroll-tip span {
    transform: rotate(-90deg);
    transform-origin: left;
    display: block;
    padding-left: 80px;
    padding-top: 15px;
}

.main-center {
    position: absolute;
    top: 25%;
    width: 90%;
    max-width: 960px;
}

.main-center h1 {
    font-weight: bold;
    font-size: 48px;
    margin: 0;
}

.main-center h2 {
    font-size: 24px;
    margin-bottom: 0;
}

.main-center p {
    font-size: 24px;
    margin:  0 0 10px  0;

    margin-block-start: 28px;
    margin-block-end: 28px;
}

.main-center nav {
    float: right;
}

.relative {
    position: relative;
}

.main-bottom {
    z-index: 1;
    position: absolute;
    left: 0%;
    width: 100%;
    top: -150px;
}

.main-bottom h2 {
    color: white;
}

.calculator {

}

.calculator .card {
    padding: 45px 38px 45px 38px;
}

.calculator-form {
    display: block;
}

.calculator-form .form-item {
    width: 25%;
    float: left;
}

.calculator-form .form-item {
    padding: 5px;
    box-sizing: border-box;
}

.date-from {
    background-image: url('/local/templates/astoria/img/icon/date-from.svg');
    background-position: 90%;
    background-repeat: no-repeat;
}

.date-to {
    background-image: url('/local/templates/astoria/img/icon/date-to.svg');
    background-position: 90%;
    background-repeat: no-repeat;
}

.ui-widget {
    font-family: Mont, sans-serif !important;
    font-weight: 500;
}

.ui-widget-header {
    border: none !important;
    background: white !important;
}

.ui-datepicker-calendar {
    font-weight: 500 !important;
}

.ui-datepicker td a {
    text-align: center !important;
}

.ui-state-default, 
.ui-widget-content .ui-state-default {
    border: 1px solid #c5c5c538 !important;
    background: white !important;
    font-weight: 500 !important;
    color: #454545 !important;
}

.guests-count {
  background-image: url(/local/templates/astoria/img/icon/user.svg);
  background-position: 90%;
  background-repeat: no-repeat;
}

.input object,
.input img {
    position: absolute;
}

.input {
    width: 100%;
}

form object,
form img {
    padding: 0px;
    min-width: 15px;
}

.advantages {
    background-color: rgb(238, 241, 248);
    padding-top: 180px;
    padding-bottom: 80px;

    counter-reset: advantages;
}

.advantages-header {
    text-align: center;
}

.advantages-delimeter {
    height: 3px;
    width: 77px;
    background-color: rgb(90, 180, 106);
    margin: 32px auto;
}

.advantages-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.adv-card {
    box-sizing: border-box;

    /* margin: 0 20px; */
    padding: 35px 30px;

    border-radius: 8px;

    flex-basis: 23%;

    position: relative;
    counter-increment: advantages;
}

.adv-card img {
    height: 48px;
}

.adv-card:hover {
    color: white;
    background-color: rgb(60, 180, 100);
}

.adv-card:hover img {
    filter: saturate(0%) brightness(0%) invert(1);
}

.adv-card:hover.adv-card:after {
    position: absolute;
    right: 10px;
    bottom: -17px;

    content: '0'counter(advantages);

    font-size: 50px;
    font-weight: 900;
    color: rgb(57, 164, 84);
}

.adv-card h3 {
    font-size: 18px;
}

.adv-card p {
    font-size: 14px;
}

.fond {
    padding-top: 40px;
    padding-bottom: 40px;
}

.fond p {
    font-size: 16px;
    margin: 0;
}

.fond form {
    margin: 30px 0;
}

.fond label,
.gallery label {
    margin-right: 40px;
    margin-top: 4px;
    margin-bottom: 4px;
}

.fond footer,
.gallery footer {
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 30px;
}

.rooms {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.room {
    flex-basis: 30%;
    margin-bottom: 30px;

    position: relative;
}

.room .bestseller {
    position: absolute;
    z-index: 1;
    right: 10px;
    top: -15px;
}

.bestseller {
    background-color: rgb(60, 180, 100);
    color: white;

    padding: 5px 10px;
    border-radius: 15px;
}

.bestseller img,
.bestseller object {
    float: left;
}

.bestseller span {
    float: left;
    margin: 0 10px;

    font-size: 12px;

    line-height: 20px;
    vertical-align: middle;
}

.room-image {
    width: 100%;
    height: 250px;
}

.room object,
.room img {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    height: 250px;
    object-fit: cover;
}

.room-details {
    margin-left: 30px;
    margin-right: 30px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.room-options div {
    display: inline-block;
}

.advantage-item {
    margin-right: 10px;
    margin-top: 2px;
    margin-bottom: 2px;
}

.advantage-item img,
.advantage-item object {
    vertical-align: middle;
}

.advantage-item span {
    vertical-align: middle;
}

.room-price-offer {
    color: rgb(40, 190, 100);
    font-size: 16px;
    font-weight: 800;

    padding-top: 25px;
}

.room-price {
    font-size: 28px;
    font-weight: 900;

    letter-spacing: 1px;

    margin-left: 10px;
    margin-right: 5px;
}

.room-actions {
    display: flex;
    flex-direction: column;
}

.room-calc-price {
    margin-top: 30px;
    margin-bottom: 30px;
}

.room-calc-price,
.room-details-link {
    margin-left: auto;
    margin-right: auto;
}

.room-details-link {
    display: block;

    color: rgb(40, 180, 80);
    text-decoration: underline;
    font-weight: 600;
}

.background-about {
    position: relative;
}

.about {
    display: flex;
}

.about-slider {
    width: 50%;
    float: left;

    position: absolute;
    height: 100%;
}

.about-slider img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-slider nav {
    position: absolute;
    bottom: 60px;
    right: 60px;
}

.about-description {
    width: 50%;
    float: right;
    padding: 20px 40px;
    box-sizing: border-box;
}

.about-action {
    padding-top: 30px;
    padding-bottom: 30px;
}

.clearfix {
    clear: both;
}

.promo-reviews {
    display: flex;
    padding-top: 80px;
    padding-bottom: 80px;
}

.promo {
    flex: 50%;
}

.promo-image {
    width: 100%;
}

.promo-details {
    margin-left: 45px;
    margin-right: 45px;
    padding-bottom: 40px;
}

.promo-form .form-item {
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
    vertical-align: middle;
}

.promo-form .form-item {
    width: 50%;
}

.promo-form .form-item-left {
    padding-right: 5px;
}

.promo-form .form-item-right {
    padding-left: 5px;
}

.promo-form .name,
.promo-form .phone {
    margin-bottom: 20px;
}

.promo-form .action {
    width: 100%;
}

.promo-form .list-link {
    display: block;
    color: rgb(90, 180, 106);

    font-size: 12px;
    font-weight: bolder;
    white-space: nowrap;
}

.col-6 {
    width: 50%;
}

.reviews {
    flex: 50%;
}

.review img {
    border-radius: 50%;
}

.author-details {
    display: inline-block;
    vertical-align: top;
    margin-left: 1em;
}

.author-details .author-date {
    display: block;

    font-size: 13px;
    color: #abb1bf;
}

.author-details .author-name {
    display: block;
    padding-top: 10px;

    font-size: 16px;
    font-weight: bolder;
}

.reviews-nav {
    float: right;
}

.reviews-action nav ul {
    display: inline-block;
    margin-block-start: 0;
    margin-block-end: 0;
    padding: 0;
}

.reviews-action nav ul a span {
    margin: 0;
    font-size: 40px;
    color: #e3e7f0;
}

.reviews-action nav ul a.selected span {
    color: rgb(40, 180, 80);
}

.gallery {
    padding-top: 80px;
    padding-bottom: 80px;
}

.gallery-title {}

.gallery-filter {
    padding: 10px 0;
}

.gallery-filter label + label {
    margin-left: 35px;
}

.gallery-showcase-render {
    padding: 30px 0;
}

.gallery-showcase {
    display: flex;
    flex-flow: column wrap;
    height: 800px;
    justify-content: space-between;
    padding: 10px 0;
}

.gallery-item {
    border-radius: 8px;
    width: 23%;
    object-fit: cover;
    cursor: pointer;

    box-shadow: 1px 1px 2px #aaa;
}

.gallery-item:hover {
    opacity: 0.95;
    box-shadow: 1px 1px 3px #666;
    transform: scale(1.01);
}

.gallery-item:nth-child(4n+1),
.gallery-item:nth-child(4n+4) {
    flex-basis: 37%;
    max-height: 37%;
}

.gallery-item:nth-child(4n+2),
.gallery-item:nth-child(4n+3) {
    flex-basis: 60%;
    max-width: 60%;
}

.location {
    background-color: rgb(246, 248, 253)
}

.location-map {
    float: right;
    width: 50%;
}

.location-info {
    float: left;
    width: 50%;

    padding-top: 60px;
    padding-bottom: 60px;
    /* center vertically
    display: flex;
    justify-content: center;
    align-items: center;
    */
}

.location .item {
    margin-bottom: 20px;
}

.location .item > img,
.location .item > object {
    float: left;
}

.location .item > div {
    display: inline-block;
    margin-left: 10px;
    margin-top: 3px;
}

.location .item-name {
    font-size: 14px;
}

.location .item-info {
    font-size: 17px;
    font-weight: bold;
}

.location .item-info.item-info-phone {
    font-size: 25px;
}

.location .location-action {
    margin-top: 30px;
}

.footer {
    display: flex;
    padding: 30px 0;
}

.footer .footer-logo,
.footer .footer-contacts,
.footer .footer-social,
.footer .footer-developer,
{
    padding-left: 5px;
    padding-right: 5px;
    box-sizing: border-box;
}

.footer a {
    color: white;
    text-decoration: none;
}

.footer-logo {
    font-size: 16px;

    padding-top: 30px;
    font-weight: bold;
    flex: 25%;
}

.footer-logo span {
    padding-top: 20px;
    float: left;
}

.footer-logo img {
    float: left;
}

.footer-contacts {
    padding-top: 30px;
    font-weight: bold;

    flex: 25%;
}

.footer-contacts img,
.footer-contacts object {
    height: 20px;
    float: left;
    margin-right: 10px;
}

.footer-social {
    padding-top: 30px;
    font-weight: bold;
    flex: 25%;
}

.btn-instagram {
    background-color: #b4955a !important;
}

.footer-developer {
    padding-top: 30px;
    text-decoration: underline;
    flex: 25%;
}

.footer-developer img {
    padding-top: 15px;
    float: right;
}

.footer-developer p {
    margin: 0;
    float: right;
}

.footer-developer a {
    font-size: 9px;
    font-decoration: underline;
}

/* mobile menu */
.nav-mobile {
    display: none;
}

.nav-mobile #close_icon {
    display: none;
}

.mobile-menu {
    display: none;
    position: fixed;
    height: 100%;
    width: 100%;
    background-color: rgb(238, 241, 248);
    z-index: 10;
}

.mobile-menu ul {
    padding: 0;
}

.mobile-menu li {
    margin: 30px 0;
}

.mobile-menu li a {
    color: black;
}

.reviews {
    margin-left: 60px;
}

@media only screen and (max-width:1260px) {
  .container {
      padding-left: 40px;
      padding-right: 40px;
      box-sizing: border-box;
  }
}

@media only screen and (max-width:980px) {
  .about-slider {
      float: none;
      width: 100%;
      min-height: 480px;
      position: relative;
  }

  .about-slider img {
      min-height: 480px;
  }

  .about-description {
      float: none;
      width: 100%;
      padding-left: 0;
      padding-right: 0;
  }


  .promo-reviews {
      flex-direction: column;
      padding-top: 30px;
      padding-bottom: 30px;
  }

  .reviews {
      margin-left: 0px;
      margin-top: 30px;
      margin-bottom: 30px;
  }

  .promo {
      flex: 100%;
  }
}

@media only screen and (max-width:912px) {
  .header-top .mail {
      display: none;
  }

  .location-info {
      float: none;
      width: 100%;
  }

  .location-map {
      width: 100%;
  }
}

.form-item .btn { width: 100%; }

@media only screen and (max-width: 860px) {
  .room {
      flex-basis: 48%;
  }

  .adv-card {
      flex-basis: 48%;
  }

  .calculator-form .form-item {
      width: 50% !important;
  }

  #advantages-anchor {
      top: 60px;
  }

  .advantages {
      padding-top: 220px;
  }
}

@media only screen and (max-width:740px) {
    .header-top .address {
        display: none;
    }

    .gallery-col {
        flex-basis: 50%;
    }
}

@media only screen and (max-width:720px) {
  .container {
      padding-left: 20px;
      padding-right: 20px;
      box-sizing: border-box;
  }
}

@media only screen and (max-width: 600px) {
  .main-background,
  .main-background img {
      min-height: 400px;
      height: 400px;
  }

  .main-center {
      top: 0%;
  }

  button.btn.btn-transparent {
      padding-left: 10px;
      padding-right: 10px;
      height: 40px;
  }

  button.btn.btn-transparent > object + span, 
  button.btn.btn-transparent > img + span {
      margin-left: 0px;
      font-size: 12px;
  }

  #calc-price-full-form .form-fields {
      flex-direction: column;
  }

  .main-center h1 {
      font-size: 38px;
  }

  .main-center p {
      font-size: 22px;
  }

  .header-bottom .nav {
      display: none;
  }

  .calculator .card {
      padding: 20px 20px 20px 20px;
  }

  .promo-details {
      margin-left: 20px;
      margin-right: 20px;
      padding-bottom: 20px;
  }

  .nav-mobile {
      display: inline-block;
      padding: 10px;
  }

  .calculator-form .form-item {
      width: 100% !important;
  }

  #advantages-anchor {
    top: 200px;
  }

  .advantages {
      padding-top: 400px;
  }

  .room {
      flex-basis: 100%;
  }

  .gallery-item {
      width: 48%;
  }

  .footer {
      flex-direction: column;
  }

  .footer .phone {
      font-size: 19px;
  }

  .footer .address {
      font-size: 12px;
  }

  .footer .mail {

  }

  .footer-developer a {
      float: left;
  }

  .footer-developer p {
      float: left;
  }
}

@media only screen and (max-width: 520px) {
  .logo span {
      display: none;
  }
}

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

  h1 {
      font-size: 30px;
  }

  .main-center p {
      font-size: 20px;
  }

  .main-center nav {
      display: none;
  }

  h2 {
      font-size: 26px;
  }

  .adv-card {
      flex-basis: 100%;
  }

  .fond form {
      margin: 15px 0;
  }

  .about-slider img {
      min-height: 380px;
  }

  .promo-form .form-item {
      width: 100%;

      padding-bottom: 15px;
  }

  .promo-form .form-item-left {
      padding-right: 0;
  }

  .promo-form .form-item-right {
      padding-left: 0;
  }

  .promo-form .name,
  .promo-form .phone {
      margin-bottom: 0;
  }

  .reviews {
      margin-top: 20px;
      margin-bottom: 20px;
  }

  .gallery-col {
      flex-basis: 100%;
  }

  .mobile-hidden {
      display: none;
  }
}

@media only screen and (max-width: 420px) {
  .panel-nav img {
      display: none;
  }
}

@media only screen and (max-width: 360px) {
  .container {
      padding-left: 20px;
      padding-right: 20px;
      box-sizing: border-box;
  }

  .header-top .address {
      display: none;
  }

  .header-top .callback {
      display: none;
  }

  .form-item {
      width: 100% !important;
  }

  .about,
  .promo-reviews {
      flex-direction: column;
  }

  .about-slider nav {
      bottom: 30px;
      right: 30px;
  }
}

/* overlay forms */
.fancybox-slide--html .fancybox-close-small {
    height: 60px;
    width: 60px;
}

.fancybox-content {
    border-radius: 6px;
}

.overlay-form {
    max-width: 700px !important;
}

.add-review-form *,
.ask-question-form *,
.calc-price-form * {
    margin-top: 10px;
    margin-bottom: 10px;
}

.add-review-form .name,
.ask-question-form .name,
.add-review-form .email,
.ask-question-form .email {
    width: 48%;
    box-sizing: border-box;
}

.add-review-form .name,
.ask-question-form .name {
    margin-right: 2%;
}

.add-review-form .email,
.ask-question-form .email {
    margin-left: 2%;
}

.calc-price-form .name,
.calc-price-form .email,
.calc-price-form .phone {
    display: block;
}

.callback-form button[type="submit"] {
    margin-top: 20px;
    float: right;
}

.callback-form {
    width: 350px;
}

.callback-form .name, .callback-form .phone {
    margin: 10px 0;
}

#calc-price-full-form .form-fields {
    display: flex; 
    justify-content: space-between;
    margin-bottom: 20px;
}

#calc-price-full-form .form-fields .form-column {
    flex-basis: 48%
}

#calc-price-full-form input {
    margin: 10px 0 0 0;
}

#calc-price-full-form input[type="number"] {
    margin: 0 !important;
}

#calc-price-full-form .dropdown,
#calc-price-full-form .dropdown-content {
    width: 100%;
}


#notification {
    position: fixed;
    bottom: 50%;
    right: 50%;
    z-index: 105;
    text-align: center;
    font-weight: normal;
    font-size: 16px;
    font-weight: bold;
    color: white;
    background-color: rgb(90, 180, 106);
    padding: 20px;
    border-radius: 8px;
    transform: translate(50%, 50%);
}

#notification span.dismiss {
    border: 2px solid #FFF;
    padding: 0 5px;
    cursor: pointer;
    float: right;
    margin-left: 20px;
}

#notification a {
    color: white;
    text-decoration: none;
    font-weight: bold
}


/* room page */
.breadcrumbs {
    position: relative;

    padding-top: 60px;
    padding-bottom: 60px;

    color: white;

    background: url("/local/templates/astoria/img/bg-breadcrumbs.jpg") center no-repeat ;
    background-size: cover;

    box-shadow: inset 2px 2px 12px 3px #3333337a;
}

.breadcrumbs img {
    position: absolute;
    width: 100%;
}

.breadcrumbs p {
    font-size: 13px;
}

.breadcrumbs a {
    color: white;
}

.breadcrumbs h2 {
    font-size: 30px;
}

.description {
    padding-top: 30px;
}

.preview-card:nth-child(n + 9) {
    display: none !important;
}

.description-slider {
    width: 50%;
    display: inline-block;
}

.description-slider > .preview-main {
    position: relative;
    height: 250px;
}

.preview-main img {
    position: absolute;
    height: 250px;
    transition: opacity 0.5s ease-in-out;
}

.description-slider img {
    border-radius: 8px;

    width: 100%;
    object-fit: cover;
}

.preview-card img {
    height: 80px;
}

.description-slider .preview-small {
    margin-top: 20px;
}

.description-slider .preview-small .preview-card {
    width: 25%;
    display: inline-block;
    padding: 10px;
    box-sizing: border-box;
}

.description-slider .preview-card:hover img {
    opacity: 0.8;
}

.preview-small > img {
    width: 100%;
    height: 100px;
}

.description-info {
    width: 50%;
    display: inline-block;

    padding-left: 30px;
    box-sizing: border-box;

    vertical-align: top;
}

.description-info ul {
    padding: 0;
    list-style: none;
}

.description-info ul li::before {
    content: "\2022";
    color: rgb(90, 180, 106);
    font-weight: 900;

    display: inline-block;
    width: 1em;
}

.features {
    background-color: rgb(238, 241, 248);
    padding-top: 30px;
    padding-bottom: 30px;
}

.features-list {
    display: block;
}

.features-list img,
.features-list object {
    height : 32px;
}

.feature-card {
    display: inline-block;
    width: 20%;
    box-sizing: border-box;

    vertical-align:top;
    /* margin: 0 20px; */
    padding: 25px 15px;

    border-radius: 8px;
}

.feature-card:hover {
    color: white;
    background-color: rgb(90, 180, 106);
    box-shadow: 0 10px 10px rgb(100, 100, 100, 0.2);
}

.feature-card img {
    height: 48px !important;
}

.feature-card:hover img {
    filter: invert(1);
}

.feature-card h3 {
    font-size: 13px;
}

.feature-card p {
    font-size: 14px;
}

.calculator {
    padding-top: 30px;
    padding-bottom: 30px;
}

.prices {
    margin-top: 30px;
    padding-bottom: 30px;
}

.prices table {
    width: 100%;
}

.prices table {
    border-spacing: 3px 0;
}

.prices table tr {
    height: 80px;
}

.prices table tr:nth-child(even) {
    background-color: white;
}

.prices table tr:nth-child(odd) {
    background-color: rgb(246, 248, 253);
}

.prices table tr:hover {
    background-color: #E0E0E0;
}

.prices table tr td {
    font-size: 18px;
width: 100px;
}

.prices table tr td:nth-child(odd) {
    padding-left: 20px;
}

.prices table tr td + td {
    text-align: center;
    font-weight: bold;
}

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

}

@media only screen and (max-width:720px) {
  .description-slider, .description-info {
      width: 100%;
  }

  .description-info {
      padding-left: 0;
  }

  .feature-card {
      width: 50%;
  }
}

@media only screen and (max-width: 600px) {
  .breadcrumbs .path {
      display: none;
  }

  .breadcrumbs {
      padding-top: 30px;
      padding-bottom: 30px;
  }

  .breadcrumbs h2 {
      font-size: 20px;
  }

  .description-slider .preview-small .preview-card {
      width: 50%;
  }
}

@media only screen and (max-width: 480px) {
  .feature-card {
      width: 100%;

      padding-left: 10px;
      padding-right: 10px;
      padding-top: 10px;
      padding-bottom: 10px;
  }

  .feature-card > img {
      float: left;
      display: inline-block;

      margin-top: 10px;
  }

  .feature-card > div {
      float: left;

      margin-left: 10px;
  }

  .feature-card h3 {
      margin: 8px 0;
  }

  .feature-card p {
      margin: 8px 0;
  }

  .feature-card + .feature-card {
      margin-top: 10px;
  }
}

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

}
/* End */
/* /local/templates/astoria/components/bitrix/menu/template1/style.min.css?1685449644490 */
/* /local/templates/astoria/styles.css?168544964432392 */
