:root {
	--color1 : #004884;
	--color2 : #ef8821;
	--color3 : #008ac9;
	--color3 : #3f9cc1;
	--dark : #000;
	--light : #fff;
}

/* COMMON */
iframe {vertical-align:top;    max-width: 100%;}


a, .logo img,  header, .btn, .roomBtnInfo, .roomServList, .roomItemInfo, .roomImage:before  {
		    transition: all .3s ease;
	-webkit-transition: all .3s ease;
	   -moz-transition: all .3s ease;
	    -ms-transition: all .3s ease;
	     -o-transition: all .3s ease;

}

a.hoverlink {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

body {
	font-family: "Open Sans", sans-serif;
    font-size: 16px;
    line-height: 1.42;
    min-width: 360px;
	padding-top: 0px;
}
table td {
    vertical-align: top;
}
h1, h2, h3 {
    font-family: "Noto Serif", serif;
    text-align: center;
}
h2 {
    text-align: center;
}


a {
	color:var(--color1);
}
	
a, a:hover, a:visited, a:focus {
	text-decoration: none;   
	outline: none;
}
a:hover {
    color: var(--color3);
}
section {
	position:relative;
	}
img {
	max-width: 100%; 
	vertical-align:top;
}	


/* DARK-THEME */
.dark-block {
    background: var(--color1);
    color: #fff;
}

/* BUTTONS */
.btn {
    border-radius: 0 8px;
    text-transform: uppercase;
    font-weight: bold;
    position: relative;
    overflow: hidden;
    box-shadow: -3px 3px 5px rgba(0, 0, 0, .2);
    letter-spacing: 1px;
    font-size: 14px;
    line-height: 1;
    padding: 8px 16px;
}
.btn-group2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient( 120deg, transparent, rgb(255 223 175 / 60%), transparent );
  transition: all 850ms;
}
.btn.btn-secondary:before {
  background: linear-gradient(
    120deg,
    transparent,
    rgb(193 193 193 / 60%),
    transparent
  );
}
.btn-primary:hover, .btn-primary.focus, .btn-primary:focus {
  color: #ff7b0a;
  border-color: #e76400;
  box-shadow: none;
  background: #fff;
}

.btn:hover:before {
  left: 100%;
}

.btn-primary {
  color: var(--light);
  background-color: var(--color2);
  border-color: var(--color2);
}
.btn-primary:hover {
  background-color: var(--color2);
  color: #fff;
  border-color: var(--color2);
}
.btn-secondary {
  background: var(--color1);
  border-color: transparent;
}
.btn-secondary:focus {
	background: var(--color1);
  border-color: transparent;
	box-shadow: -3px 3px 5px rgba(0,0,0,.2);
}

/* HEADER */

.is-top header {
  background: transparent;
  box-shadow: none;
	padding-top: 20px;

}
header {
  position: fixed;
  width: 100%;
  display: flex;
  top: 0;
  left: 0;
  background: var(--light);
  box-shadow: 0 0 20px rgba(0,0,0,.4);
  flex-direction: row;
  z-index: 999;
  padding: 5px 20px;	
  align-items: center;
}

.logo {
    margin-right: auto;
    flex: 0 1 auto;
    padding-right: 20px;
}


.logo	.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#00b259;}
.logo	.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#d6d6d6;}

.is-top .logo {
  font-size: 2em;
}

.logo img {
    height: 60px;
}
.is-top .logo img {

}

/* TOPBAR */
.topBar {
    display: flex;
    gap: 10px;
    justify-content: end;
}
.topBar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.topBar a:hover {
    color: var(--color2);
}

/* LANGUAGE SELECT */
.lang-select {
    display: flex;
    gap: 10px;
    margin-left: 20px!important;
    border-left: 1px solid;
    padding-left: 20px!important;
}
.lang-select .active {
    color: var(--color2);
}

/* MAIN NAV */
.mainnav {
	text-align:right;
}
.mainnav ul {
  list-style: none;
  padding: 0;
  margin: 0;
	display: inline-block;
}
.mainnav ul li {
	display:inline-block;

}
.mainnav a {
    color: var(--color-dark);
  letter-spacing: 1px;
  padding: 11px 0 5px;
  display: block;
  border-bottom: 2px solid transparent;
  margin: 0 15px;
}
.mainnav li:hover a {
	border-color: var(--color1);
      color: var(--color1);
}
.mainnav .active a {
  border-bottom: 2px solid;
      color: var(--color1);
}

#trigger-overlay {
  display: none;
}

/* SLIM */
.slim {
    padding-top: 90px;
}
.slimheader {
    padding: 150px 0 50px;
    margin-bottom: 50px;
    color: #fff;
    position: relative;
    z-index: 2;
    background-size: cover;
    background-position: center;
}
.slimheader:after {
    position: absolute;
    content: '';
    background: rgba(0,0,0,.3);
    z-index: -1;
    inset:0;

}
/* SLIDER */
#slider {
    position: relative;
    z-index: 2;
    color: #fff;
    font-size: 1.2em;
    height: 100dvh;
}

    .slider-info {
        padding: 70px 0;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
#vegasslider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}
#vegasslider:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .3);
}
#hero {
	  position: relative;
	z-index: 2;
  min-height: 400px;
  background-size: cover;
  background-position: center;
	padding-bottom:20px;
	  background-attachment: inherit;
}
#hero .brand-subtitle {
  color: var(--black);
} 
#hero .brand-label {
  border-color: var(--color2);
  padding-top: 100px;
  color: var(--color2);
  font-size: 1em;
  border-color: var(--color2);
	top: auto;
  bottom: 0;
}
.brand-subtitle {
  color: var(--color2);
}
span.rotate {
 text-transform: uppercase;
  font-weight: bold;
  color: var(--color2);
  font-size: 2em;
	}

/* MOUSE ICON */	
.mouse {
  width: 30px;
  height: 50px;
  border: 2px solid #fff;
  border-radius: 20px;
  position: absolute;
  bottom: 10px;
  left: 50%;
  margin-left: -15px;
}
.mouse::before {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  top: 10px;
  background: #fff;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  opacity: 1;
  animation: mouse 2s infinite;
}
@keyframes mouse {
  from{
    opacity: 1;
    top: 10px;
  }
  to{
    opacity: 0;
    top: 30px;
  }
} 


.hero-info {
  display: flex;
  align-items: flex-start;
  padding: 110px 0 70px;
  flex-wrap: wrap;
  align-items: center;
}

/* NAV SOCIAL */
.topSocial {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 10px;
}

.topSocial li a {
  display:block;
	text-align:center;
	opacity:.6;
}
.topSocial li a:hover {
  opacity:1;
}

.slide-item {
  height: 600px;
  background-size: cover;
  background-position: center;
}
.hero-logo {
    text-align: center;
    width: 20vw;
}

/* SECTION */
.section {
  padding: 50px 0;
}

.textbg {
	padding:150px 0
}
.bgcover {
  background-size: cover;
}
.bgfixed {
  background-attachment: inherit;
}
.textbg .textblock {
	color:#fff;
	text-align:center;
}

/* BLOCK SERVICES */
.section-services, .textImageBlock {
    background-size: 20vw;
    background-attachment: fixed;
}
.section-services .item {
    text-align: center;

    margin: 20px auto 0px;
}
.item-title {
    font-weight: bold;
    line-height: 1.2;
    color: var(--color1);
}
.section-services .item img {
    margin-bottom: 10px;
  
}

/* BLOCK TextIMAGE */
.bgImage {
    background-size: cover;
    background-position: center;
}
.textBlock {
}
.bgImage .textBlock {
    background: var(--color3);
    color: var(--light);
    margin: -90px 0;
    padding: 70px 30px;
    position: relative;
    z-index: 2;
}
.bgImage .textBlock:before {
    content: '';
    position: absolute;
    left: 10px;
    top: 10px;
    bottom: 10px;
    width: 70%;
    background-size: contain;

}



/* ROOMLIST */
.roomItem {
    position: relative;
    margin-bottom: 30px;
}

.roomItemInfo h3 {
    font-size: 1rem;
    text-transform: uppercase;
    padding: 10px;
    text-align: center;
}
.price span {
    font-size: 1.4em;
    font-weight: bold;
}
.roomItemInfo {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(0, 0, 0, .4);
    border: 1px solid #fff;
    box-shadow: 0 0 10px #fff;
    color: #fff;
    justify-content: space-between;
}
.roomItemInfo .roomServList, .roomBtnInfo {
    position: absolute;
    top: 50%;
}
.roomServList {
    display: flex;
    list-style: none;
    gap: 20px;
    padding: 0;
    margin: 0 0 30px;
    font-size: 1.2em;
    justify-content: center;
}
.roomItemInfo .roomServList {
    margin: 0;
    font-size: 1.4em;
    opacity: 1;
    transform: translateY(-50%);
}
.roomBtnInfo {
    opacity: 0;
    transform: translateY(0%);
    text-align: center;
}
.roomBtnInfo img {
    height: 50px;
}
.roomItem:hover .roomItemInfo {
    padding: 10px 0;
    background: rgba(0, 0, 0, .5);
}
.roomItem:hover .roomServList {
    opacity: 0;
    transform: translateY(0%);
}
.roomItem:hover .roomBtnInfo {
    opacity: 1;
    transform: translateY(-50%);
}
.roomItemBlock {
    margin-bottom: 30px;
    background: #f7f7f7;
    box-shadow: 5px 8px 10px rgba(0, 0, 0, .2);
    border: 1px solid #fff;
}
.logo-bg {
    background-size: 30vw;
    background-attachment: fixed;
}

/**/
/* ROOMS PAGE */
header .btn-booking {
    margin: 0 -10px 0 20px;
    line-height: 40px;
    font-size: 13px;
    letter-spacing: normal;
    border-radius: 5px;
}
body.roompage {
    padding-top: 70px;
}
.bookingPrice {
    background: var(--color3);
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 0 18px 18px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    text-align: center;
    gap: 20px;
    color: #fff;
    align-items: center;
}
.btn-booking {
    font-size: 1.1em;
}
.roomImage {
    /* box-shadow: 7px 7px 10px rgba(0, 0, 0, .3); */
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 300px;
}
.roomImage:before {
    content: '';
    position: absolute;
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: 10px;
    border: 1px solid var(--color3);
}
.roomImage:hover:before {
    top: 15px;
    right: 15px;
    bottom: 15px;
    left: 15px;
    border: 1px solid #fff;
}
.roomImage .roomTitle {
    position: absolute;
    top: 20px;
    margin-left: auto;
    color: #fff;
}
.roomInfo {
    padding: 20px 30px;
}
.roomIcons {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 20px;
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
}
.roomIcons img {
    max-width: 50px;
}
.roomIcons span {
    display: none;
    font-size: .8em;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--color3);
    font-weight: bold;
}
.roomGallery {
    margin-bottom: 10px;
}
.table-price th {
    background: var(--color3);
    color: var(--light);

}
.table-price th:first-child {
}
.table-price th:last-child {
    border-radius: 0 12px 0px 0;
}
.table-price th, .table-price td {
    text-align: center;
    border: none;
    border: 1px solid #fff;
}
.table-price td {
    background: #efefef;
}
.table-price tr:last-child td:first-child {
    border-radius: 0 0 0 12px;
}
.extraInfo {
    background: var(--color3);
    padding: 40px 0;
}
.tab-content {
    background: #fff;
    padding: 20px;
    border-radius: 0 10px 10px;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, .3);
}
.nav-tabs .nav-link {
    background: #efefef;
    color: #000;
}
.nav-tabs {
    border-bottom: none;
    gap: 1px;
    padding-right: 6px;
}
@media (max-width:768px) {
    .nav-tabs {
        flex-wrap: nowrap;
        line-height: 1;
    }
}
.text-block {
    padding: 30px 0 20px;
}

/* BREADCRUMBS */
.breadcrumbs {
    /* font-size: .9em; */
    /*background: #eee;
    padding: 3px;*/
    border-radius: 8px;
    margin-bottom: 10px;
}
.dropdown-toggle {
    border-radius: 0 8px 0 0;
    vertical-align: middle;
}
.dropdown-toggle::after {

    font-size: 28px;
    vertical-align: middle;
}
.border-btn {
    font-weight: bold;
    border: 1px solid var(--color3);
    box-shadow: -3px 3px 5px rgba(0, 0, 0, .2);
    font-size: 14px;
    line-height: 1;
    padding: 5px 16px 6px;
    border-radius: 0 0 0 8px;
    border-right: 0;
    vertical-align: middle;
}
.dropdown-item:focus, .dropdown-item:hover {
    background-color: var(--color3);
    color: #fff;
}
@media (max-width:768px) {
    .breadcrumbs .border-btn {
        display: none;
    }
}
/* Effects */
.lineeffect {
  position: relative;
	justify-content: center; 
	background: #000;
}
.roomImage .lineeffect img {
	opacity:.8;
}

.lineeffect:before {
  border-bottom: 1px solid var(--light);
  border-top: 1px solid var(--light);
  transform: scale(0, 1);
}
.lineeffect:after {
  border-left: 1px solid var(--light);
  border-right: 1px solid var(--light);
  transform: scale(1, 0);
}
.lineeffect:before, .lineeffect:after {
  bottom: 10px;
  content: "";
  left: 10px;
  opacity: 0;
  position: absolute;
  right: 10px;
  top: 10px;
  transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
  z-index: 1;
}
.lineeffect:before, .lineeffect:after {
  bottom: 10px;
  content: "";
  left: 10px;
  opacity: 0;
  position: absolute;
  right: 10px;
  top: 10px;
  transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
  z-index: 1;
}


.threetextboxrow .lineeffect:before, .threetextboxrow .lineeffect:after {
  left: 15px !important;
  right: 15px !important;
}


.lineeffect:hover:before, .lineeffect:hover:after {
  opacity: 1;
  transform: scale(1);
}

/* BLOCK CONTACTS*/
.contacts-block {
    font-size: 1.2em;
}
.contacts-block a:hover {
    color: var(--color2);
}
.map {
    background-size: cover;
    position: relative;
    min-height: 40vw;
}
.map iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.map-logo {
    position: absolute;
    top: 50%;
    left: 75%;
    transform: translate(-50%, -50%);
}
.map-contacts {
    padding: 70px 30px;
    background: #8cd1ec;
}
.map-contacts ul {
    list-style: none;
    padding: 0;
    font-size: 1.2em;
}
form.contact-form {
    /* background: #efefef; */
    padding: 0 10px 10px;
    border-radius: 8px;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, .3);
    border: 1px solid var(--color3);
}
.policy-label {
    font-size: .9em;
    margin-bottom: 10px;
    padding-top: 13px;
}
.contactsIconList {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.contactsIconList li {
    width: 50%;
}
.contactsIconList li {
    width: calc(50% - 30px);
    display: flex;
    align-items: center;
    font-weight: bold;
}
.contactsIconList img {
    margin-right: 10px;
    border: 1px solid var(--color3);
    border-radius: 50%;
    padding: 5px;
}
@media (max-width:991px) {
    .contactsIconList li {
        width: 100%;
    }
}

/* FOOTER */
footer {
    background: var(--color1);
    padding: 30px 0;
    color: #fff;
}
.footer-nav ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
    gap: 10px;
}
.footer-nav a {
    color: var(--light);
}
.footer-nav a:hover {
    color: var(--color3);
}
.copyright {
    display: flex;
    justify-content: space-between;
    text-align: center;
}
footer a {
    color: #fff;
}
footer a:hover {
    color: var(--color2);
}
.footer-cols {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
footer ul {
    list-style: none;
    padding: 0;
}
.copyright {
    display: flex;
    justify-content: space-between;
    text-align: center;
    color: var(--color3);
    font-size: .9em;
}
.powerdby {
    line-height: 20px;
    color: var(--color3);
}
.powerdby img {
    vertical-align: middle;
    height: 20px;
}

/* GOHOME BTN*/
.gohome {
    position: fixed;
    right: 7px;
    bottom: 50px;
    z-index: 10;
    background: var(--color2);
    color: #fff;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    font-size: 33px;
    box-shadow: 3px 4px 15px rgb(0 0 0 / 40%);
    opacity: 0;
}
.gohome.show {
  opacity: .8;
}

/* SLIM */

/* TexImageBlock */

/* FORM VALIDATION */

.text-error {
  font-size: 14px;
  line-height: normal;
  color: #f00;
	display:none;
}
.text-error.oc-visible {
	display:block;
}

/* FORM LABEL FLOAT */
.label-float {
  position: relative;
  padding-top: 13px;
}

.label-float input, .label-float textarea {
  border: 1px solid lightgrey;
  border-radius: 5px;
  outline: none;
  min-width: 210px;
  padding: 8px 10px;
  font-size: 16px;
  transition: all .1s linear;
  -webkit-transition: all .1s linear;
  -moz-transition: all .1s linear;
  -webkit-appearance: none;
}
.form-row.nowrap {
  flex-wrap: nowrap;
}

.label-float input:focus,
.label-float textarea:focus
{
  border: 2px solid var(--color-light);
}

.label-float input::placeholder,
.label-float textarea::placeholder
{
  color:transparent;
}

.label-float label{
  pointer-events: none;
  position: absolute;
  top: 17px;
  left: 15px;
  transition: all .1s linear;
  -webkit-transition: all .1s linear;
  -moz-transition: all .1s linear;
  background-color: white;
  padding: 5px;
  box-sizing: border-box;
  color:#000;
}
input#qtty {
  min-width: auto;
  width: 140px;
  text-align: center;
}
.label-float input:required:invalid + label,
.label-float textarea:required:invalid + label
{
  color: red;
}
.label-float input:focus:required:invalid,
.label-float textarea:focus:required:invalid,
{
  border: 2px solid red;
}
.label-float input:required:invalid + label:before,
.label-float textarea:required:invalid + label:before,
{
  content: '*';
}
.label-float input:focus + label,
.label-float input:not(:placeholder-shown) + label,
.label-float textarea:focus + label,
.label-float textarea:not(:placeholder-shown) + label
{
  /*
  font-size: 13px;
  top: 0;
  color: var(--color-light);
  */
font-size: 13px;
  top: 0;
  /* color: var(--color-light); */
  
  border-radius: 4px;
  padding: 1px 7px;
  color: #000;
  
}

/* GALLERY */
.imageGallery {
    display: flex;
    flex-wrap: wrap;
    padding: 0 4px;
}
.imageGallery .column {
    flex: 25%;
    max-width: 25%;
    padding: 0 4px;
}
.column img {
    margin-top: 8px;
    vertical-align: middle;
    width: 100%;
}

@media screen and (max-width: 768px) {
 .imageGallery .column {
    flex: 50%;
    max-width: 50%;
  }
}

/* BOOKING BUTTON */
.mobileBooking-btn {
    display:none;
}

.partners-banners {
    background: #8cb9df;
    padding: 20px;
}

.easepick-wrapper {
    z-index: 100;
}

footer .icon-viber:before {
    color: #fff;
}