/*!
Theme Name: Evo Hotels Group
Theme URI: https://webdeveloper.com.ua/
Author: webdeveloper.com.ua
Author URI: https://t.me/webdeveloper_com_ua
Description: 
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: evohotelsgroup
Tags:
----------------------------------------------------------------------------------------- */

*,
::after,
::before {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  /* border: 1px solid red; */
}

:root {
  /* Default */
  --black: #1b1713;
  --white: #fff;

  /* Gray */
  --gray: #dae2eb;
  --darkgray: #25211e;

  /* Accent */
  --gold: #d7a63d;
  --goldlight: #ad9b74;

  --bluedeep: #0a3b42;

  /* Brown */
  --brown: #25211e;
  --browndeep: #1b1713;
  --brownlight: #87817c;
}

html {
  line-height: normal;
  scroll-behavior: smooth;
}

body {
  font-size: 14px;
  font-display: auto;
  font-family: "Open Sans";
}

body::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  z-index: -999;
  left: 0;
  opacity: 0.05;
  background-image: url(/wp-content/uploads/body-bg.png);
}

section {
  padding: 60px 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: normal;
  font-family: "Noto Serif";
}

h1 {
  font-size: 40px;
}

h2 {
  font-size: 32px;
}

h3 {
  font-size: 28px;
}

h4 {
  font-size: 24px;
}

h5 {
  font-size: 20px;
}

h6 {
  font-size: 16px;
}

.underlined::after {
  width: 60px;
  content: "";
  margin: 15px 0;
  display: block;
  border-bottom: 2px solid var(--goldlight);
}

.widget-title {
  font-size: 24px;
  font-weight: 600;
  line-height: normal;
  font-family: "Noto Serif";
}

.lined {
  display: flex;
  font-size: 20px;
  font-weight: 600;
  margin: 0 !important;
  flex-direction: column;
}

.lined::after {
  content: "";
  width: 50px;
  display: block;
  margin: 15px 0;
  border-bottom: 2px solid var(--goldlight);
}

a {
  outline: none;
  color: inherit;
  text-decoration: none;
}

p {
  line-height: 1.8;
}

p:not(:last-child) {
  margin-bottom: 15px;
}

ul,
ol,
dl {
  list-style: none;
}

.phones img {
  margin-right: 10px;
}

.phones a {
  display: inline-flex;
  align-items: center;
}

.phones a:not(:last-child) {
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid #87817c3d;
}

img {
  height: auto;
  max-width: 100%;
}

.size-20x20 {
  height: 20px;
  max-width: 20px;
}

blockquote {
  margin-bottom: 15px;
  padding-left: 15px;
  font-style: italic;
  border-left: 4px solid var(--gold);
}

/*  Grid System
----------------------------------------------------------------------------------------- */

.container,
.container-fluid {
  width: 100%;
  margin: 0 auto;
  padding: 0 10px;
}

.container {
  max-width: 1240px;
}

.row {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex: 0 1 auto;
  -webkit-box-flex: 0;
  flex: 0 1 auto;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

[class*="col-"] {
  box-sizing: border-box;
  -ms-flex: 0 0 auto;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  padding: 15px;
}

.layout {
  padding: 0;
}

.col-1 {
  -ms-flex-preferred-size: 8.333%;
  flex-basis: 8.333%;
  max-width: 8.333%;
}

.col-2 {
  -ms-flex-preferred-size: 16.667%;
  flex-basis: 16.667%;
  max-width: 16.667%;
}

.col-3 {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  max-width: 25%;
}

.col-4 {
  -ms-flex-preferred-size: 33.333%;
  flex-basis: 33.333%;
  max-width: 33.333%;
}

.col-5 {
  -ms-flex-preferred-size: 41.667%;
  flex-basis: 41.667%;
  max-width: 41.667%;
}

.col-6 {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%;
}

.col-7 {
  -ms-flex-preferred-size: 58.333%;
  flex-basis: 58.333%;
  max-width: 58.333%;
}

.col-8 {
  -ms-flex-preferred-size: 66.667%;
  flex-basis: 66.667%;
  max-width: 66.667%;
}

.col-9 {
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
  max-width: 75%;
}

.col-10 {
  -ms-flex-preferred-size: 83.333%;
  flex-basis: 83.333%;
  max-width: 83.333%;
}

.col-11 {
  -ms-flex-preferred-size: 91.667%;
  flex-basis: 91.667%;
  max-width: 91.667%;
}

.col-12 {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
}

@media only screen and (max-width: 768px) {
  [class*="col-"] {
    -ms-flex-preferred-size: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
  .container,
  .container-fluid {
    padding: 0 20px;
  }
}

/*  Breakpoints 
----------------------------------------------------------------------------------------- */

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

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

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

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

/* --------------------------------------------------------------------------------------
 *
 *	Layout
 *
----------------------------------------------------------------------------------------- */

/*	Layout: Site Header
----------------------------------------------------------------------------------------- */

.site-header {
  top: 0;
  width: 100%;
  z-index: 100;
  position: absolute;
  color: var(--white);
}

/* .site-header__top */
.site-header__top {
  font-size: 0.8rem;
  background-color: #0a3b428d;
}

.site-header__top .col-12 {
  display: flex;
  padding: 20px 5px;
  align-items: center;
  justify-content: space-between;
}

.site-header__top svg {
  color: var(--goldlight);
}

.site-header__top [class*="button-"] {
  background: transparent;
}

/* .site-header__middle */
.site-header__middle {
  background-color: transparent;
  border-bottom: 1px solid #ffffff1a;
}

.site-header__middle.fixed {
  top: 0;
  width: 100%;
  position: fixed;
  background: #0a3b42f2;
  box-shadow: 0px -4px 20.79px 0.21px rgba(0, 0, 0, 0.17);
}

.site-header__middle .col-12 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-header__middle .site-branding {
  padding: 10px 0;
}

/* .main-navigation */

.main-navigation .menu {
  display: flex;
  align-items: center;
}

.main-navigation .menu .menu-item {
  position: relative;
}

.main-navigation .menu .menu-item:not(:last-child) {
  margin-right: 30px;
}

.main-navigation .menu .menu-item a {
  display: block;
  padding: 15px 0;
  font-size: 16px;
  font-weight: 600;
}

.main-navigation .menu-item a:hover {
  color: var(--goldlight);
}

.main-navigation .menu-item a:after {
  background: none repeat scroll 0 0 transparent;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  content: "";
  display: block;
  position: absolute;
  background: var(--goldlight);
  transition: width 0.4s ease 0s, left 0.4s ease 0s;
}

.main-navigation .menu-item:hover a::after,
.main-navigation .menu .current-menu-item a::after {
  width: 100%;
  left: 0;
}

/* .toggle-button */
.toggle-button {
  display: none;
  z-index: 999;
}

.toggle-button div {
  width: 35px;
  height: 3px;
  margin: 7px 0;
  transition: 0.2s;
  background-color: var(--white);
}

.change div:nth-child(1) {
  -webkit-transform: rotate(-45deg) translate(-6px, 6px);
  transform: rotate(-45deg) translate(-6px, 6px);
}

.change div:nth-child(2) {
  opacity: 0;
}

.change div:nth-child(3) {
  -webkit-transform: rotate(45deg) translate(-8px, -8px);
  transform: rotate(45deg) translate(-8px, -8px);
}

/* .main-navigation__mobile */
.main-navigation__mobile {
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  text-align: center;
  align-items: center;
  justify-content: center;
  background: var(--bluedeep);
}

.main-navigation__mobile .menu-item a {
  padding: 10px;
  display: block;
  font-size: 18px;
}

@media only screen and (max-width: 830px) {
  .main-navigation {
    display: none;
  }
  .toggle-button {
    display: block;
  }
  .site-header__top {
    display: none;
  }
}

/*	Layout: Site Footer
----------------------------------------------------------------------------------------- */

.site-footer {
  color: var(--brownlight);
  background: var(--brown);
}

/* .site-footer__middle */
.site-footer__middle {
  padding: 50px 0;
  color: var(--white);
}

.site-footer__middle .col-12 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
}

.site-footer__middle .icon-box {
  color: var(--white);
}

.site-footer__middle .icon-box ul {
  color: var(--brownlight);
}

/* .site-footer__bottom */
.site-footer__bottom {
  font-size: 12px;
  background: var(--browndeep);
}

.site-footer__bottom .col-12 {
  display: flex;
  padding: 15px 5px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.site-footer__bottom p {
  margin: 0;
}

.site-footer .site-branding .name {
  color: var(--brownlight);
}

/*	Layout: Site Page
----------------------------------------------------------------------------------------- */

/* .page-header */
.page-header {
  padding: 0;
}

.page-header .col-12 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.page-header .overlayed {
  color: var(--white);
  padding: 210px 0 0 0;
  background: #1b1713c2;
}

.page-header .container {
  padding: 30px 10px;
}

.page-header .title {
  margin: 0 0 15px 0;
}

.hero .scroll-down {
  position: absolute;
  bottom: 5%;
}

/* Page Content Editor */
.wysiwyg.divide-left {
  padding-left: 40px;
  border-left: 2px solid var(--gold);
}

.wysiwyg h1::after {
  content: "";
  display: block;
  width: 38%;
  height: 2px;
  margin: 20px 0;
  background: var(--goldlight);
}

.wysiwyg h2 {
  margin-bottom: 16px;
}

.wysiwyg p {
  text-align: justify;
}

.wysiwyg ul {
  line-height: 1.8;
  list-style: square;
  margin: 15px 0 15px 15px;
}

.wysiwyg ul li:not(:last-child) {
  margin-bottom: 5px;
}

/* --------------------------------------------------------------------------------------
 *
 *	Sections
 *
----------------------------------------------------------------------------------------- */

/*  Section: Contacts
----------------------------------------------------------------------------------------- */

#google-map {
  width: 100%;
  height: 100%;
  border: none;
  line-height: 0;
}

/*  Section: ZigZag
----------------------------------------------------------------------------------------- */
.zigzag section .row {
  align-items: center;
  justify-content: space-between;
}

.zigzag section figure {
  max-height: 376px;
  min-height: 376px;
  transition: 0.4s;
  box-shadow: 6px 6px 0px 0px var(--goldlight);
}

.zigzag section:hover figure {
  box-shadow: 12px 12px 0px 0px var(--goldlight);
}

.zigzag section:nth-child(even) {
  color: var(--white);
  background: var(--bluedeep);
  border-top: 4px solid var(--goldlight);
  border-bottom: 4px solid var(--goldlight);
}

.zigzag section:nth-child(even) .row {
  flex-direction: row-reverse;
}

.zigzag section:nth-child(even) h2 {
  color: var(--goldlight);
}

/*  Section: Hero
----------------------------------------------------------------------------------------- */
.hero {
  padding: 0;
  color: var(--white);
}

.hero .overlayed {
  padding: 220px 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  min-height: calc(var(--vh, 1vh) * 100);
  background: rgba(0, 0, 0, 0.691);
}

.hero .wysiwyg {
  text-align: center;
}

.hero .wysiwyg h1::after {
  margin: 15px auto;
}

.hero .scroll-down {
  position: absolute;
  bottom: 5%;
}

/* .scroll-down */
.scroll-down {
  animation: 3s ease infinite 0s bounce;
}

.scroll-down svg {
  font-size: 32px;
}

@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-30px);
  }
  100% {
    transform: translateY(0);
  }
}

/*  Section: Subhero
----------------------------------------------------------------------------------------- */

.subhero {
  background: linear-gradient(to bottom, #c9b38c4f, #c9b38c00);
}

/*  Section: Services
----------------------------------------------------------------------------------------- */

.services {
  display: block;
  line-height: normal;
  font-size: 24px;
  color: var(--bluedeep);
  font-family: "Noto Serif";
}

.services li {
  transition: 0.4s;
}

.services li:not(:last-child) {
  margin-bottom: 15px;
}

.services li::after {
  content: "";
  width: 120px;
  margin: 10px 0;
  display: block;
  max-width: 100%;
  border-bottom: 1px solid var(--goldlight);
  transition: width 0.4s ease 0s, left 0.4s ease 0s;
}

.services li:hover {
  color: var(--goldlight);
}

.services li:hover::after {
  width: 60px;
}

/* --------------------------------------------------------------------------------------
 *
 *	Components
 *
----------------------------------------------------------------------------------------- */

/*  Component: Owl Carousel
----------------------------------------------------------------------------------------- */
.owl-carousel .slide {
  width: 100%;
  min-height: 420px;
}

.owl-carousel .owl-dots {
  display: flex;
  align-items: center;
  justify-content: center;
}

#object-slider button.owl-dot {
  height: 10px;
  width: 35px;
  margin-top: 30px;
  border: 1px solid var(--bluedeep);
  background: transparent;
}

#object-slider button.owl-dot:not(:last-child) {
  margin-right: 25px;
}

#object-slider button.owl-dot.active {
  background: var(--goldlight);
}

/*  Component: Forms
----------------------------------------------------------------------------------------- */

textarea {
  height: 160px;
}

textarea,
input[type="tel"],
input[type="text"],
input[type="email"] {
  width: 100%;
  font-size: 14px;
  padding: 15px 30px;
  margin-bottom: 10px;
  border: none;
  background: transparent;
  color: var(--white);
  border-bottom: 2px solid var(--goldlight);
}

input[type="submit"] {
  display: block;
  padding: 12px 36px;
  background: var(--goldlight);
  border: none;
  color: var(--white);
  font-weight: bold;
  text-transform: uppercase;
  margin: 15px auto 0 auto;
}

.cooperation-form {
  padding: 30px;
  color: var(--white);
  background: var(--brown);
  border: 1px solid var(--brownlight);
  box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.08);
}

.cooperation-form p {
  margin-bottom: 0 !important;
}

.cooperation-form .underlined {
  text-align: center;
}

.cooperation-form .underlined::after {
  margin: 15px auto;
}

/*  Component: Modal Box
----------------------------------------------------------------------------------------- */

.modal-box {
  z-index: 1002;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  background: #0a3b42ab;
}

.modal-box .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 35px;
  max-width: 480px;
}

.close-modal {
  color: var(--goldlight);
  position: absolute;
  top: 45px;
  right: 35px;
  font-size: 55px;
  cursor: pointer;
  transition: 0.3s;
  line-height: 0;
}

.close-modal:hover {
  color: var(--gold);
  transform: scale(1.2);
}

/*  Component: Button
----------------------------------------------------------------------------------------- */
.buttons {
  display: flex;
  position: relative;
}

.buttons li:not(:last-child) {
  margin-right: 15px;
}

.buttons.center,
.buttons.filter {
  margin: 0 auto;
  justify-content: center;
}

.buttons.filter::after {
  top: 50%;
  z-index: -1;
  width: 100%;
  content: "";
  display: block;
  position: absolute;
  border-bottom: 1px solid var(--goldlight);
}

.buttons.filter li {
  display: flex;
  cursor: pointer;
  transition: 0.2s;
  padding: 15px 25px;
  color: var(--white);
  align-items: center;
  background: var(--bluedeep);
}

.buttons.filter li:hover {
  box-shadow: 0 5px 10px 0px rgba(10, 59, 66, 0.42);
}

.buttons.filter li:hover .icon {
  filter: unset;
}

.buttons.filter li .icon{
  max-height: 30px;
  transition: 0.2s;
  filter: brightness(0) invert(1);
}

.buttons.filter li .text {
  display: flex;
  flex-direction: column;
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid #50595a;
}

.buttons.filter li .text .description {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 5px;
}

.buttons.filter li:hover .text .description {
  color: var(--gold);
}

.buttons.filter li .text .name {
  opacity: 0.8;
}

[class*="button-"] {
  cursor: pointer;
  transition: 0.4s;
  font-weight: 600;
  padding: 12px 36px;
  color: var(--white);
  display: inline-block;
  text-transform: uppercase;
  background: var(--bluedeep);
  border: 1px solid transparent;
}

[class*="button-"]:hover {
  color: var(--goldlight);
}

.button-s {
  padding: 0;
}

.button-bord {
  border: 1px solid var(--gold);
}

@media only screen and (max-width: 768px) {
  .buttons {
    flex-direction: column;
    align-items: center;
  }
  .buttons li:not(:last-child) {
    margin-right: 0;
    margin-bottom: 10px;
  }
}

/* --------------------------------------------------------------------------------------
 *
 *	Blocks
 *
----------------------------------------------------------------------------------------- */

/*  Block: Shadow Box
----------------------------------------------------------------------------------------- */
.shadow-box {
  width: 100%;
  height: 100%;
  transition: 0.4s;
  box-shadow: 6px 6px 0px 0px var(--goldlight);
}

.shadow-box:hover {
  box-shadow: 12px 12px 0px 0px var(--goldlight);
}

/*  Block: Icon Box
----------------------------------------------------------------------------------------- */
.icon-box {
  display: flex;
  align-items: center;
  color: var(--black);
}

.icon-box .icon {
  min-width: 40px;
  min-height: 60px;
  display: flex;
  margin-right: 20px;
  align-items: center;
  justify-content: flex-end;
}

.icon-box .icon svg,
.icon-box .icon i {
  font-size: 26px;
  font-weight: 700;
  color: var(--goldlight);
}

.icon-box ul li:not(:last-child) {
  margin-bottom: 5px;
}

.icon-box [class*="button-"] {
  margin-top: 15px;
}

.icon-boxes .icon-box:not(:last-child) {
  margin-bottom: 20px;
}

/*  Block: Sheader
----------------------------------------------------------------------------------------- */
.sheader {
  display: flex;
  position: relative;
  text-align: center;
  margin-bottom: 30px;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.sheader.left {
  align-items: flex-start;
}

.sheader.divided .title {
  width: 100%;
  padding-bottom: 15px;
  max-width: 340px;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  border-bottom: 2px solid var(--goldlight);
}

/*  Block: Inline UL
----------------------------------------------------------------------------------------- */

.inline-ul {
  display: flex;
}

.inline-ul li:not(:last-child) {
  margin-right: 20px;
}

.inline-ul li svg {
  margin-right: 10px;
}

/*  Block: Buttons
----------------------------------------------------------------------------------------- */

/*  Block: Site Branding
----------------------------------------------------------------------------------------- */

.site-branding {
  display: inline-flex;
  align-items: center;
  flex-direction: column;
}

.site-branding .logo {
  position: relative;
  max-height: 60px;
  transition: 0.4s;
  z-index: 1;
}

.site-branding .name {
  margin-top: 5px;
  font-size: 0.75rem;
  color: #ff8f00d4;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

/*  Block: Hover Box
----------------------------------------------------------------------------------------- */

.hover-box {
  top: 0;
  z-index: 2;
  opacity: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s;
  position: absolute;
  color: Var(--gold);
  background: var(--bluedeep);
}

/* --------------------------------------------------------------------------------------
 *
 *	Post Types
 *
----------------------------------------------------------------------------------------- */

/*  Post Type: Objects
----------------------------------------------------------------------------------------- */

.objects-loop {
  border-top: 1px solid #f7f7f7;
}

/* .object-item */
#objects {
  justify-content: center;
}

.object-item {
  height: 262px;
  display: flex;
  transition: 0.4s;
  position: relative;
  align-items: flex-end;
  box-shadow: 6px 6px 0px 0px var(--goldlight);
}

.object-item:hover {
  box-shadow: 12px 12px 0px 0px var(--goldlight);
}

.object-item .title {
  font-size: 16px;
  font-weight: 600;
  padding: 5px 15px;
  color: var(--bluedeep);
  background: var(--white);
  font-family: "Noto Serif";
}

.object-item:hover .hover-box {
  opacity: 0.95;
}

/* .object */
.object .wysiwyg {
  margin-left: 25px;
  padding-left: 25px;
  border-left: 6px solid var(--goldlight);
}

/*  Post Type: Posts
----------------------------------------------------------------------------------------- */

/*  Post
-------------------------------------------- */

.post-image {
  min-height: 480px;
  margin-bottom: 30px;
  border: 10px solid var(--lightgray);
}

/*  Post Box
-------------------------------------------- */

.post-box {
  display: flex;
  transition: 0.4s;
  background: var(--white);
  border: 1px solid #0b39401a;
}

.post-box:hover {
  box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.08);
}

.post-box__thumb {
  min-width: 300px;
  min-height: 300px;
  position: relative;
  background-color: #0b39401a !important;
}

.post-meta {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width: 80px;
  height: 80px;
  line-height: 28px;
  position: absolute;
  text-align: center;
  color: var(--white);
  background: #0a3b428d;
}

.post-meta li {
  margin: 0 !important;
}

.post-meta .date {
  font-size: 32px;
  font-weight: bold;
}

.post-box__body {
  width: 100%;
  padding: 25px;
}

.post-title {
  display: block;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}

.post-anounce {
  margin-bottom: 15px;
}

@media only screen and (max-width: 768px) {
  .post-box {
    flex-direction: column;
  }
}
