/* ----------------------------------------
  Arcdeco - Creative Agency WordPress Theme
-------------------------------------------

 - General Styles
   - Input Text
   - Button
   - Table
   - Flex Table
 - Typography
 - Preloader
 - Scrollbar
 - Header
   - Logotype
   - Hamburger
   - Fullscreen nav
   - Side Nav
 - Shared
   - Gallery
   - List row
   - Youtube video
   - Video bg
   - Services
 - Slider
   - Caption
   - Image
   - Control
   - Pagination progressbar
   - Pagination fraction
   - Navigation
   - Social
   - Carousel
   - Swiper
 - Portfolio
   - Filter
 - Project Single
 - News
 - Single post
   - Comment form
   - Scroll Indicator
 - About
 - Footer
   - Map
 - 404
 - Other
   - Bact to top
   - Cursor
   - Jarallax 
 - Accessibility
 - Alignments
 - WPML
    
------------------------------------------- */

:root {
  /* Font Size */
  --paragraph-font-size: 1;

  /* Colors */
  --color-accent: #FFB951;
}

[data-theme="light"] {
  --color-bg: #fff;
  --color-font: #19191B;
  --color-navbar-bg: #fff;
  --color-submenu-shadow: rgba(0, 0, 0, 0.5);
  --color-description: #19191B; 
  --color-border: rgba(104, 104, 104, 0.5);
  --color-list-border: rgba(104, 104, 104, 0.2);
  --color-border-focus: rgba(132, 132, 132, 1);
  --color-list-num: #C4C4C4;
  --color-form-placeholder: rgba(0, 0, 0, 0.6);
  --color-quote: url(../images/icon-quote-black.svg);
  --color-back-to-top: url(../images/arrow-scroll-to-black.svg);
  --color-text-rotate: rgba(104, 104, 104, 0.3);
  --color-side-nav-bg: #fff;
  --color-classic-nav-bg: #fff;
  --color-side-nav-subitem: #575757;
  --color-slider-progressbar: rgba(25, 25, 27, 0.2);
  --color-loadmore-overlay: rgba(255, 255, 255, .8);
  --color-project-footer: rgba(196, 196, 196, 0.1);
  --color-project-footer-before: rgba(196, 196, 196, 0.3);
  --color-project-footer-hover: var(--color-accent);
  --color-footer: #19191B;
  --color-code-bg: rgba(0, 0, 0, 0.07);
  --color-misc: #686868;
}

[data-theme="dark"] {
  --color-bg: #19191B;
  --color-font: #fff;
  --color-navbar-bg: rgba(25, 25, 27, .6);
  --color-submenu-shadow: rgba(0, 0, 0, 0.8);
  --color-description: #C4C4C4; 
  --color-border: #848484;
  --color-list-border: rgba(132, 132, 132, 0.25);
  --color-border-focus: #fff;
  --color-list-num: rgba(196, 196, 196, 0.5);
  --color-form-placeholder: rgba(255, 255, 255, 0.3);
  --color-quote: url(../images/icon-quote.svg);
  --color-back-to-top: url(../images/arrow-scroll-to.svg);
  --color-text-rotate: rgba(132, 132, 132, 0.5);
  --color-side-nav-bg: rgba(37, 37, 40, .9);
  --color-side-nav-subitem: #b1b1b1;
  --color-classic-nav-bg: rgba(25, 25, 27, .6);
  --color-slider-progressbar: rgba(255, 255, 255, 0.2);
  --color-loadmore-overlay: rgba(25, 25, 27, .8);
  --color-project-footer: #151515;
  --color-project-footer-before: rgba(255, 255, 255, 0.1);
  --color-project-footer-hover: #fff;
  --color-footer: #848484;
  --color-code-bg: rgba(0, 0, 0, 0.8);
  --color-misc: #848484;
}

/* -------------------------------------------
    - General Styles
------------------------------------------- */
*,
::before,
::after {
  background-repeat: no-repeat;
  box-sizing: border-box;
}

html {
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

body,
html {
  font-size: calc(var(--paragraph-font-size) * 1rem);
  -webkit-text-size-adjust: 100%;
}

body.loading {
  opacity: 0;
  pointer-events: none;
}
body {
  background-color: var(--color-bg);
  color: var(--color-font);
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  line-height: 1.9;
  -ms-overflow-style: scrollbar;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-x: hidden;
}
body::before {
  content: '';
  position: fixed;
  border: 1rem solid transparent;
  border-left: 1rem solid var(--color-accent);
  border-top: 1rem solid var(--color-accent);
  top: 0;
  left: 0;
  z-index: 1100;
}
body.admin-bar::before {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar::before {
    top: 46px;
  }
}
@media only screen and (max-width: 580px) {
  body {
    background-size: 15px;
    font-size: 1rem;
    line-height: 1.6;
  }
  body::before {
    display: none;
  }
}

html.is-scroll-disabled body {
  height: 100vh;
  overflow: hidden;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  html.is-scroll-disabled {
    overflow: hidden;
  }
}
.no-scroll {
  overflow: hidden;
  -ms-overflow-style: none;
}

.no-scroll-height {
  overflow-x: hidden;
}

.arcdeco-main {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100vh;
}
.admin-bar .arcdeco-main {
  height: calc(100vh - 32px);
}

.section.section-page {
  flex-grow: 1;
}

.input,
input:not([type=checkbox]),
.textarea,
textarea,
select,
.custom-select {
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
  box-shadow: none;
  color: var(--color-font);
  font-size: inherit;
  height: auto;
  padding: 1rem 0;
  position: relative;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.post-password-form__input {
  padding: 1rem;
}
@media only screen and (max-width: 1200px) {
  .input,
  input:not([type=checkbox]),
  .textarea,
  textarea,
  select,
  .custom-select {
    padding: .8rem 0;
  }
}
@media only screen and (max-width: 580px) {
  .post-password-form__input {
    padding: .5rem;
  }
}

.input:focus,
input:not([type=checkbox]):focus,
.textarea:focus,
textarea:focus,
select:focus,
.custom-select:focus {
  background-color: transparent;
  border-bottom: 1px solid var(--color-border-focus);
  color: var(--color-font);
  box-shadow: none;
  outline: none;
}
.textarea,
textarea {
  display: block;
  line-height: 1.9;
  max-height: 15rem;
  padding-top: 1rem;
  resize: none;
}

.form-group {
  margin-bottom: 2.6rem;
  position: relative;
}
@media only screen and (max-width: 580px) {
  .form-group {
    margin-bottom: 2rem;
  }
}

.wpcf7-not-valid-tip {
  position: absolute;
  font-size: .875rem;
  line-height: 1.4;
  padding-top: .4rem;
  color: rgba(255, 95, 83, 0.7);
}

.wpcf7-not-valid,
.wpcf7-not-valid,
.wpcf7-not-valid:focus,
.wpcf7-not-valid:focus {
  border-color: #FF5F53;
}

.wpcf7 form .wpcf7-response-output {
  margin-left: 0;
  margin-right: 0;
}

.form-control::-webkit-input-placeholder,
.form-control::-moz-placeholder,
.form-control:-ms-input-placeholder,
.form-control::-ms-input-placeholder,
.form-control::placeholder {
  color: var(--color-form-placeholder);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
  -webkit-text-fill-color: var(--color-font) !important;
}

input:not(input:-webkit-autofill)::-webkit-contacts-auto-fill-button {
  background-color: var(--color-font);
}

input:invalid,
textarea:invalid {
  outline: none !important;
}

.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(255, 185, 81, 0.25);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: var(--color-accent);
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  border-color: #fff;
  background-color: transparent;
}
.custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
}

.custom-control-label {
  line-height: 1.55;
  padding-left: .5rem;
}
.custom-control-label::before {
  background-color: transparent;
  border: 1px solid var(--color-border);
}

select,
.custom-select {
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23fff' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.1rem center/10px 16px;
}
select option,
.custom-select option {
  color: #19191B;
}

.btn,
.wp-block-search__button.wp-element-button,
.wp-block-post-comments-form input[type=submit] {
  background-color: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 0;
  color: var(--color-accent);
  cursor: pointer;
  font-size: .87rem;
  font-weight: 600;
  letter-spacing: .1rem;
  line-height: inherit;
  white-space: nowrap;
  overflow: hidden;
  padding: .8rem 2rem .7rem;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}
.wp-block-search__button.wp-element-button {
  padding: .8rem 1rem .7rem;
}
.not-found .search-form .btn {
  padding: 0.91rem 1.4rem;
}
.btn::before,
.wp-block-search__button.wp-element-button::before {
  background-color: var(--color-accent);
  content: '';
  height: 100%;
  position: absolute;
  left: -100%;
  top: 0;
  transform: skew(50deg);
  transform-origin: top left;
  transition: all .4s;
  width: 0;
  z-index: -1;
}
.wp-block-search__button.has-icon.wp-element-button::before {
  left: -110%;
}
.btn:hover,
.btn:focus,
.wp-block-search__button.wp-element-button:hover,
.wp-block-search__button.wp-element-button:focus,
.wp-block-post-comments-form input[type=submit]:hover,
.wp-block-post-comments-form input[type=submit]:focus {
  color: var(--color-bg);
  box-shadow: none;
}
.btn:hover::before,
.btn:focus::before,
.wp-block-search__button.wp-element-button:hover::before,
.wp-block-search__button.wp-element-button:focus::before {
  height: 101%;
  width: 250%;
}

.touch .btn:hover,
.touch .btn:focus {
  background-color: var(--color-accent);
  color: var(--color-bg);
}
.touch .btn::before {
  display: none;
}

button:focus {
  outline: none;
}

.btn-link {
  color: var(--color-accent);
  display: inline-block;
  font-weight: 400;
  position: relative;
  text-decoration: none;
}
.btn-link:hover {
  text-decoration: none;
  color: var(--color-accent);
}
.btn-link a:hover {
  text-decoration: none;
}
.btn-link:hover::before {
  transform: scale3d(0.5, 1, 1);
}
.btn-link:before {
  content: '';
  background-color: var(--color-accent);
  height: 1px;
  position: absolute;
  top: 50%;
  right: -4rem;
  width: 3rem;
  transform: scale3d(1, 1, 1);
  transform-origin: left;
  transition: all .3s ease-in-out;
}
@media only screen and (max-width: 580px) {
  .btn-link {
    font-size: .875rem;
  }
  .btn-link:before {
    right: -3rem;
    width: 2rem;
  }
}
.btn-link--rearward:before {
  left: -4rem;
  right: auto;
  transform-origin: right;
}
@media only screen and (max-width: 580px) {
  .btn-link--rearward:before {
    left: -3rem;
  }
}

table {
  width: 100%;
}
table thead th,
.table thead th,
.wp-block-table thead th,
.wp-calendar-table thead th {
  border: 0;
  color: var(--color-misc);
  font-size: .85rem;
  font-weight: 400;
  letter-spacing: .2rem;
  padding: 1.3rem;
  text-transform: uppercase;
}
.wp-block-table thead,
.wp-block-table tfoot,
.wp-block-table td,
.wp-block-table th {
  border-color: rgba(132, 132, 132, 0.2);
}
.wp-calendar-table thead th {
  background-color: transparent;
}
table td,
table th,
.table td,
.wp-block-table tbody td,
.wp-calendar-table tbody td {
  border: 1px solid rgba(132, 132, 132, 0.2);
  padding: 1.3rem;
}
.table span {
  color: var(--color-misc);
}
@media only screen and (max-width: 768px) {
  .table .table,
  .table thead,
  .table tbody,
  .table th,
  .table td,
  .table tr {
    display: block;
  }
  .table thead tr {
    display: none;
  }
  .table tr {
    padding-bottom: 1.4rem;
  }
  .table td {
    position: relative;
    padding-left: 50%;
    padding-top: .2rem;
    padding-bottom: .2rem;
  }
  .table td:before {
    content: attr(data-th);
    color: var(--color-misc);
    font-size: .85rem;
    position: absolute;
    left: 0;
    width: 45%;
    padding-right: 1rem;
    white-space: nowrap;
  }
}
@media only screen and (max-width: 580px) {
  .table td {
    padding-left: 40%;
  }
  table thead th,
  table tbody th,
  table tbody td,
  .wp-block-table thead th,
  .wp-block-table tbody td,
  .wp-calendar-table thead th,
  .wp-calendar-table tbody td {
    padding: .8rem .5rem;
  }
}
.wp-block-table.is-style-stripes {
  border-color: rgba(132, 132, 132, 0.2);
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--color-code-bg);
}

.flex-table {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media only screen and (max-width: 768px) {
  .flex-table {
    border-top: 1px solid rgba(132, 132, 132, 0.2);
  }
}
.flex-table__thead {
  display: flex;
  border-bottom: 1px solid rgba(132, 132, 132, 0.2);
}
@media only screen and (max-width: 768px) {
  .flex-table__thead {
    display: none;
  }
}
.flex-table__tr {
  border-bottom: 1px solid rgba(132, 132, 132, 0.2);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .flex-table__tr {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.flex-table__tr:last-child {
  border: 0;
}
.flex-table__th {
  color: var(--color-misc);
  font-size: .85rem;
  font-weight: 400;
  letter-spacing: .2rem;
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  text-transform: uppercase;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .flex-table__th {
    padding-top: .2rem;
    padding-bottom: .2rem;
  }
}
.flex-table__td {
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .flex-table__td {
    padding-top: .2rem;
    padding-bottom: .2rem;
    padding-left: 24%;
  }
  .flex-table__td:before {
    content: attr(data-th);
    color: var(--color-misc);
    font-size: .85rem;
    position: absolute;
    left: 0;
    padding-right: 1rem;
    padding-top: .2rem;
    white-space: nowrap;
    text-transform: uppercase;
  }
}

/* -----------------------------------------------------------------
    - Typography
----------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  line-height: 1.25;
}
@media only screen and (max-width: 1200px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-bottom: 3rem;
  }
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.comment-content h1,
.comment-content h2,
.comment-content h3 {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
.entry-content h4,
.entry-content h5,
.entry-content h6,
.comment-content h4,
.comment-content h5,
.comment-content h6 {
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5rem;
}

address {
	margin: 0 0 1.5rem;
}

pre {
	background: var(--color-code-bg);
	font-family: "Courier 10 Pitch", courier, monospace;
  color: var(--color-font);
	line-height: 1.6;
	margin-bottom: 1.6rem;
	max-width: 100%;
	overflow: auto;
	padding: 1.6rem;
}
.wp-block-code {
  border: none;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

code {
  padding: 2px;
  border-radius: 2px;
  font-size: 14px;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

big {
	font-size: 125%;
}

.title {
  transition: all 0.1s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
.title--display-1 {
  font-size: calc(2rem + 3.4vw);
  margin-bottom: 1.8rem;
}
@media only screen and (max-width: 580px) {
  .title--display-1 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
  }
  .hero__header .title--display-1 {
    font-size: 3.2rem;
  }
}
.title--h1 {
  font-size: 4rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 1200px) {
  .title--h1 {
    font-size: 3.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .title--h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
  }
}
.title--h2 {
  font-size: 3rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 580px) {
  .title--h2 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
  }
}
.title--h3 {
  font-size: 2.5rem;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 580px) {
  .title--h3 {
    font-size: 1.9rem;
  }
}
.title--h4 {
  font-size: 2rem;
  margin-bottom: 1.8rem;
  line-height: 1.3;
}
@media only screen and (max-width: 992px) {
  .title--h4 {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .title--h4 {
    font-size: 1.5rem;
    line-height: 1.2;
    margin-bottom: 1rem;
  }
}
.title--h5 {
  font-size: 1.5rem;
  line-height: 1.3;
  margin-bottom: 2rem;
  font-weight: 500;
}
@media only screen and (max-width: 580px) {
  .title--h5 {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}
.title--h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 1.25rem;
  font-weight: 500;
}
@media only screen and (max-width: 580px) {
  .title--h6 {
    font-size: .937rem;
  }
}
.title--center {
  text-align: center;
}
.title--tone {
  color: var(--color-accent);
}
.title--separation,
.title--separation-center {
  position: relative;
}
.title--separation::before,
.title--separation-center::before {
  content: '';
  background-color: var(--color-accent);
  height: 1px;
  position: absolute;
  bottom: 0;
  left: -6vw;
  width: 10vw;
  z-index: 1;
}
.title--separation.title--display-1,
.title--separation-center.title--display-1 {
  padding-bottom: 1.2rem;
}
.title--separation.title--display-1::before,
.title--separation-center.title--display-1::before {
  bottom: .5rem;
}
.title--separation.title--h1::before,
.title--separation-center.title--h1::before {
  bottom: -1.5rem;
}
@media only screen and (max-width: 580px) {
  .title--separation.title--h1::before,
  .title--separation-center.title--h1::before {
    bottom: -1rem;
  }
}
.title--separation.title--h4::before,
.title--separation-center.title--h4::before {
  bottom: -.7rem;
}
@media only screen and (max-width: 580px) {
  .title--separation.title--h4::before,
  .title--separation-center.title--h4::before {
    bottom: -.4rem;
  }
}
.title--separation.title--h5::before,
.title--separation-center.title--h5::before {
  bottom: -1rem;
}
@media only screen and (max-width: 580px) {
  .title--separation.title--h5::before,
  .title--separation-center.title--h5::before {
    bottom: -.7rem;
  }
}
.title--separation-center::before {
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
}
.title--no-separation.title--display-1 {
  padding-bottom: .5rem;
}

.overhead {
  color: var(--color-description);
  font-size: .87rem;
  letter-spacing: .03rem;
  margin-bottom: .6rem;
  text-transform: uppercase;
}

.weight--400 {
  font-weight: 400;
}
.weight--500 {
  font-weight: 500;
}
.weight--600 {
  font-weight: 600;
}
.weight--700 {
  font-weight: 700;
}


/* Quote
--------------------------------------------- */
.wp-block-quote,
blockquote,
.wp-block-coblocks-click-to-tweet,
.wp-block-pullquote blockquote,
.wp-block-quote.is-style-large,
.wp-block-quote.is-large,
blockquote.has-text-align-right,
.wp-block-quote.has-text-align-right {
  font-size: 1.5rem;
  font-weight: 400;
  margin: 3rem 0;
  position: relative;
  line-height: 1.6;
}
.wp-block-quote.has-text-align-right {
  border: 0;
  padding: 0;
}
.wp-block-quote.is-large:not(.is-style-plain) p,
.wp-block-quote.is-style-large:not(.is-style-plain) p {
  font-size: 2.4rem;
  font-style: normal;
}
@media only screen and (max-width: 580px) {
  .wp-block-quote.is-large:not(.is-style-plain) p,
  .wp-block-quote.is-style-large:not(.is-style-plain) p {
    font-size: 2rem;
  }
}
.wp-block-quote.is-large:not(.is-style-plain) cite,
.wp-block-quote.is-large:not(.is-style-plain) footer,
.wp-block-quote.is-style-large:not(.is-style-plain) cite,
.wp-block-quote.is-style-large:not(.is-style-plain) footer {
  font-size: 1.5rem;
  text-align: left;
}
@media only screen and (max-width: 580px) {
  .wp-block-quote.is-large:not(.is-style-plain) cite,
  .wp-block-quote.is-large:not(.is-style-plain) footer,
  .wp-block-quote.is-style-large:not(.is-style-plain) cite,
  .wp-block-quote.is-style-large:not(.is-style-plain) footer {
    font-size: 1.3rem;
  }
}
.wp-block-quote.has-text-align-right cite,
.wp-block-quote.has-text-align-right footer {
  padding-right: 3rem;
  padding-left: 0;
}
.wp-block-quote.has-text-align-right cite::before,
.wp-block-quote.has-text-align-right footer::before {
  left: auto;
  right: 0;
}
.wp-block-quote.is-style-large cite em {
  font-style: normal;
}
.wp-block-quote {
  border: none;
  padding: 0;
}
@media only screen and (max-width: 580px) {
  .wp-block-quote,
  blockquote,
  .wp-block-coblocks-click-to-tweet,
  .wp-block-pullquote blockquote,
  .wp-block-quote.is-style-large,
  .wp-block-quote.is-large,
  blockquote.has-text-align-right,
  .wp-block-quote.has-text-align-right {
    font-size: 1.28rem;
    margin: 1.4rem 0;
  }
}
.wp-block-quote::before,
blockquote::before,
.wp-block-coblocks-click-to-tweet::before,
.wp-block-pullquote blockquote::before,
.wp-block-quote.is-style-large::before,
.wp-block-quote.is-large::before,
blockquote.has-text-align-right::before,
.wp-block-quote.has-text-align-right::before {
  background-image: var(--color-quote);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: '';
  height: 41px;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: -5.6rem;
  width: 48px;
}
blockquote.has-text-align-right::before,
.wp-block-quote.has-text-align-right::before {
  left: auto;
  right: -5.6rem;
}
.wp-block-pullquote blockquote::before {
  top: -4.5rem;
  right: 0;
  left: 0;
}
.comment-content blockquote::before {
  left: 0;
}
.comment-content blockquote p {
  padding-left: 5.6rem;
}
@media only screen and (max-width: 992px) {
  .wp-block-quote,
  blockquote,
  .wp-block-coblocks-click-to-tweet,
  .wp-block-pullquote blockquote,
  .wp-block-quote.is-style-large,
  .wp-block-quote.is-large,
  blockquote.has-text-align-right,
  .wp-block-quote.has-text-align-right {
	  padding-left: 3.5rem;
  }
  .wp-block-quote::before,
  blockquote::before,
  .wp-block-coblocks-click-to-tweet::before,
  .wp-block-pullquote blockquote::before,
  .wp-block-quote.is-style-large::before,
  .wp-block-quote.is-large::before,
  blockquote.has-text-align-right::before,
  .wp-block-quote.has-text-align-right::before {
    height: 27px;
    left: 0;
    width: 32px;
  }
}
@media only screen and (max-width: 768px) {
  .wp-block-quote, 
  blockquote, 
  .wp-block-coblocks-click-to-tweet, 
  .wp-block-pullquote blockquote, 
  .wp-block-quote.is-style-large, 
  .wp-block-quote.is-large, 
  blockquote.has-text-align-right, 
  .wp-block-quote.has-text-align-right {
    font-size: 1.4rem;
  }
  .wp-block-pullquote blockquote::before {
    display: block;
  }
  .wp-block-pullquote blockquote::before {
    height: calc(41px /1.3);
    width: calc(48px /1.3);
    top: -3.5rem;
  }
  .comment-content blockquote p {
    padding-left: 0;
  }
}
@media only screen and (max-width: 580px) {
  .wp-block-quote, 
  blockquote, 
  .wp-block-coblocks-click-to-tweet, 
  .wp-block-pullquote blockquote, 
  .wp-block-quote.is-style-large, 
  .wp-block-quote.is-large, 
  blockquote.has-text-align-right, 
  .wp-block-quote.has-text-align-right {
	font-size: 1.28rem;
    padding-left: 0;
  }	
  .wp-block-quote::before,
  blockquote::before,
  .wp-block-coblocks-click-to-tweet::before,
  .wp-block-quote.is-style-large::before,
  .wp-block-quote.is-large::before,
  blockquote.has-text-align-right::before,
  .wp-block-quote.has-text-align-right::before {
    display: none;
  }
}
blockquote cite,
.wp-block-quote cite,
.wp-block-quote footer,
.wp-block-pullquote__citation,
.wp-block-pullquote cite,
.wp-block-pullquote footer {
  font-size: 1rem;
  font-style: normal;
  display: block;
  margin-top: 1.5rem;
  padding-left: 3rem;
  position: relative;
}
blockquote cite a {
  display: inline-block;
  color: var(--color-font);
}
.wp-block-pullquote__citation,
.wp-block-pullquote cite,
.wp-block-pullquote footer {
  padding: 0;
}
blockquote cite::before,
.wp-block-quote cite::before,
.wp-block-quote footer::before {
  content: '';
  background-color: var(--color-font);
  height: 1px;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2rem;
}
.wp-block-pullquote.has-border-color cite::before,
.wp-block-pullquote.is-style-solid-color cite::before,
.wp-block-pullquote cite::before {
  display: none;
}
.wp-block-quote.is-style-large cite::before,
.wp-block-quote.is-style-large footer::before {
  bottom: -2.3rem;
}
@media only screen and (max-width: 580px) {
  .wp-block-quote cite,
  .wp-block-quote footer {
    margin-top: 0;
  }
}
.wp-block-quote.is-large:not(.is-style-plain),
.wp-block-quote.is-style-large:not(.is-style-plain) {
  padding: 0;
}
.wp-block-pullquote {
  padding-bottom: .5rem;
  border-color: rgba(132, 132, 132, 0.2);
}
.wp-block-pullquote.has-border-color {
  padding-bottom: 0;
  border-left: none;
  border-right: none;
  border-top: 4px solid;
  border-bottom: 4px solid;
}
.wp-block-pullquote.is-style-solid-color blockquote p {
  font-size: 1.715rem;
}
.item-news .wp-block-quote,
.item-news blockquote,
.item-news .wp-block-coblocks-click-to-tweet,
.item-news .wp-block-pullquote blockquote,
.item-news .wp-block-quote.is-style-large,
.item-news .wp-block-quote.is-large,
.item-news blockquote.has-text-align-right,
.item-news .wp-block-quote.has-text-align-right {
  font-size: 1.4rem;
  margin: 1rem 0;
}
.item-news .wp-block-quote::before,
.item-news blockquote::before,
.item-news .wp-block-coblocks-click-to-tweet::before,
.item-news .wp-block-pullquote blockquote::before,
.item-news .wp-block-quote.is-style-large::before,
.item-news .wp-block-quote.is-large::before,
.item-news blockquote.has-text-align-right::before,
.item-news .wp-block-quote.has-text-align-right::before {
    height: calc(41px /1.3);
    left: -3.4rem;
    width: calc(48px /1.3);
}
.wp-block-column .wp-block-quote {
  padding: 0 0 0 6rem;
}
.wp-block-column .wp-block-quote::before,
.wp-block-column blockquote::before {
  left: 1rem;
}

a {
  color: var(--color-accent);
  text-decoration: none;
  -webkit-text-decoration-skip: objects;
  transition: color 0.3s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
a:hover {
  color: var(--color-accent);
  outline: none;
  text-decoration: underline;
}
a.decoration--none {
  text-decoration: none;
}
a[href^="tel"] {
  color: inherit;
}

.noGutters-Top {
  margin-top: 0 !important;
}
.noGutters-Bottom {
  margin-bottom: 0 !important;
}
.noGutters-Left {
  margin-left: 0 !important;
}
.noGutters-Right {
  margin-right: 0 !important;
}

.description {
  color: var(--color-description);
  margin-bottom: 1.9rem;
}
@media only screen and (max-width: 580px) {
  .description {
    margin-bottom: 1rem;
  }
}
.description-column {
  column-count: 2;
  column-gap: 4rem;
  margin-bottom: 0;
  text-align: justify;
}
@media only screen and (max-width: 992px) {
  .description-column {
    column-gap: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .description-column {
    column-gap: 2rem;
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .description-column {
    column-gap: 2rem;
    column-count: 1;
    margin-bottom: .5rem;
  }
}

.foreword {
  color: var(--color-description);
  font-size: 1.125rem;
}

.text-rotate {
  color: var(--color-text-rotate);
  display: block;
  letter-spacing: .15rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(90deg) translateY(-100%);
  text-transform: uppercase;
  transform-origin: top left;
}
@media only screen and (max-width: 580px) {
  .text-rotate {
    display: none;
  }
}
.container .text-rotate {
  padding-top: 0;
  padding-bottom: 0;
  top: .5rem;
  left: -6vw;
}
@media only screen and (max-width: 1500px) {
  .container .text-rotate {
    left: -5vw;
  }
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border-style: none;
}
.gallery img {
  display: inline-block;
}

iframe {
  background-color: var(--color-bg);
  border: 0;
  display: block;
  width: 100%;
}

.single .header-post iframe,
.elementor embed,
.elementor iframe,
.elementor object,
.elementor video {
  height: 100%;
}

main img.cover {
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
  height: 100%;
  width: 100%;
}
.gallery-wrap .arcdeco-widget-image {
  text-align: center;
}
.elementor-section-boxed .arcdeco-widget-image {
  position: relative;
  padding-right: 15px;
  padding-left: 15px;
}
.arcdeco-widget-image img {
  vertical-align: middle;
  display: inline-block;
}
img[data-zoomable] {
  height: auto;
}

::-moz-selection,
::selection {
  background: transparent;
  color: var(--color-accent);
}

/* -----------------------------------------------------------------
    - Preloader
----------------------------------------------------------------- */
.preloader {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-align: center;
  z-index: 1100;
  opacity: 1;
}
.preloader__wrap {
  width: 100%;
  max-width: 150px;
}
.preloader__logo {
  opacity: 0;
  transform: scale(1.5);
  width: 100%;
  max-width: 150px;
  animation: blur-logo 1.5s ease-in-out;
}
.preloader__progress {
  background: rgba(132, 132, 132, 0.5);
  height: 1px;
  position: relative;
  margin-top: 1rem;
  overflow: hidden;
  width: 100%;
}
.preloader__progress span {
  background: var(--color-accent);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
}
.preloader.fadeOut2 {
  pointer-events: none;
  opacity: 0;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .preloader.fadeOut2 {
    visibility: hidden;
  }
}

@keyframes blur-logo {
  0% {
    filter: blur(30px);
    opacity: 0;
    transform: scale(1.5);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: scale(1);
  }
}

/* -----------------------------------------------------------------
    - Scrollbar
----------------------------------------------------------------- */
.js-scroll {
  overflow: hidden;
}
.touch .js-scroll {
  height: unset;
  overflow: unset;
}
.fullscreen-nav .scroll-content {
  width: 100%;
  margin: auto 0;
}
.js-scroll .scrollbar-track,
.fullscreen-nav .scrollbar-track {
  right: 3px;
  background: 0 0;
  z-index: 1300;
}
.js-scroll .scrollbar-thumb-y,
.fullscreen-nav .scrollbar-thumb-y {
  background: #444;
}
.js-scroll .scrollbar-thumb-y:before,
.fullscreen-nav .scrollbar-thumb-y:before{
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: -3px;
  left: -3px;
  bottom: 0;
}
.js-scroll .scrollbar-thumb-y:hover,
.fullscreen-nav .scrollbar-thumb-y:hover{
  background: #8b8b8b;
}

/* -----------------------------------------------------------------
    - Header
----------------------------------------------------------------- */
.navbar {
  height: auto;
  padding: 12px 15px;
  position: fixed;
  top: 0;
  width: 100%;
  transition: transform .3s ease-in-out;
  pointer-events: none;
  z-index: 1001;
}
.navbar.menu-classic.sticky::before {
  content: '';
  position:absolute;
  background-color: var(--color-classic-nav-bg);
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:-1;
}
.admin-bar .navbar {
  top: 32px;
}
@media only screen and (min-width: 580px) {
  .navbar {
    background-color: transparent;
    padding: 2rem 3.125rem;
  }
  .navbar.menu-classic {
    padding: 1rem 3.125rem;
  }
  .navbar.menu-classic.sticky {
    transition: 0.3s linear all;
  }
}
@media screen and (max-width: 782px) {
  .admin-bar .navbar {
    top: 46px;
  }
  .admin-bar .navbar.sticky {
    top: 46px;
  }
}
@media screen and (max-width: 580px) {
  .admin-bar .navbar.sticky {
    top: 0px;
  }
  .menu-fullscreen.navbar {
    transition: transform .3s ease-in-out, background-color 1s ease-in-out;
  }
  .open .menu-fullscreen.navbar {
    background-color: #000;
    transition: background-color .5s ease-in-out;
  }
  .navbar.menu-fullscreen.sticky::before,
  .navbar.menu-side.sticky::before {
    content: '';
    position:absolute;
    background-color: var(--color-navbar-bg);
    -webkit-backdrop-filter: blur(40px);
    backdrop-filter: blur(40px);
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:-1;
    transition: background-color 1.5s ease-in-out;
  }
  [data-theme="light"] .navbar.menu-fullscreen.sticky::before,
  [data-theme="light"] .navbar.menu-side.sticky::before {
    transition: background-color .5s ease-in-out;
  }
  [data-theme="light"] .navbar.opened.menu-fullscreen.sticky::before,
  [data-theme="light"] .navbar.opened.menu-side.sticky::before {
    background-color: transparent;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
  }
  body.sticky-nav.open .navbar.menu-fullscreen.sticky::before,
  body.sticky-nav.open .navbar.menu-side.sticky::before {
    background-color: rgba(25, 25, 27, 0);
    transition: background-color 0.1s ease-in-out;
  }
}

@media screen and (min-width: 580px) {
  .navbar.scrollUp {
    transform: translateY(-100%);
  }
}

.open {
  overflow: hidden;
}
.open .scrollUp {
  transform: translateY(0);
}

.navbar.menu-classic .nav.nav-2 {
  order: 1;
}
.navbar.menu-classic .lang-switcher {
  order: 2;
}
.navbar.menu-classic .hamburger {
  order: 3;
}


/* Classic menu
--------------------------------------------- */
.navbar .nav {
  display: flex;
  list-style: none;
  position: relative;
  pointer-events: initial;
  word-wrap: normal;
}
@media only screen and (max-width: 992px) {
  .navbar .nav {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #19191B;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    transform: translate3d(0, -100%, 0);
    transition: transform .4s ease-in-out, opacity .4s .2s ease-in-out;
    z-index: -1;
  }
  .open .navbar .nav {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.navbar .nav > li {
  display: flex;
  padding: 1rem;
  margin-right: .2rem;
}
.navbar .nav > li:last-child {
  padding-right: 0;
}
.navbar .nav > li a {
  color: var(--color-font);
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  position: relative;
  transition: none;
  transition: .1s ease all;
  cursor: pointer;
}
.navbar.navbar--light .nav > li a {
  color: #fff;
}
@media only screen and (max-width: 992px) {
  .navbar .nav > li a {
    color: #fff;
  }
}
@media only screen and (min-width: 992px) {
  .navbar.sticky .nav > li a {
    color: var(--color-font);
  }
}

.navbar .nav > li:hover a {
  color: var(--color-accent);
  text-decoration: none;
  transition: .1s ease all;
}
.navbar .nav > li a:hover {
  color: var(--color-accent);
}
.navbar .nav > li .sub-menu li:hover > a {
  color: #000;
  background: var(--color-accent);
}
.navbar .nav li.current-menu-ancestor > a,
.navbar .nav li.current-menu-item > a {
  color: var(--color-accent);
}
@media only screen and (min-width: 992px) {
  .navbar .nav > li a {
    font-size: 1.05rem;
  }
}
@media only screen and (max-width: 768px) {
  .navbar .nav > li a {
    font-size: 7vw;
  }
  .navbar .nav > li {
    padding: .6rem 2rem;
  }
}
@media only screen and (max-width: 580px) {
  .navbar .nav > li {
    padding: .5rem 1rem;
  }
}
@media only screen and (max-width: 992px) {
  .navbar .nav > li .sub-menu li:hover > a {
    background: transparent;
  }
}
@media only screen and (max-width: 992px) {
  .navbar .nav-2 {
    height: 100vh;
    display: block;
    overflow: auto;
    padding-top: 7rem;
    padding-left: 3.125rem;
  }
  .navbar .nav-2 > li {
    display: block;
    margin: 0;
    text-align: left;
    padding: 0.5rem 0;
  }
  .navbar .nav-2 > li a {
    display: block;
    font-size: 1.4rem;
    padding: .3rem;
  }
  .navbar .nav-2 > li a:hover {
    color: var(--color-accent);
  }
}
@media only screen and (max-width: 580px) {
  .navbar .nav-2 > li a {
    font-size: 1rem;
  }
  .navbar .nav-2 {
    padding-top: 7rem;
    padding-left: 15px;
  }
  .navbar.sticky .nav-2 {
    padding-top: 4rem;
  }
}
.nav-2 > li a {
  font-size: 1rem;
}
.navbar .nav .menu-item-has-children {
  position: relative;
}
@media only screen and (min-width: 993px) {
  .navbar .nav .menu-item-has-children > a::after {
    content: '\e805';
    font-family: "fonticons";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: 0.2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    margin-left: 0.2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: 0.2s ease all;
  }
  .navbar .nav .menu-item-has-children:hover > a:after {
    transform: rotate(-180deg);
    transition: 0.2s ease all;
  }
}
.navbar .nav .sub-menu {
  display: block;
  position: absolute;
  top: 100%;
  left: auto;
  right: 0;
  padding: 0;
  margin: 0;
  font-size: .86rem;
  list-style: none;
  text-align: left;
  border: 0;
  box-shadow: 0 20px 60px var(--color-submenu-shadow);
  opacity: 0;
  visibility: hidden;
  z-index: 10;
}
.navbar .nav .sub-menu::before,
.wpml-ls-sub-menu::before {
  content: '';
  position: absolute;
  background-color: rgba(3, 3, 3, .8);
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.navbar .nav .sub-menu ul {
  top: 0;
  right: 100%;
  left: auto;
  opacity: 0;
  visibility: hidden;
}
.navbar .nav .sub-menu > li {
  white-space: nowrap;
}
.navbar .nav .menu-item-has-children:hover > .sub-menu {
  visibility: visible;
  opacity: 1;
}
@media only screen and (max-width: 992px) {
  .navbar .nav .sub-menu::before {
    display: none;
  }
  .navbar .nav li .sub-menu li .sub-menu,
  .navbar .nav li .sub-menu  {
    background-color: transparent;
    box-shadow: none;
    position: relative;
    top: 0;
    float: none;
    display: none;
    min-width: auto;
    margin-left: 1rem;
    opacity: 1;
    padding: 0;
    visibility: visible;
    text-align: left;
    transform: translate3d(0, 0, 0);
    transition: all .0s;
  }
  .navbar .nav .sub-menu ul {
    right: 0;
    left: 0;
  }
  .navbar .nav .menu-item-has-children:hover .sub-menu {
    transform: translate3d(0, 0, 0);
  }
}
.navbar .nav .sub-menu > li a:hover {
  background-color: var(--color-accent);
  color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  .navbar .nav .menu-item-has-children .sub-menu li {
    font-size: 1rem;
  }
}
.navbar .nav .menu-item-has-children .sub-menu li a {
  display: block;
  margin: 0;
  padding: 10px 20px;
  color: #fff;
  text-decoration: none;
}
.navbar .nav .menu-item-has-children .sub-menu li a:hover {
  color: #19191B;
  transition: none;
}
@media only screen and (max-width: 992px) {
  .navbar .nav .menu-item-has-children .sub-menu li a {
    padding: 8px 16px;
  }
  .navbar .nav .menu-item-has-children a {
    color: #fff;
  }
  .navbar .nav .menu-item-has-children .sub-menu a {
    color: rgba(255, 255, 255, 0.7) !important;
  }
  .navbar .nav .menu-item-has-children.current > a {
    color: var(--color-accent) !important;
  }
  .navbar .nav .menu-item-has-children > a::after {
    content: '\e805';
    font-family: "fonticons";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: 0.2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    margin-left: 0.2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: 0.2s ease all;
  }
  .navbar .nav .menu-item-has-children.current > a:after {
    transition: 0.2s ease all;
    transform: rotate(-180deg);
  }
}

.navbar .nav .dropdown i {
  font-size: .86rem;
  display: inline-block;
  vertical-align: middle;
  transition: all 0.3s cubic-bezier(0.7, 0, 0.3, 1);
}
.navbar .nav .dropdown.current i {
  transform: rotate(-180deg);
}

.logo-link {
  display: block;
  pointer-events: initial;
}
.logo-link:hover {
  text-decoration: none;
}
.logotype {
  position: relative;
  transition: transform .4s ease-in-out;
}
.logotype__text-title {
  display: block;
	font-size: 1.5rem;
	line-height: 1.3;
	font-weight: 600;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.logotype__text-tagline {
	display: block;
  font-size: .9rem;
  line-height: 1.3;
  opacity: .9;
	white-space: nowrap;
	text-overflow: ellipsis;
}
@media only screen and (max-width: 580px) {
  .logotype__text-title {
    font-size: 1.2rem;
    line-height: 1.1;
  }
  .logotype__text-tagline {
    font-size: 0.8rem;
    line-height: 1.1;
  }
}

.hamburger {
  cursor: pointer;
  display: none;
  background-color: transparent;
  border: 0;
  padding: 0;
  pointer-events: initial;
}
@media only screen and (max-width: 992px) {
  .menu-classic .hamburger {
    display: block;
  }
}
.menu-fullscreen .hamburger,
.menu-side .hamburger {
  display: block;
}
@media only screen and (max-width: 768px) {
  .hamburger {
    display: block;
  }
  .menu-fullscreen .hamburger,
  .menu-side .hamburger {
    display: block;
  }
}
.menu-fullscreen .hamburger,
.menu-side .hamburger {
  display: block;
}
.hamburger__inner {
  display: inline-block;
  position: relative;
  height: 20px;
  width: 25px;
  vertical-align: middle;
}
.hamburger__inner::before {
  content: '';
  display: block;
  position: absolute;
  inset: -1rem;
}
.hamburger__inner span {
  display: block;
  position: relative;
  top: 0;
  width: 100%;
  height: 2px;
  margin: 5px 0;
  background-color: var(--color-font);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: top 0.3s 0.3s, transform 0.3s;
}
.navbar.menu-classic .hamburger.is-active .hamburger__inner span,
.menu-fullscreen.opened .hamburger__inner span,
.navbar-change.navbar--light .hamburger__inner span,
.sticky.navbar-change.navbar--light .hamburger__inner span,
.sticky.opened.navbar-change.navbar--light .hamburger__inner span {
  background-color: #fff;
}
.is-sideNav.is-active .hamburger__inner span,
.sticky.opened .is-sideNav.is-active .hamburger__inner span {
  background-color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  .sticky.navbar-change.navbar--light .hamburger__inner span {
    background-color: #19191B;
  }
}
.hamburger.is-active .hamburger__inner span:first-child {
  top: 4px;
  animation: hamburger__open-top 0.8s;
  transform: rotate(45deg) scaleX(1);
  transition-duration: 0s, 0s;
}
.hamburger.is-active .hamburger__inner span:last-child {
  top: -3px;
  animation: hamburger__open-bottom 0.8s;
  transform: rotate(-45deg) scaleX(1);
  transition-duration: 0s, 0s;
}
@keyframes hamburger__open-top {
  0% {
      opacity: 1;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(1);
      transform-origin: left center;
  }
  30% {
      opacity: 1;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(0);
  }
  30.1% {
      opacity: 0;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(0);
  }
  31% {
      opacity: 1;
      top: -5px;
      left: 3px;
      transform: rotate(45deg) scaleX(0);
  }
  100%,
  80% {
      opacity: 1;
      top: -5px;
      left: 3px;
      transform: rotate(45deg) scaleX(1);
      transform-origin: left center;
  }
}
@keyframes hamburger__open-bottom {
  0% {
      opacity: 1;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(1);
      transform-origin: right center;
  }
  50% {
      opacity: 1;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(0);
  }
  50.1% {
      opacity: 0;
      top: 0;
      left: 0;
      transform: rotate(0) scaleX(0);
  }
  51%,
  55% {
      opacity: 1;
      top: -12px;
      left: -4px;
      transform: rotate(-45deg) scaleX(0);
  }
  100% {
      opacity: 1;
      top: -12px;
      left: -4px;
      transform: rotate(-45deg) scaleX(1);
      transform-origin: right center;
  }
}

/* Fullscreen Nav
--------------------------------------------- */
.fullscreen-nav {
  display: flex !important;
  flex-direction: column;
  align-items: center; 
  flex-wrap: wrap;
  position: fixed !important;
  top: -100%;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  background-color: #000;
  transition: all .5s;
  overflow-x: hidden;
  overflow-y: auto;
  visibility: hidden;
  text-align: center;
  z-index: 1000;
}
.fullscreen-nav.opened {
  top: 0;
  visibility: visible;
}
.fullscreen-nav__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  margin: auto 0;
  padding: 5rem 0;
}
.admin-bar .fullscreen-nav__container {
  padding-bottom: calc(5rem - 32px);
}
.fullscreen-nav__container ul {
  position: relative;
  list-style: none;
  padding: 0;
  margin: 0;
}
.fullscreen-nav__container ul ul {
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
}
.fullscreen-nav__menu-item {
  display: block;
}
.fullscreen-nav__menu-item a {
  display: inline-flex;
  color: #fff !important;
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.3;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
}
.fullscreen-nav__menu-item span {
  display: inline-block;
  position: relative;
  transition: opacity .5s;
}
.fullscreen-nav__container ul > li,
.fullscreen-nav__container ul ul li {
  overflow: hidden;
}
.fullscreen-nav__container ul > li span,
.fullscreen-nav__container ul ul li span {
  transform: translateY(100%);
}
.fullscreen-nav__container .sub-menu.hidden,
.fullscreen-nav__container.hidden {
  visibility: hidden;
}
.fullscreen-nav__container .sub-menu.opened,
.fullscreen-nav__container.opened {
  visibility: visible;
}
.fullscreen-nav__container ul.hidden > li > a {
  display: none;
}
.fullscreen-nav__container ul.opened > li > a {
  display: inline-flex;
}
.no-touch .fullscreen-nav__menu:hover .fullscreen-nav__menu-item span:not(:hover) {
  opacity: .2;
  transition: opacity .5s;
}
.fullscreen-nav__menu-item.menu-item-has-children .icon-down-open {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-35%);
  font-size: 2vw;
}
.sub-back {
  display: flex;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}
.sub-back span {
  font-size: 1.8rem;
  line-height: 2;
  width: 4rem;
  padding-bottom: .5rem;
  opacity: .3;
  transition: opacity .5s;
}
.sub-back:hover span {
  opacity: 1;
}
.sub-menu.opened .sub-back {
  opacity: 1;
  visibility: visible;
}

@media only screen and (max-width: 992px) {
  .fullscreen-nav__menu-item span {
    font-size: 3.2rem;
  }
  .sub-back span {
    font-size: 1.5rem;
    line-height: 2;
  }
}
@media only screen and (max-width: 768px) {
  .fullscreen-nav__container {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    padding: 0;
  }
  .fullscreen-nav__menu-item span {
    font-size: 2.4rem;
  }
  .sub-back span {
    font-size: 1.5rem;
    line-height: 2;
  }
}

/* Side Nav
--------------------------------------------- */
.sideNav {
  background-color: var(--color-side-nav-bg);
  -webkit-backdrop-filter: blur(40px);
  backdrop-filter: blur(40px);
  list-style: none;
  height: 100%;
  margin: 0;
  list-style: none;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 7rem 0 0;
  position: fixed;
  top: 0;
  right: 0;
  width: 360px;
  z-index: 999;
}
.sideNav__item {
  color: var(--color-font);
  font-size: 1.5rem;
  font-weight: 400;
  position: relative;
  margin: 0 3rem;
  padding: .2rem 0;
  user-select: none;
  transition: color 0.6s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
.sideNav__item:hover {
  color: var(--color-accent);
}
.sideNav__item a {
  color: var(--color-font);
  text-decoration: none;
}
.sideNav__item.has-droupdown.sideNav__item-open > span {
  color: var(--color-accent);
}
.sideNav__item > a:hover,
.sideNav__item.has-droupdown > span:hover {
  color: var(--color-accent);
}
.sideNav__item .icon {
  font-size: 1rem;
  padding: 0 .3rem;
  transition: transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transform: rotate(0deg);
}
.sideNav__item-open > .icon {
  transform: rotate(-180deg);
}
.sideNav__sub {
  display: none;
  position: relative;
  max-height: 100%;
  height: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sideNav__sub.open {
  display: block;
}
.sideNav__sub .sideNav__item {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
}
.sideNav__sub .sideNav__item > a,
.sideNav__sub .sideNav__item > span {
  color: var(--color-side-nav-subitem);
}
.sideNav__sub .sideNav__item a:hover {
  color: var(--color-accent);
}
.sideNav-collapsed {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
}

.overlay-sideNav {
  background-color: rgba(25, 25, 27, 0.3);
  height: 100%;
  width: 100%;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

@media only screen and (max-width: 580px) {
  .sideNav {
    background-color: var(--color-bg);
    padding: 4.5rem 0 0;
    width: 100%;
  }
  .admin-bar .sideNav {
    padding: 8rem 0 0;
  }
  .admin-bar.sticky-nav .sideNav {
    padding: 4.5rem 0 0;
  }
  .sideNav__sub .sideNav__item {
    font-size: 1.1rem;
  }
  .sideNav__sub {
    margin: 0 .6rem 0rem;
  }
  .sideNav__item {
    font-size: 1.3rem;
    margin: 0 1rem;
  }
}

/* -----------------------------------------------------------------
    - Shared
----------------------------------------------------------------- */
.hero {
  height: 100dvh;
  overflow: hidden;
  position: relative;
}
.admin-bar .hero {
  height: calc(100vh - 32px);
}
@media screen and (max-width: 782px) {
  .admin-bar .hero {
    height: calc(100vh - 46px);
  }
}
.hero-intro .title {
  margin-bottom: 6.5rem;
}
.hero-intro .hero__header .title {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .hero-intro .title {
    margin-bottom: 0;
    text-align: center;
  }
}
@media screen and (max-height: 380px) {
  .hero-intro .title {
    margin-bottom: 0;
  }
}
.hero__header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 80%;
  z-index: 10;
}
@media only screen and (max-width: 580px) {
  .hero__header {
    width: calc(100% - 30px);
  }
}
.hero__image,
.hero__video {
  position: absolute;
  top: 0;
  left: 0;
}

.container-fully {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 7.5rem;
  padding-right: 7.5rem;
  height: 100%;
}
@media only screen and (max-width: 1200px) {
  .contact-container.container-fully {
    padding-left: 3.125rem;
    padding-right: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .container-fully {
    padding-left: 3.125rem;
    padding-right: 3.125rem;
  }
}
@media only screen and (max-width: 580px) {
  .container-fully {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.header-page {
  margin-top: 10rem;
}
.section-page .header-page {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 580px) {
  .header-page {
    margin-top: 7rem;
  }
  .section-page .header-page {
    margin-top: 5rem;
    margin-bottom: 2rem;
  }
}

.social {
  line-height: 0;
}
.social__link {
  color: var(--color-description);
  display: inline-block;
  font-size: 1.3rem;
  margin-left: 1rem;
}
.hero.slider .social__link,
.hero.hero-intro .social__link {
  color: #C4C4C4;
}
.hero.slider .social__link:hover,
.hero.hero-intro .social__link:hover {
  color: var(--color-accent);
}
.social__link:first-child {
  margin-left: 0;
}
.team-social__link {
  position: relative;
  color: var(--color-description);
  display: inline-block;
  font-size: 1.1rem;
  margin-right: 1.5rem;
  margin-top: .5rem;
}
.team-social__link::before {
  content: '';
  display: block;
  position: absolute;
  top:  -.5rem;
  right: -1rem;
  bottom: -.5rem;
  left: -1rem;
}
.social-floating {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  position: absolute;
  bottom: 3.125rem;
  right: 3.125rem;
  z-index: 10;
}
@media only screen and (max-width: 580px) {
  .social-floating {
    bottom: 1.5rem;
    left: 0;
    right: 0;
    justify-content: center;
  }
}
@media screen and (max-height: 380px) {
  .social-floating {
    bottom: 2rem;
  }
}

.js-image {
  background-size: cover;
  background-position: center;
  height: 100%;
  width: 100%;
}

.image-gutter {
  height: 50vw;
  position: relative;
  max-height: 840px;
  margin-top: 3.6rem;
  margin-left: 7.5rem;
  width: calc(100% - 7.5rem);
}
.header-post .image-gutter {
  margin-top: 2.5rem;
}
.image-gutter__no {
  margin-left: 0;
  width: 100%;
}
@media only screen and (max-width: 992px) {
  .image-gutter {
    height: 60vw;
    margin-left: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .image-gutter,
  .header-post .image-gutter {
    height: 100vw;
    margin-top: 1.2rem;
  }
}
.image-gutter .text-rotate {
  padding-top: 2.8rem;
  padding-bottom: 2.8rem;
  left: -7.6rem;
}
@media only screen and (max-width: 992px) {
  .image-gutter .text-rotate {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

@media only screen and (max-width: 580px) {
  .mt--0 {
    margin-top: 0 !important;
  }
}

.overlay {
  position: relative;
}
.overlay::before,
.overlay--45::before,
.overlay--80::before {
  content: '';
  background-color: rgba(25, 25, 27, 0.35);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}
.overlay--45::before {
  background-color: rgba(25, 25, 27, 0.45);
}
.overlay--80::before {
  background-color: rgba(25, 25, 27, 0.8);
}

.gallery-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.gallery-expanded {
  margin-right: 0;
  margin-left: 0;
}
@media only screen and (min-width: 1500px) {
  .gallery-expanded {
    margin-right: -8rem;
    margin-left: -8rem;
  }
}
.gallery__item {
  margin-top: 2rem;
}
@media only screen and (max-width: 992px) {
  .gallery__item {
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 580px) {
  .gallery__item {
    margin-top: .5rem;
  }
}
.gallery-wrap .btn-link {
  margin-top: 3rem;
}
@media only screen and (max-width: 992px) {
  .gallery-wrap .btn-link {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .gallery-wrap .btn-link {
    margin-top: 2rem;
  }
}

.gallery-two .gallery__item {
  flex-basis: calc(50% - 3%);
  width: calc(50% - 3%);
}
.gallery-two .gallery__item:nth-child(2n+1) {
  margin-right: 3%;
}
.gallery-two .gallery__item:nth-child(2n) {
  margin-left: 3%;
}
@media only screen and (max-width: 768px) {
  .gallery-two .gallery__item {
    flex-basis: 100%;
    width: 100%;
  }
  .gallery-two .gallery__item:nth-child(2n+1) {
    margin-right: 0;
  }
  .gallery-two .gallery__item:nth-child(2n) {
    margin-left: 0;
  }
}
@media only screen and (max-width: 580px) {
  .gallery-two .gallery__item {
    margin-top: 15px;
  }
}

.list-row {
  list-style: none;
  margin-bottom: 0;
  padding: 0;
}
@media only screen and (max-width: 580px) {
  .list-row {
    margin-top: 0;
  }
}
.list-row__item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid var(--color-list-border);
  padding: 1.8rem 0;
}
@media only screen and (max-width: 580px) {
  .list-row__item {
    padding: 1.2rem 0;
  }
}
@media only screen and (max-width: 580px) {
  .list-row__item .title {
    font-size: 1rem;
  }
}
.list-row__col-num {
  color: var(--color-list-num);
  width: 15%;
}
@media only screen and (max-width: 1200px) {
  .list-row__col-num {
    width: 10%;
  }
}
@media only screen and (max-width: 580px) {
  .list-row__col-num {
    margin-right: 1.5rem;
    width: auto;
  }
}
.list-row__col-title {
  margin-bottom: 0;
  width: 85%;
}
@media only screen and (max-width: 1200px) {
  .list-row__col-title {
    width: 90%;
  }
}
.list-row__col-caption {
  color: var(--color-description);
  width: 30%;
}

.video-container {
  height: 46vw;
  margin-top: 1rem;
  position: relative;
}
@media only screen and (max-width: 992px) {
  .video-container {
    height: 60vw;
  }
}
@media only screen and (max-width: 580px) {
  .video-container {
    height: 100vw;
    margin-bottom: 1.87rem;
  }
}
.container-fully .video-container {
  margin-left: -7.5rem;
  margin-right: -7.5rem;
}
@media only screen and (max-width: 768px) {
  .container-fully .video-container {
    margin-left: -3.125rem;
    margin-right: -3.125rem;
  }
}
@media only screen and (max-width: 580px) {
  .container-fully .video-container {
    margin-left: -15px;
    margin-right: -15px;
  }
}
.video-container .video__btn {
  background-color: var(--color-bg);
  box-shadow: 0 0 0 0px var(--color-bg);
  border: 0;
  border-radius: 50%;
  color: var(--color-font);
  font-size: .75rem;
  font-weight: 600;
  height: 8.5rem;
  letter-spacing: .3rem;
  margin: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  text-align: center;
  text-transform: uppercase;
  width: 8.5rem;
  opacity: 1;
  transform: translate(-50%, -50%);
  transition: all .3s ease-in-out;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .video-container .video__btn {
    height: 6.5384615385rem;
    width: 6.5384615385rem;
    letter-spacing: .2rem;
  }
}
@media only screen and (max-width: 580px) {
  .video-container .video__btn {
    height: 5.3125rem;
    width: 5.3125rem;
  }
}
.video-container .video__btn:hover {
  background-color: var(--color-bg);
  box-shadow: 0 0 0 10px var(--color-bg);
  cursor: pointer;
}
.video-container .video__btn:focus {
  outline: 0;
}
.video-container .video__poster {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  visibility: visible;
  transition: .3s ease-in-out;
  transition-duration: 0.5s;
}
.video-container .video__poster::before {
  content: '';
  background: rgba(25, 25, 27, 0.2);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: .3s ease-in-out;
  width: 100%;
  z-index: 1;
}
.video-container .video__poster:hover::before {
  background: rgba(25, 25, 27, 0);
}

.js-video.is-active .video__poster {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.video-background,
.hero__video {
  position: absolute;
  left: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: auto;
  z-index: -1;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.hero__video {
  height: 100%;
}

.note {
  display: flex;
  align-items: center;
  background: var(--color-bg);
  padding: 3.5rem 3.125rem;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40%;
  z-index: 10;
}
.note::before {
  content: '';
  background: var(--color-bg);
  height: 100%;
  position: absolute;
  top: 0;
  right: -4rem;
  transform: skewX(25deg);
  width: 100%;
  z-index: -1;
}
@media only screen and (max-width: 1200px) {
  .note {
    width: 50%;
  }
}
@media only screen and (max-width: 992px) {
  .note {
    padding: 2.5rem 3.125rem 2.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .note {
    display: none;
  }
}
@media screen and (max-height: 380px) {
  .note {
    display: none;
  }
}
.note__item .title {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.note__item .description {
  font-size: .937rem;
  margin-bottom: 0;
}

.services {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  margin-top: 2rem;
}
@media only screen and (max-width: 992px) {
  .services {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 580px) {
  .services {
    margin-top: .5rem;
  }
}
.services__item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 50vw;
  max-height: 740px;
  overflow: hidden;
  position: relative;
  padding: 3rem 4rem;
  width: 100%;
}
@media only screen and (max-width: 1500px) {
  .services__item {
    padding: 2rem 3rem;
  }
}
@media only screen and (max-width: 1200px) {
  .services__item {
    padding: 2rem;
  }
}
@media only screen and (max-width: 992px) {
  .services__item {
    height: 60vw;
    width: 50%;
  }
}
@media only screen and (max-width: 768px) {
  .services__item {
    height: 80vw;
    width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .services__item {
    margin: 7.5px 15px;
    padding: .6rem 15px;
    height: 100vw;
  }
}
.services__item-bg {
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  transform-origin: center;
  transition: all .6s ease-in-out;
}
.services__item:hover .services__item-bg {
  transform: scale(1.08);
}
.services__item-details {
  position: relative;
  z-index: 2;
}
.services__item-details .title {
  color: #fff;
  margin-bottom: 1rem;
}
.services__item-details .description {
  color: #fff;
  margin-bottom: 1px;
}

/* -----------------------------------------------------------------
    - Slider
----------------------------------------------------------------- */
.slider {
  display: flex;
  height: 100dvh;
  position: relative;
  z-index: 0;
  -webkit-overflow-scrolling: touch;
}
.slider__item {
  width: 100%;
}
.slider .slider__caption {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}
.slider .slider__caption .slider__content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  margin-left: 20vw;
  margin-right: 10vw;
}
@media only screen and (max-width: 992px) {
  .slider .slider__caption .slider__content {
    margin-left: 10vw;
  }
}
@media only screen and (max-width: 580px) {
  .slider .slider__caption .slider__content {
    margin-left: 5vw;
    margin-right: 5vw;
    text-align: center;
  }
}
.slider .slider__caption .title--display-1 {
  color: var(--color-accent);
  font-weight: 600;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .slider .slider__caption .title--separation::before {
    right: 0;
    left: 0;
    margin: auto;
  }
}
.slider .slider__caption .description {
  font-size: 1.125rem;
  color: #C4C4C4;
  margin-bottom: 0;
  margin-top: .8rem;
  width: 60%;
}
@media only screen and (max-width: 1200px) {
  .slider .slider__caption .description {
    width: 80%;
  }
}
@media only screen and (max-width: 992px) {
  .slider .slider__caption .description {
    font-size: 1rem;
    width: 100%;
  }
}
@media only screen and (min-width: 1500px) {
  .slider .slider__caption .description {
    width: 40%;
  }
}
.slider__image {
  height: 100%;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 992px) {
  .slider__image {
    width: 100%;
    order: 1;
  }
}
.slider__control {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  position: absolute;
  right: 3.125rem;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .slider__control {
    -webkit-align-items: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
    right: 0;
    left: 0;
  }
}
.slider__control__control-horizon {
  height: 2px;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
}
.slider-pagination-progressbar {
  background: rgba(255, 255, 255, 0.4);
  position: relative;
  width: 2px;
  height: 30%;
}
@media only screen and (max-width: 768px) {
  .slider-pagination-progressbar {
    width: 100%;
    height: 3px;
  }
}
.slider-pagination-progressbar-horizon {
  background: var(--color-slider-progressbar);
  max-width: calc(1140px - 30px);
  margin-left: auto;
  margin-right: auto;
  height: 2px;
  width: 100%;
}
@media only screen and (max-width: 1200px) {
  .slider-pagination-progressbar-horizon {
    max-width: calc(960px - 30px);
  }
}
@media only screen and (max-width: 992px) {
  .slider-pagination-progressbar-horizon {
    max-width: calc(720px - 30px);
  }
}
@media only screen and (max-width: 768px) {
  .slider-pagination-progressbar-horizon {
    max-width: calc(100% - 30px);
  }
}
.slider-pagination-fraction {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  font-size: 1.3rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: .2rem;
  height: 43%;
  margin-bottom: auto;
  margin-top: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2rem;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .slider-pagination-fraction {
    display: none;
  }
}
.slider-pagination-fraction div {
  display: inline-flex;
  transform: rotate(-90deg);
}
.slider-navigation {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  position: absolute;
  bottom: 3.125rem;
  left: 3.125rem;
  width: 5.5rem;
  z-index: 2;
}
@media only screen and (max-width: 580px) {
  .slider-navigation {
    display: none;
  }
}
.slider-navigation__vertical {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 5rem;
  width: auto;
}
.slider-prev,
.slider-next {
  border: 0;
  background-color: transparent;
  line-height: 0;
  height: 1.54rem;
  width: .93rem;
  transition: opacity .4s ease-in-out;
}
.slider-prev::before,
.slider-next::before {
  content: '';
  display: block;
  position: absolute;
  top: -1rem;
  bottom: -1rem;
  right: -1rem;
  left: -1rem;
}
.slider-prev:hover path,
.slider-next:hover path {
  fill: var(--color-accent);
}
.slider-prev:focus,
.slider-next:focus {
  outline: none;
}
@media only screen and (max-width: 580px) {
  .slider .social {
    right: 0;
    left: 0;
    text-align: center;
  }
}

.anim-line {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  transition: opacity, transform .3s ease-in-out;
}

.carousel {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: flex-end;
  padding-left: 7.5rem;
}
@media only screen and (max-width: 768px) {
  .carousel {
    padding: 8rem 1.5rem 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .carousel {
    padding: 6rem 15px 15px;
  }
}
.carousel-container {
  height: 70%;
}
@media only screen and (max-width: 768px) {
  .carousel-container {
    height: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .carousel .slider-navigation {
    display: none;
  }
}

.item-caption {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 60%);
  padding: 2rem;
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  text-align: left;
  transition: opacity .3s ease-in-out;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .item-caption {
    opacity: 1;
  }
}
@media only screen and (max-width: 580px) {
  .item-caption {
    padding: .6rem 15px;
  }
}
.item-caption > * {
  opacity: 1;
  transform: translate3d(0, 100%, 0);
  transition: all .4s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .item-caption > * {
    transform: translate3d(0, 0, 0);
  }
}
.item-caption .title {
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .item-caption .title {
    margin-bottom: .5rem;
  }
}

.onHover:hover .item-caption {
  opacity: 1;
}
.onHover:hover .item-caption > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.swiper-container {
  position: relative;
  width: 100%;
}
.swiper-container .swiper-slide {
  overflow: hidden;
}
.swiper-container .swiper-slide a {
  text-decoration: none;
}
.swiper-container .swiper-slide__link {
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2;
}
.swiper-container .swiper-slide .cover-slider {
  background-size: cover;
  background-position: center center;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.swiper-container .swiper-slide .scaleCover {
  width: 100%;
  height: 100vh;
  transform: scale(1.1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.swiper-container .swiper-slide-active .slider__content a > *,
.swiper-container .swiper-slide-duplicate-active .slider__content a > * {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(1),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(1) {
  transition-delay: 0s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(2),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(2) {
  transition-delay: 0.2s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(3),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(3) {
  transition-delay: 0.4s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(4),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(4) {
  transition-delay: 0.6s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(5),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(5) {
  transition-delay: 0.8s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(6),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(6) {
  transition-delay: 1s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(7),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(7) {
  transition-delay: 1.2s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(8),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(8) {
  transition-delay: 1.4s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(9),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(9) {
  transition-delay: 1.6s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(10),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(10) {
  transition-delay: 1.8s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(11),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(11) {
  transition-delay: 2s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(12),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(12) {
  transition-delay: 2.2s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(13),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(13) {
  transition-delay: 2.4s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(14),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(14) {
  transition-delay: 2.6s;
}
.swiper-container .swiper-slide-active .slider__content a > *:nth-child(15),
.swiper-container .swiper-slide-duplicate-active .slider__content a > *:nth-child(15) {
  transition-delay: 2.8s;
}
.swiper-container .swiper-slide-active .scaleCover,
.swiper-container .swiper-slide-duplicate-active .scaleCover {
  transform: scale(1);
}
.swiper-button-disabled {
  opacity: .5;
}
.swiper-pagination-progressbar-fill {
  background: var(--color-font) !important;
}
.swiper-container .elementor-slideshow__title {
  text-align: center;
}

/* -----------------------------------------------------------------
    - Portfolio
----------------------------------------------------------------- */
.project-masonry,
.news-masonry,
.masonry-grid {
  pointer-events: none;
}
.js-scroll-show {
  will-change: transform, opacity;
}
.content-grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.content-grid__item {
  display: flex;
  flex-direction: column;
}
.content-grid__col-1 {
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 8%;
}
.content-grid__col-2 {
  margin-top: 1rem !important;
  margin-bottom: 3% !important;
  width: 45%;
}
.news-masonry .content-grid__col-2 {
  margin-bottom: 6% !important;
}
.content-grid__col-3 {
  margin-top: 1rem !important;
  margin-bottom: 3% !important;
  width: 28%;
}
.masonry-grid .content-grid__col-3 {
  width: 30%;
}
.content-grid__col-4 {
  margin-top: 1rem !important;
  margin-bottom: 2% !important;
  width: 22%;
}
.inner-caption .content-grid__col-2,
.inner-caption .content-grid__col-3 {
  margin-bottom: 5% !important;
}
.masonry-grid.inner-caption .content-grid__col-3 {
  margin-bottom: 3.5% !important;
}
.inner-caption .content-grid__col-4 {
  margin-bottom: 2.5% !important;
}
@media only screen and (min-width: 2000px) {
  .content-grid__col-2,
  .content-grid__col-3,
  .content-grid__col-4 {
    margin-bottom: 2% !important;
    width: 22%;
  }
}
@media only screen and (max-width: 1200px) {
  .content-grid__col-2 {
    width: 45%;
  }
  .content-grid__col-3,
  .content-grid__col-4 {
    width: 30%;
  }
  .inner-caption .content-grid__col-3,
  .inner-caption .content-grid__col-4 {
    margin-bottom: 3% !important;
  }
}
@media only screen and (max-width: 992px) {
  .content-grid__col-2,
  .content-grid__col-3,
  .content-grid__col-4 {
    width: 46%;
  }
  .masonry-grid .content-grid__col-2,
  .masonry-grid .content-grid__col-3,
  .masonry-grid .content-grid__col-4 {
    width: 47%;
  }
  .inner-caption .content-grid__col-2,
  .inner-caption .content-grid__col-3,
  .inner-caption .content-grid__col-4 {
    margin-bottom: 5% !important;
  }
}
@media only screen and (max-width: 768px) {
  .content-grid__col-2,
  .content-grid__col-3,
  .content-grid__col-4 {
    width: 46%;
  }
  .masonry-grid .content-grid__col-2,
  .masonry-grid .content-grid__col-3,
  .masonry-grid .content-grid__col-4 {
    width: 46%;
  }
}
@media only screen and (max-width: 580px) {
  .content-grid__col-2,
  .content-grid__col-3,
  .content-grid__col-4 {
    margin-top: .5rem !important;
    margin-bottom: 1rem !important;
    width: 100%;
  }
  .masonry-grid .content-grid__col-2,
  .masonry-grid .content-grid__col-3,
  .masonry-grid .content-grid__col-4 {
    width: 100%;
  }
}

.gutter-sizer {
  width: 8%;
}
.gutter-sizer-2 {
  width: 10%;
}
.gutter-sizer-3 {
  width: 8%;
}
.masonry-grid .gutter-sizer-3 {
  width: 5%;
}
.gutter-sizer-4 {
  width: 4%;
}
@media only screen and (min-width: 2000px) {
  .gutter-sizer-2,
  .gutter-sizer-3,
  .gutter-sizer-4 {
    width: 4%;
  }
}
@media only screen and (max-width: 1200px) {
  .gutter-sizer-2 {
    width: 10%;
  }
  .gutter-sizer-3 {
    width: 5%;
  }
  .gutter-sizer-4 {
    width: 4%;
  }
}
@media only screen and (max-width: 992px) {
  .gutter-sizer-2,
  .gutter-sizer-3,
  .gutter-sizer-4 {
    width: 8%;
  }
  .masonry-grid .gutter-sizer-2,
  .masonry-grid .gutter-sizer-3,
  .masonry-grid .gutter-sizer-4 {
    width: 6%;
  }
}
@media only screen and (max-width: 768px) {
  .gutter-sizer-2,
  .gutter-sizer-3,
  .gutter-sizer-4 {
    width: 8%;
  }
  .masonry-grid .gutter-sizer-2,
  .masonry-grid .gutter-sizer-3,
  .masonry-grid .gutter-sizer-4 {
    width: 8%;
  }
}
.content-grid__image-wrap {
  display: block;
  position: relative;
  width: 100%;
}
.content-grid__col-1 .content-grid__image-wrap {
  height: 450px;
}
.content-grid .image-wrap-fit {
  padding-bottom: 140%;
}
.content-grid.masonry-grid .image-wrap-fit {
  padding-bottom: 0%;
}
@media only screen and (max-width: 580px) {
  .content-grid .image-wrap-fit {
    padding-bottom: 120%;
  }
  .content-grid__col-1 .content-grid__image-wrap {
    height: 250px;
  }
  .content-grid.masonry-grid .image-wrap-fit {
    padding-bottom: 0%;
  }
}
.content-grid__image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.masonry-grid .content-grid__image {
  display: block;
  background-color: #848484;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: initial;
  height: auto;
}
.content-grid__link {
  display: flex;
  flex-direction: column;
  opacity: 1;
  pointer-events: all;
  transition: opacity .2s ease;
  text-decoration: none;
  width: 100%;
}
.content-grid__link:hover {
  text-decoration: none;
}
.no-touch .content-grid__link:hover {
  opacity: 1 !important;
  filter: grayscale(0) !important;
}
.has-post-thumbnail .content-grid__link:hover .content-grid__caption,
.portfolio_wrap .content-grid__link:hover .content-grid__caption,
.about-team .content-grid__link:hover .content-grid__caption {
  transform: translate3d(0, 8px, 0);
}
.content-grid__link:hover .content-grid__description {
  color: var(--color-description);
}
.content-grid__caption {
  margin-top: 2rem;
  transform: translate3d(0, 0%, 0);
  transition: transform .3s ease-in-out;
}
@media only screen and (max-width: 992px) {
  .content-grid__caption {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .content-grid__caption {
    margin-top: 1rem;
  }
}
.post-meta {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.post-meta li {
  display: inline-flex;
  flex-wrap: wrap;
  margin: 0;
}
.post-meta > span {
  display: inline;
  white-space: pre-wrap;
}
.post-meta span + span:before {
  content: ' / ';
  margin: 0 5px;
  font-style: normal;
  opacity: .5;
}
.post-meta .post-date:before {
  margin-right: 0;
}
.post-meta a:hover {
  color: var(--color-font);
  text-decoration: none;
}

.post-tags {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .post-tags {
    margin-top: .5rem;
    margin-bottom: .5rem;
  }
}
.post-tags a {
  display: inline-block;
  font-size: .75rem;
  color: var(--color-misc);
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .1rem;
  padding: .8rem 1rem .7rem;
  margin-bottom: .6rem;
  margin-right: .4rem;
  border: 1px solid var(--color-project-footer-before);
  border-radius: 2px;
  transition: .3s ease-in-out;
}
.post-tags a:hover {
  color: var(--color-bg);
  background-color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  .post-tags a {
    padding: .4rem .6rem;
    margin-bottom: .4rem;
    line-height: 1;
  }
}

.blog .content-grid__item.sticky .content-grid__caption::after {
  content: '';
  display: block;
  width: 3px;
  height: 94%;
  position: absolute;
  left: -1.5rem;
  top: 0;
  bottom: 0;
  background-color: #f7541b;
  margin-top: auto;
  margin-bottom: auto;
}
@media only screen and (max-width: 580px) {
  .blog .content-grid__item.sticky .content-grid__caption::after {
    height: 96%;
    left: -15px;
  }
}

.content-grid .content-grid__caption .title {
  margin-bottom: 1rem;
  color: var(--color-font);
  transition: .3s ease-in-out;
}
.blog .content-grid .content-grid__caption .title a,
.blog .item-post-horizon .item-post-horizon__caption .title a {
  color: inherit;
  text-decoration: none;
}
.content-grid.inner-caption .content-grid__caption .title {
  margin-bottom: .5rem;
}
.content-grid__link:hover .content-grid__caption .title {
  margin-bottom: 1rem;
  color: var(--color-accent);
  transition: .3s ease-in-out;
}
.item-post-horizon__link:hover .item-post-horizon__caption .title {
  color: var(--color-accent);
  transition: .2s ease-in-out;
}
.inner-caption .content-grid__link:hover .content-grid__caption .title {
  margin-bottom: .5rem;
}
.inner-caption.content-grid .content-grid__caption .title.title--color-accent {
  color: var(--color-accent);
}
.inner-caption.content-grid .content-grid__caption .title.title--color-default {
  color: #fff;
}

.content-grid__link:hover .content-grid__image[data-effect="blur"] {
  -webkit-filter: blur(4px);
  filter: blur(4px);
  transition: .6s ease-in-out;
}
.content-grid__link:hover .content-grid__image[data-effect="saturate"] {
  -webkit-filter: saturate(200%);
  filter: saturate(200%);
  transition: .6s ease-in-out;
}
.content-grid__link:hover .content-grid__image[data-effect="grayscale"] {
  -webkit-filter: grayscale(.95);
  filter: grayscale(.95);
  transition: .6s ease-in-out;
}
.content-grid__link:hover .content-grid__image[data-effect="sepia"] {
  -webkit-filter: sepia(100%);
  filter: sepia(100%);
  transition: .6s ease-in-out;
}
.inner-caption .content-grid__image-wrap::before {
  content: '';
  background: linear-gradient(to top, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 90%);
  height: 100%;
  width: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity .9s ease-in-out;
  z-index: 1;
}
.inner-caption .content-grid__item:hover .content-grid__image-wrap::before {
  opacity: 1;
}
.inner-caption .content-grid__caption {
  padding: 0 2rem 1.5rem;
  opacity: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate3d(0, 20%, 0);
  transition: all .5s ease-in-out;
  z-index: 2;
}
.inner-caption .content-grid__caption .content-grid__description {
  color: var(--color-font);
}
.inner-caption .onHover:hover .content-grid__caption {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
}

@media only screen and (max-width: 992px) {
  .content-grid .title {
    font-size: 1.5rem;
    margin-bottom: .6rem;
  }
}
.content-grid__name {
  margin-bottom: .4rem;
}
@media only screen and (max-width: 992px) {
  .content-grid__name {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .content-grid__name {
    font-size: 1.2rem;
    margin-bottom: .2rem;
  }
}
.content-grid__description,
.content-grid__role {
  font-size: .9375rem;
  color: var(--color-description);
  margin-bottom: 0;
}
.content-grid__role {
  color: var(--color-misc);
}

.touch .content-grid__image-wrap,
.touch .content-grid__link:hover .content-grid__image-wrap {
  animation: none;
}

@media only screen and (min-width: 769px) {
  .filter {
    display: inline-flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 2rem;
    padding: 0;
  }
  .filter__item {
    font-size: 1.125rem;
    font-weight: 500;
    padding-right: 2rem;
  }
  .filter__item:first-child {
    display: none;
  }
  .filter__item:last-child {
    padding-right: 0;
  }
  .filter__item.active a {
    color: var(--color-accent);
  }
  .filter__link {
    color: var(--color-description);
    padding: 0 4px;
    text-decoration: none;
    display: block;
    overflow: hidden;
    position: relative;
  }
  .filter__link:hover {
    text-decoration: none;
  }
}
.select .placeholder {
  display: none;
}

@media only screen and (max-width: 768px) {
  .select {
    border-bottom: 1px solid #C4C4C4;
    color: var(--color-font);
    display: block;
    margin-bottom: 3rem;
    position: relative;
    vertical-align: middle;
    text-align: left;
    user-select: none;
    width: 100%;
    -webkit-touch-callout: none;
    z-index: 2;
  }
  .select .placeholder {
    position: relative;
    display: block;
    background-color: var(--color-bg);
    z-index: 1;
    padding: .5rem 0;
    cursor: pointer;
  }
  .select .placeholder:after {
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'fonticons';
    content: '\e805';
    z-index: 10;
  }
  .select.is-open .placeholder:after {
    content: '\e804';
  }
  .select.is-open ul {
    display: block;
  }
  .select ul {
    display: none;
    position: absolute;
    overflow: hidden;
    overflow-y: auto;
    width: 100%;
    background: var(--color-font);
    box-shadow: 0 10px 60px rgba(25, 25, 27, 0.1);
    top: 100%;
    left: 0;
    padding: .6rem 0;
    z-index: 100;
    max-height: 600px;
  }
  .select ul li {
    display: block;
    text-align: left;
    padding: .2rem 1.2rem;
    color: #19191B;
    cursor: pointer;
  }
  .select ul li:hover {
    background: rgba(25, 25, 27, 0.05);
  }
  .select ul li:first-child {
    display: none;
  }
  .select ul li a {
    color: #19191B;
    text-decoration: none;
  }
}
@media only screen and (max-width: 580px) {
  .select {
    margin-bottom: .8rem;
  }
  .select ul li {
    padding: .2rem 15px;
  }
}

.project-single .hero .title {
  color: #fff;
}

/* Load More Button
--------------------------------------------- */
.load-more {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.load-more__btn {
  background-color: transparent;
  border: 1px solid var(--color-accent);
  border-radius: 0;
  color: var(--color-accent);
  cursor: pointer;
  font-size: .87rem;
  font-weight: 600;
  letter-spacing: .1rem;
  line-height: inherit;
  white-space: nowrap;
  overflow: hidden;
  padding: .8rem 2rem .7rem;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
	width: auto;
	display: inline-flex;
	align-items: center;
  justify-content: center;
}
.load-more__btn::before {
  background-color: var(--color-accent);
  content: '';
  height: 100%;
  position: absolute;
  left: -120%;
  top: 0;
  transform: skew(50deg);
  transform-origin: top left;
  transition: all .4s;
  width: 0;
  z-index: -1;
}
html.no-touch .load-more__btn:hover .load-more__text {
  color: var(--color-bg);
}
html.no-touch .load-more__btn:hover::before {
  height: 101%;
  width: 250%;
}
.load-more__loader,
.load-more__loader:after {
  border-radius: 50%;
  width: 20px;
  height: 20px;
}
.load-more__loader {
	display: none;
  position: relative;
  border-top: 3px solid var(--color-slider-progressbar);
  border-right: 3px solid var(--color-slider-progressbar);
  border-bottom: 3px solid var(--color-slider-progressbar);
  border-left: 3px solid var(--color-accent);
  transform: translateZ(0);
  animation: loaderSpin .6s infinite linear;
}
.load-more--active .load-more__btn {
  width: 52px;
  padding: 15px 0;
  pointer-events: none;
}
.load-more--active .load-more__text {
  display: none;
  opacity: 0;
}
.load-more--active .load-more__loader {
  display: block;
}
@keyframes loaderSpin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.filter__loading {
  pointer-events: none;
}
.load-more__overlay::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(25, 25, 27, .8);
  transition: 2s ease-in-out;
  z-index: 10;
}
.load-more__overlay .content-grid__image-wrap {
  pointer-events: none;
}

/* Pagination
--------------------------------------------- */
.page-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: center;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  clear: both;
}
.single-post .entry-content .page-nav {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.page-nav .page-numbers,
.page-nav .post-page-numbers {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-description);
  height: 2.85rem;
  min-width: 2.85rem;
  margin: 0 .2rem;
}
.page-nav .prev {
  margin-right: 1rem;
}
.page-nav .next {
  margin-left: 1rem;
}
.page-nav .page-link-holder {
  margin-right: 1rem;
}
.page-nav .page-numbers .circle,
.portfolio-navigation.page-nav .circle {
  margin: 0;
}
@media only screen and (max-width: 992px) {
  .page-nav {
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-nav .page-numbers,
  .page-nav .post-page-numbers {
    margin: 0;
  }	
  .post-navigation .page-nav .page-numbers,
  .portfolio-navigation.page-nav .page-numbers,
  .page-nav .prev.page-numbers,
  .page-nav .next.page-numbers,
  .single-post .page-nav > * {
    font-size: .9375rem;
    font-weight: 500;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 580px) {
  .page-nav {
    margin-top: 2rem;
    margin-bottom: .5rem;
  }
  .page-nav .page-numbers,
  .page-nav .post-page-numbers {
	  height: 2rem;
    min-width: 2rem;
  }	
  .page-nav .prev {
    margin-right: .5rem;
  }
  .page-nav .next {
    margin-left: .5rem;
  }
}
.page-nav .prev.page-numbers,
.page-nav .next.page-numbers {
  font-size: .93rem;
  font-weight: 400;
  text-decoration: none;
}

.circle {
  display: inline-flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  color: #19191B;
  background-color: var(--color-accent);
  box-shadow: 0 0 0 0px var(--color-accent);
  height: 2.85rem;
  overflow: hidden;
  position: relative;
  width: 2.85rem;
  text-align: center;
  transition: box-shadow .3s ease-in-out;
}
.page-numbers:hover .circle,
.post-page-numbers:hover .circle {
  box-shadow: 0 0 0 2px var(--color-accent);
}
.page-nav .page-numbers .circle::before {
  font-weight: 700;
}
.page-nav .page-numbers.current,
.single .entry-content .page-nav .post-page-numbers.current,
.section-page .entry-content .page-nav .post-page-numbers.current {
	border: 2px solid var(--color-accent);
  color: var(--color-accent);
}
@media only screen and (max-width: 768px) {
  .circle::before {
    font-size: .9375rem;
  }
}
@media only screen and (max-width: 580px) {
  .circle {
    height: 2rem;
    width: 2rem;
  }
}
.circle--left {
  margin-right: 1.07rem;
}
.circle--right {
  margin-left: 1.07rem;
}
.circle.icon-left-open::before {
  margin-left: 0;
}

/* -----------------------------------------------------------------
    - Project Single
----------------------------------------------------------------- */
.content-caption {
  margin-top: 5rem;
}
@media only screen and (max-width: 992px) {
  .content-caption {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 580px) {
  .content-caption {
    margin-top: 2rem;
  }
}

.project-slider {
  height: 50vw;
  max-height: 700px;
  margin-top: 2rem;
}
@media only screen and (max-width: 992px) {
  .project-slider {
    height: 60vw;
  }
}
@media only screen and (max-width: 580px) {
  .project-slider {
    height: 100vw;
    margin-top: .5rem;
    margin-bottom: 2rem;
  }
}
.project-slider-control-horizon {
  padding-bottom: 4rem;
  box-sizing: content-box !important;
}
@media only screen and (max-width: 768px) {
  .project-slider-control-horizon {
    padding-bottom: 2rem;
  }
}
.project-slider__item {
  margin-left: 5vw !important;
  margin-right: 5vw !important;
  width: calc(1140px - 30px);
}
@media only screen and (max-width: 1200px) {
  .project-slider__item {
    margin-left: 3.5vw !important;
    margin-right: 3.5vw !important;
    width: calc(960px - 30px);
  }
}
@media only screen and (max-width: 992px) {
  .project-slider__item {
    margin-left: 3.5vw !important;
    margin-right: 3.5vw !important;
    width: calc(720px - 30px);
  }
}
@media only screen and (max-width: 768px) {
  .project-slider__item {
    margin-left: 7.5px !important;
    margin-right: 7.5px !important;
    width: 100%;
  }
}

.project-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--color-project-footer);
  height: 45vh;
  margin-top: 5rem;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 100%;
}
@media only screen and (max-width: 992px) {
  .project-footer {
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 580px) {
  .project-footer {
    margin-top: 1rem;
    height: 38vh;
  }
}
.project-footer::before {
  content: '';
  background-color: var(--color-project-footer-before);
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1;
}
.project-footer:hover::before {
  animation: revealVerticalHover .8s ease-in-out both;
  height: 100%;
}
.project-footer__link p {
  margin-bottom: 0;
}
.project-footer__link:hover {
  color: var(--color-project-footer-hover);
  text-decoration: none;
}
.project-footer__title {
  font-size: 7rem;
  line-height: 1.2;
  margin-bottom: 0;
}
@media only screen and (max-width: 992px) {
  .project-footer__title {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 580px) {
  .project-footer__title {
    font-size: 2.6rem;
  }
}

/* -----------------------------------------------------------------
    - News
----------------------------------------------------------------- */
.news-masonry {
  margin-top: 1rem;
}
@media only screen and (max-width: 580px) {
  .news-masonry {
    margin-top: .5rem;
  }
}
.item-post-horizon {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 1rem;
  margin-bottom: 6rem;
  width: 100%;
}
@media only screen and (max-width: 992px) {
  .item-post-horizon {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 580px) {
  .item-post-horizon {
    margin-bottom: 2rem;
  }
}
.item-post-horizon__link {
  display: contents;
  color: inherit;
}
.item-post-horizon:hover .item-post-horizon__image-wrap::before {
  box-shadow: inset 0px 0px 0px 10px var(--color-bg);
}
@media only screen and (max-width: 992px) {
  .item-post-horizon:hover .item-post-horizon__image-wrap::before {
    box-shadow: none;
  }
}
.item-post-horizon__image-wrap {
  flex-basis: 50%;
  height: 350px;
  position: relative;
  width: 50%;
}
@media only screen and (max-width: 992px) {
  .item-post-horizon__image-wrap {
    flex-basis: 100%;
    height: 50vw;
    width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .item-post-horizon__image-wrap {
    height: 70vw;
  }
}
.item-post-horizon__image-wrap::before {
  content: '';
  box-shadow: inset 0px 0px 0px 0px var(--color-bg);
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  transition: box-shadow .2s ease-in-out;
}
.item-post-horizon__caption {
  flex-basis: 50%;
  padding-left: 5rem;
  width: 50%;
}
@media only screen and (max-width: 1200px) {
  .item-post-horizon__caption {
    padding-left: 3rem;
  }
}
@media only screen and (max-width: 992px) {
  .item-post-horizon__caption {
    flex-basis: 100%;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-top: 2.5rem;
    width: 100%;
  }
}
@media only screen and (max-width: 580px) {
  .item-post-horizon__caption {
    padding-left: 0;
    padding-right: 0;
    padding-top: 1.4rem;
  }
}
.item-post-horizon__description {
  color: var(--color-description);
  font-size: .9375rem;
}
.item-post-horizon .btn-link {
  margin-top: .5rem;
}
@media only screen and (max-width: 580px) {
  .item-post-horizon .btn-link {
    margin-top: 0;
  }
}
.item-post-horizon .item-post-horizon__link > a {
  display: contents;
}
.item-post-horizon:nth-child(2n) .item-post-horizon__image-wrap {
  order: 2;
}
@media only screen and (max-width: 992px) {
  .item-post-horizon:nth-child(2n) .item-post-horizon__image-wrap {
    order: 1;
  }
}
.item-post-horizon:nth-child(2n) .item-post-horizon__caption {
  order: 1;
  padding-left: 0;
  padding-right: 5rem;
}
@media only screen and (max-width: 1200px) {
  .item-post-horizon:nth-child(2n) .item-post-horizon__caption {
    padding-right: 3rem;
  }
}
@media only screen and (max-width: 992px) {
  .item-post-horizon:nth-child(2n) .item-post-horizon__caption {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-top: 2.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .item-post-horizon:nth-child(2n) .item-post-horizon__caption {
    padding-left: 0;
    padding-right: 0;
    padding-top: 2rem;
  }
}
.item-post-horizon:nth-child(2n) .title--separation::before {
  left: auto;
  right: -6vw;
}
@media only screen and (max-width: 992px) {
  .item-post-horizon:nth-child(2n) .title--separation::before {
    left: -6vw;
    right: auto;
  }
}

.post-details {
  color: var(--color-misc);
  font-size: .875rem;
  margin-bottom: .8rem;
  text-transform: uppercase;
}
.subtitle__no .post-details {
  margin-top: 2rem;
}
@media only screen and (max-width: 580px) {
  .subtitle__no .post-details {
    margin-top: 1rem;
  }
}
.post-details a {
  color: inherit;
}

/* Sidebar
--------------------------------------------- */
.blog-sidebar {
  border: 1px solid rgba(132, 132, 132, 0.4);
  margin-top: 1rem;
  margin-left: 2rem;
  padding: 1.5rem;
}
@media only screen and (max-width: 1200px) {
  .blog-sidebar {
    margin-left: 0;
  }
}
@media only screen and (max-width: 580px) {
  .blog-sidebar {
    padding: 1rem;
    margin-top: 3.5rem;
  }
}
.wp-block-search__inside-wrapper {
  display: flex;
}
.blog-sidebar .wp-block-search__label {
  display: none;
}
.wp-block-search__button.wp-element-button {
  margin: 0;
}
.wp-block-search__button svg {
  min-width: 2rem;
  min-height: 2rem;
}
.wp-block-search .wp-block-search__input,
.not-found .search-form input,
.post-password-form input[type=password] {
  flex: 1 0 0;
  width: 100%;
  color: var(--color-font);
  background-color: transparent;
  border: 1px solid rgba(132, 132, 132, 0.4);
  padding: .8rem;
}
.wp-block-search .wp-block-search__input:focus,
.not-found .search-form input:focus,
.post-password-form input[type=password]:focus {
  border: 1px solid var(--color-border-focus);
  color: var(--color-font);
  outline: none;
}
.wp-block-search__input:not(.wp-block-search__no-button input),
.wp-block-search__input:not(.wp-block-search__no-button input):focus,
.not-found .search-form input,
.not-found .search-form input:focus {
  border-right: 0;
}
:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
  border: 1px solid rgba(132, 132, 132, 0.4);
}
.wp-block-search__button-inside .wp-block-search__input,
.wp-block-search__button-inside .wp-block-search__input:focus {
  border: 0;
  padding-right: .5rem;
}
.blog-sidebar h2 {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 500;
}
.blog-sidebar .widget.widget_block {
  margin-bottom: 2.5rem;
}
.blog-sidebar .widget.widget_block:last-child {
  margin-bottom: 0;
}
.blog-sidebar .widget.widget_block h1,
.blog-sidebar .widget.widget_block h2,
.blog-sidebar .widget.widget_block h3,
.blog-sidebar .widget.widget_block h4,
.blog-sidebar .widget.widget_block h5,
.blog-sidebar .widget.widget_block h6 {
  margin-bottom: 1rem;
}
.blog-sidebar .widget.widget_block ul,
.blog-sidebar .widget.widget_block ol  {
  list-style: none;
  padding-left: 0;
}
.blog-sidebar ul li a,
.blog-sidebar ol li a {
  color: var(--color-description);
  text-decoration: none;
}
.blog-sidebar ul li a:hover,
.blog-sidebar ol li a:hover {
	text-decoration: underline;
}
.wp-block-latest-comments__comment {
  line-height: 2;
  color: var(--color-font);
}
.wp-block-latest-comments__comment,
.wp-block-latest-posts.wp-block-latest-posts__list li {
  margin-bottom: .5rem;
}
.single-post .wp-block-latest-comments__comment {
  margin-bottom: 2rem !important;
}
.blog-sidebar .wp-block-latest-posts__post-title,
.wp-block-latest-comments__comment a,
.wp-block-latest-comments__comment-excerpt p   {
  color: var(--color-description);
}
.blog-sidebar li:hover a {
  color: var(--color-accent);
}

/* -----------------------------------------------------------------
    - Single Post
----------------------------------------------------------------- */
.single-post .content-caption {
  margin-top: 2rem;
}
.header-post .foreword {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 992px) {
  .single-post .content-caption {
    margin-top: 1.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .single-post .content-caption {
    margin-top: 1rem;
  }
  .header-post .foreword {
    margin-bottom: 1rem;
  }
}
.header-post .video-container {
  margin-top: 3.6rem;
}
.header-post .video-container:not(.featured-youtube) {
  height: 100%;
}
@media only screen and (max-width: 580px) {
  .header-post .video-container {
    margin-top: 2rem;
  }
  .header-post .video-container:not(.featured-youtube) {
    height: 100%;
  }
}

.single-post .entry-content > * {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 580px) {
  .single-post .entry-content > * {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
}
.entry-content > *.alignleft,
.entry-content > *.alignright,
.entry-content > *.alignleft:first-child + *,
.entry-content > *.alignright:first-child + *,
.entry-content > *.alignfull.has-background {
  margin-top: 0;
}

.post-footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 6rem;
  margin-top: 3rem;
}
@media only screen and (max-width: 768px) {
  .post-footer {
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 580px) {
  .post-footer {
    margin-top: 1rem;
    margin-bottom: 2.5rem;
  }
}
.post-footer__nav {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-box;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.post-footer .btn-link {
  color: var(--color-misc);
}
.post-footer .btn-link:hover {
  color: var(--color-accent);
}
.post-footer .btn-link:hover::before {
  background-color: var(--color-accent);
}
.post-footer .btn-link::before {
  background-color: var(--color-misc);
}
.post-footer .social {
  margin-top: -1.5rem;
}
@media only screen and (max-width: 768px) {
  .post-footer .social {
    top: 0;
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 580px) {
  .post-footer .social {
    top: 0;
  }
  .post-footer .social a {
    font-size: 1rem;
  }
}

/* Comments
--------------------------------------------- */
.post-comments {
  margin-top: 4.5rem;
}
@media only screen and (max-width: 580px) {
  .post-comments {
    margin-top: 3rem;
  }
}
.comments-title,
.comment-reply-title {
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}
@media only screen and (max-width: 580px) {
  .comments-title,
  .comment-reply-title {
    margin-bottom: .5rem;
  }
}
.avatar {
  border-radius: 50%;
}
@media only screen and (max-width: 580px) {
  .avatar {
    height: 40px;
    width: 40px;
  }
}
.comment-body {
  display: flex;
}
.trackback .comment-body,
.pingback .comment-body {
  display: grid;
}
.trackback .comment-body a,
.pingback .comment-body a {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 580px) {
  .comment-body {
    padding-top: 1rem;
  }
}
.comment-list{
  list-style: none;
  padding: 0;
}
.comment-list .children {
  list-style: none;
}
.comment-list > li,
.children > li {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.comment-list > .trackback,
.comment-list > .pingback {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.children > li:last-child {
  padding-bottom: 0;
}
.children {
  padding-top: 1.5rem;
}
@media only screen and (max-width: 580px) {
  .comment-list > li,
  .children > li {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .comment-list > .trackback,
  .comment-list > .pingback {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  .children {
    padding-top: .5rem;
  }
}
.comment-content {
  width: 100%;
  margin-left: 2rem;
  overflow: hidden;
}
.comment-author {
  position: relative;
  flex: 0 0 auto;
}
.comment-meta {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .comment-content {
    margin-left: 1.2rem;
  }
  .comment-meta {
    display: block;
  }
}
.comment-name {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0;
}
.comment-name a {
  text-decoration: none;
}
.comment-metadata {
  font-size: .875rem;
  font-weight: 500;
  text-transform: uppercase;
}
.comment-metadata a {
  color: var(--color-misc);
}
.comment-metadata:before {
  content: ' / ';
  margin-left: 9px;
  margin-right: 5px;
  font-style: normal;
  opacity: .5;
}
@media only screen and (max-width: 580px) {
  .comment-name {
    font-size: 1.1rem;
  }
  .comment-metadata {
    display: block;
    font-size: .85rem;
    margin-top: .5rem;
  }
  .comment-metadata:before {
    display: none;
  }
}
.reply {
  display: inline-block;
}
.comment-reply-link,
.comment-edit-link {
  font-size: .87rem;
  font-weight: 500;
  color: var(--color-misc);
  letter-spacing: .1rem;
  text-transform: uppercase;
  margin-right: 1.5rem;
}
.comment-metadata:hover a,
.comment-reply-link:hover,
.comment-edit-link:hover {
  color: var(--color-font);
  text-decoration: none;
}
.bypostauthor {
  display: block;
}
.comment-list .comment.byuser .comment-author::after,
.comment-list .pingback.byuser .comment-author::after,
.comment-list .trackback.byuser .comment-author::after {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  background-image: url('../images/check.svg');
  background-size: 24px 24px;
  height: 24px;
  width: 24px;
}
@media only screen and (max-width: 580px) {
  .comment-list .comment.byuser .comment-author::after,
  .comment-list .pingback.byuser .comment-author::after,
  .comment-list .trackback.byuser .comment-author::after {
    background-size: 16px 16px;
    height: 16px;
    width: 16px;
  }
}
.comment-respond {
  margin-top: 2rem;
}
.comment-reply-title {
  margin-bottom: 1rem;
}
.comment .comment-reply-title {
  font-size: 1.25rem;
}
.comment-reply-title small {
  font-size: 1rem;
  margin-left: 1rem;
}
@media only screen and (max-width: 580px) {
  .comments-area .btn {
    width: 100%;
  }
  .comment-reply-title {
    margin-bottom: .5rem;
  }
}
.comments-pagination {
  text-align: center;
}
.comments-pagination .page-numbers {
  display: inline-block;
  padding: 0 1rem;
  font-size: .87rem;
  font-weight: 500;
  letter-spacing: .1rem;
  text-transform: uppercase;
}
.comments-pagination .page-numbers.current {
  display: inline-block;
  padding: 0 1rem;
  font-size: .87rem;
  color: #8d99a7;
  font-weight: 500;
  letter-spacing: .1rem;
  text-transform: uppercase;
}

.wp-block-post-comments-form input:not([type=submit]),
.wp-block-post-comments-form textarea {
  border-color: var(--color-border);
}
.wp-block-post-comments-form input:not([type=submit]):focus,
.wp-block-post-comments-form textarea:focus {
  border-color: var(--color-border-focus);
}
.wp-block-post-comments-form .comment-form-cookies-consent {
  align-items: baseline;
}
.wp-block-post-comments-form .submit:hover {
  background-color: var(--color-accent);
}
.wp-block-group.has-black-border-color {
  border-color: var(--color-border-focus);
}

.scroll-line {
  background: var(--color-accent);
  height: 3px;
  position: fixed;
  top: 0;
  width: 0;
  z-index: 3;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-block-image .aligncenter > figcaption {
  display: inline-block;
}
.wp-caption-text,
.wp-block-image figcaption,
.wp-block-video figcaption,
.wp-block-gallery figcaption,
.wp-block-embed figcaption {
  color: var(--color-misc);
  font-size: .87rem;
  font-style: italic;
  text-align: center;
  padding-top: 1rem;
  margin: 0;
}
.wp-block-video figcaption,
.wp-block-gallery figcaption {
  padding-top: 0;
}
@media only screen and (max-width: 580px) {
  .wp-caption-text,
  .wp-block-image figcaption,
  .wp-block-video figcaption,
  .wp-block-gallery figcaption,
  .wp-block-embed figcaption {
    font-size: .75rem;
    padding-top: .5rem;
  }
  .wp-block-video figcaption {
    padding-top: 0;
  }
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
}
.gallery-item {
	display: inline-block;
	text-align: center;
  vertical-align: top;
	width: 100%;
  margin-bottom: 2rem;
}
.gallery-columns-2 .gallery-item {
  max-width: 50%;
}
.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
  max-width: 25%;
}
.gallery-columns-5 .gallery-item {
  max-width: 20%;
}
.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}
.gallery-caption {
	display: block;
}

/* Calendar
--------------------------------------------- */
table th#today,
table td#today,
.wp-calendar-table th#today,
.wp-calendar-table td#today {
  background: #110f10;
  color: #fff;
}
.wp-block-calendar .wp-calendar-table caption {
  color: #fff;
  text-align: center;
  caption-side: top;
}
.wp-block-calendar nav.wp-calendar-nav {
  padding-top: 0.75rem;
}
.wp-block-calendar table tbody {
  color: var(--color-font);
}

/* -----------------------------------------------------------------
    - About
----------------------------------------------------------------- */
.section-about {
  margin-top: 10rem;
  position: relative;
}
@media only screen and (max-width: 1200px) {
  .section-about {
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 580px) {
  .section-about {
    margin-top: 3.5rem;
  }
}

.brand-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.brand-grid__item {
  display: flex;
  justify-content: center;
  opacity: .5;
  width: 50%;
  height: 100%;
}
@media only screen and (min-width: 580px) {
  .brand-grid__item {
    padding: 0 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .brand-grid__item {
    width: 33.3333%;
  }
}
@media only screen and (min-width: 992px) {
  .brand-grid__item {
    width: 25%;
  }
}
@media only screen and (min-width: 1500px) {
  .brand-grid__item {
    width: 20%;
  }
}
.brand-grid__item img {
  height: 100%;
  width: 100%;
}

/* -----------------------------------------------------------------
    - Footer
----------------------------------------------------------------- */
.footer {
  color: var(--color-footer);
  margin-top: 5rem;
  padding: 5rem 0;
  position: relative;
}
@media screen and (max-width: 580px) {
  .footer {
    margin-top: 3rem;
    padding: 1.4rem 0;
  }
}
.footer::before {
  content: '';
  background-color: rgba(132, 132, 132, 0.4);
  position: absolute;
  top: 0;
  left: -15px;
  height: 1px;
  width: 10vw;
}
@media screen and (max-width: 580px) {
  .footer::before {
    width: 20vw;
  }
}
.footer-fully {
  padding-left: 7.5rem;
  padding-right: 7.5rem;
}
@media only screen and (max-width: 768px) {
  .footer-fully {
    padding-left: 3.125rem;
    padding-right: 3.125rem;
  }
}
@media only screen and (max-width: 580px) {
  .footer-fully {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.footer__contacts {
  font-size: .875rem;
  line-height: 2rem;
  margin-bottom: 1rem;
}
.footer__contacts .widgettitle {
  font-size: 1.5rem;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 580px) {
  .footer__contacts {
    line-height: 1.6rem;
  }
  .footer__contacts .widgettitle {
    font-size: 1.3rem;
    margin-bottom: .5rem;
  }
}
.footer__social a {
  font-size: 1rem;
  color: var(--color-footer);
}
.footer__social a:hover {
  color: var(--color-accent);
}

/* -----------------------------------------------------------------
    - Contact
----------------------------------------------------------------- */
@media only screen and (max-width: 992px) {
  .contact-form {
    margin-top: 10rem;
    margin-bottom: 4rem;
    margin-right: 0;
  }
}
@media only screen and (max-width: 580px) {
  .contact-form {
    margin-top: 7rem;
  }
}
@media only screen and (max-width: 580px) {
  .contact-form .btn {
    width: 100%;
  }
}

.map {
  background-color: #848484;
  height: 100vh;
  margin-right: -7.5rem;
  position: relative;
  top: 0;
  right: 0;
  direction: ltr;
}
@media only screen and (max-width: 992px) {
  .map {
    height: 50vh;
    margin-right: 0;
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 580px) {
  .map {
    height: 340px;
    margin-top: 1.1rem;
    margin-bottom: 15px;
  }
}

.popover-map-title {
  color: #19191B;
  font-size: 1.2rem;
  margin-top: .2rem;
  margin-bottom: .5rem;
}
.popover-map-caption {
  color: #19191B;
  font-weight: 400;
}

#marker {
  background-image: url("../images/icon-map-pic-2.svg");
  background-size: cover;
  width: 50px;
  height: 50px;
  cursor: pointer;
}

.mapboxgl-popup-content {
  color: #19191B;
}

/* -----------------------------------------------------------------
    - Services
----------------------------------------------------------------- */
.service-item {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 580px) {
  .service-item {
    margin-bottom: 1.5rem;
  }
}
.service-item__icon {
  margin-bottom: 2rem;
  width: 5rem;
}
@media only screen and (max-width: 580px) {
  .service-item__icon {
    margin-bottom: 1.5rem;
    width: 4rem;
  }
}

/* -----------------------------------------------------------------
    - 404
----------------------------------------------------------------- */
.parallax-container {
  overflow: hidden;
}

.error-page {
  height: 100vh;
}
.admin-bar .error-page {
  height: calc(100vh - 32px);
}
.error-page .description {
  margin-bottom: 0;
}

.mask-object {
  filter: drop-shadow(0 20px 30px rgba(25, 25, 27, 0.1));
  margin-bottom: 2rem;
  width: 30vw;
  transition: all 0.8s cubic-bezier(0.2, 1, 0.8, 1);
}
@media only screen and (max-width: 992px) {
  .mask-object {
    width: 50vw;
  }
}
@media only screen and (max-width: 580px) {
  .mask-object {
    width: 80vw;
  }
}

/* -----------------------------------------------------------------
    - Other
----------------------------------------------------------------- */
.back-to-top {
  background-image: var(--color-back-to-top);
  background-position: center;
  cursor: pointer;
  height: 36px;
  opacity: .5;
  position: fixed;
  right: 40px;
  bottom: 30px;
  width: 30px;
  transition: opacity .35s ease-out;
  z-index: 10;
}
.back-to-top:hover {
  opacity: 1;
}
@media only screen and (max-width: 580px) {
  .back-to-top {
    display: none !important;
  }
}

.cursor,
.node {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity .3s ease-in-out, transform 0.3s ease-in-out;
  z-index: 1101;
}

.cursor {
  width: 6px;
  height: 6px;
  background-color: var(--color-accent);
}

.node {
  width: 38px;
  height: 38px;
  border: 1px solid color-mix(in srgb, var(--color-accent) 30%, transparent);
}
.node.expand {
  background-color: color-mix(in srgb, var(--color-accent) 20%, transparent);
  border: 0;
  transform: translate(-50%, -50%) scale(2);
}
.node.drag::before, .node.drag::after {
  color: var(--color-accent);
  font-family: 'fonticons';
  font-size: .6rem;
  margin-top: -.6rem;
  position: absolute;
  top: 50%;
}
.node.drag::before {
  content: '\e801';
  left: -10px;
}
.node.drag::after {
  content: '\e803';
  right: -10px;
}

.cursorDrag {
  cursor: none !important;
}

.parallax-wrap,
.intro__parallax-wrap,
.post__parallax-wrap {
  overflow: hidden;
  will-change: transform;
}
body:not(.no-parallax) .header-page .parallax-wrap img.parallax-content {
  height: 120%;
}
.parallax-content {
  will-change: transform;
}

.jarallax {
  position: relative;
  z-index: 0;
}

.jarallax > .jarallax-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.jarallax-wrap {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.jarallax-keep-img {
  position: relative;
  z-index: 0;
}

.jarallax-keep-img > .jarallax-img {
  position: relative;
  display: block;
  max-width: 100%;
  height: auto;
  z-index: -100;
}

.split-line,
.split-parent,
.js-words {
  overflow: hidden;
}
.js-lines {
  will-change: transform;
}

.medium-zoom-overlay {
  background: var(--color-bg) !important;
  z-index: 1099;
}

.medium-zoom-image {
  z-index: 1099;
  cursor: pointer !important;
}

@keyframes revealHorizontalHover {
  0% {
    transform: translateX(-100%);
  }
  40% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes revealVerticalHover {
  0% {
    transform: translateY(100%) rotate(15deg) scale(2);
    transform-origin: top left;
  }
  40% {
    transform: translateY(0);
    perspective: 1000px;
  }
  100% {
    transform: translateY(-100%);
    perspective: 1000px;
  }
}
.reveal-box,
.post-image {
  backface-visibility: hidden;
  overflow: hidden;
  height: 100%;
  position: relative;
  width: 100%;
  will-change: transform;
}
.align-image.reveal-box {
  height: auto;
}
.reveal-box img {
  transform-origin: left;
  will-change: transform;
}

.js-zooming.has-hovered {
  animation: projectAnimHover .6s linear forwards running;
}
.js-zooming.not-hovered {
  animation: projectAnimBack .6s linear forwards running;
}

@keyframes projectAnimHover {
  0% {
    transform: perspective(1500px) translateZ(0) rotateX(0) rotateY(0);
  }
  50% {
    transform: perspective(1500px) translateZ(15px) rotateX(3deg) rotateY(3deg);
  }
  100% {
    transform: perspective(1500px) translateZ(30px) rotateX(0) rotateY(0);
  }
}
@keyframes projectAnimBack {
  0% {
    transform: perspective(1500px) translateZ(30px) rotateX(0) rotateY(0);
  }
  50% {
    transform: perspective(1500px) translateZ(15px) rotateX(-3deg) rotateY(-3deg);
  }
  100% {
    transform: perspective(1500px) translateZ(0) rotateX(0) rotateY(0);
  }
}


/* -----------------------------------------------------------------
    - Accessibility
----------------------------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}


/* -----------------------------------------------------------------
    - Alignments
----------------------------------------------------------------- */

.single-post .entry-content .alignleft,
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5rem;
	margin-bottom: 1.5rem;
}
.single-post .entry-content .alignright,
.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.single-post .entry-content .aligncenter,
.aligncenter {
	clear: both;
	margin-left: auto;
	margin-right: auto;
  text-align: center;
}

.alignfull,
.blocks-gallery-grid.alignfull,
.wp-block-gallery.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: calc(100vw - 3px);
}
.wp-block-columns.alignfull,
.alignfull:not(.has-background) .wp-block-columns {
  padding-left: 3rem;
  padding-right: 3rem;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .wp-block-columns.alignfull,
  .alignfull:not(.has-background) .wp-block-columns {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .wp-block-columns.alignfull,
  .alignfull:not(.has-background) .wp-block-columns {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 580px) {
  .alignfull {
    width: 100vw;
  }
}

.alignwide,
.blocks-gallery-grid.alignwide,
.wp-block-gallery.alignwide {
  margin-left: -200px;
  margin-right: -200px;
  max-width: 1230px;
  width: auto;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .alignwide,
  .blocks-gallery-grid.alignwide,
  .wp-block-gallery.alignwide {
    margin-left: -50px;
    margin-right: -50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .alignwide,
  .blocks-gallery-grid.alignwide,
  .wp-block-gallery.alignwide {
    margin-left: -50px;
    margin-right: -50px;
  }
}
@media only screen and (max-width: 767px) {
  .alignwide,
  .blocks-gallery-grid.alignwide,
  .wp-block-gallery.alignwide {
    margin-left: 0;
    margin-right: 0;
  }
}
.wp-block-image.alignfull,
.wp-block-cover.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: calc(100vw - 3px);
  max-width: 100vw;
}
.wp-block-image.alignwide,
.wp-block-cover.alignwide {
  margin-left: -200px;
  margin-right: -200px;
  max-width: 1230px;
  width: auto;
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .wp-block-image.alignwide,
  .wp-block-cover.alignwide {
    margin-left: -50px;
    margin-right: -50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .wp-block-image.alignwide,
  .wp-block-cover.alignwide {
    margin-left: -50px;
    margin-right: -50px;
  }
}
@media only screen and (max-width: 767px) {
  .wp-block-image.alignwide,
  .wp-block-cover.alignwide {
    margin-left: 0;
    margin-right: 0;
  }
}
.wp-block-image.alignwide img,
.wp-block-cover.alignwide img {
  width: 100%;
}
.wp-block-image.alignfull img,
.wp-block-cover.alignfull img {
  width: 100%;
}

.wp-block-separator.alignwide:not(.is-style-wide):not(.is-style-dots),
.wp-block-separator.alignfull:not(.is-style-wide):not(.is-style-dots) {
  margin-right: auto;
  margin-left: auto;
}

.wp-block-cover-image.is-light .wp-block-cover__inner-container,
.wp-block-cover.is-light .wp-block-cover__inner-container {
  color: inherit;
}

.single-post .wp-block-image,
.single-post .wp-block-gallery {
  margin-top: 3.5rem;
  margin-bottom: 3.5rem;
}
.single-post .wp-block-gallery.alignleft  {
  margin-top: 0;
}
.item-news .wp-block-image {
  margin-top: .5rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 992px) {
  .single-post .wp-block-image,
  .single-post .wp-block-gallery {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 580px) {
  .single-post .wp-block-image,
  .single-post .wp-block-gallery {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .item-news .wp-block-image {
    margin-bottom: 1rem;
  }
}

/* -----------------------------------------------------------------
    - WMML
----------------------------------------------------------------- */
.lang-switcher {
  display: flex;
  align-items: center;
  pointer-events: initial;
}
.wpml-ls {
	border: 1px solid rgba(132, 132, 132, 0.4);
	margin-right: 2rem;
  width: auto;
}
.menu-classic .wpml-ls {
	margin-left: 2rem;
}
.wpml-ls ul {
  padding: 0;
  line-height: 1;
}
.wpml-ls-legacy-dropdown a {
  padding: 11px 12px 12px 12px;
  text-decoration: none;
}
.wpml-ls-slot-lang-switcher::before {
  content: '';
  display: block;
  position: absolute;
  inset: -.5rem;
}
[data-theme="dark"] .wpml-ls-legacy-dropdown:hover {
  background-color: #19191B;
  transition: all 0.2s;
}
.wpml-ls-legacy-dropdown-click a,
.wpml-ls-legacy-dropdown a {
  color: #fff;
  border: 0 !important;
  background-color:transparent !important;
	font-size: .9rem;
	z-index: 102;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a,
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
  font-weight: 500;
	padding: 20px;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-flag,
.wpml-ls-legacy-dropdown .wpml-ls-flag {
	width: 20px;
	max-width: initial;
}
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
  content: "\e805";
	font-family: "fonticons";
  font-weight: normal !important;
	font-size: 1rem;
  color: var(--color-font);
  border: 0 !important;
  border-top: 0.5em solid;
  right: 10px;
  top: calc(50% - 0.45em);
	transform: rotate(0deg);
	transition: transform .3s ease;
}
body.open .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
body.open .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.sticky.opened.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.sticky.opened.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
  color: #fff;
}
.menu-side.opened .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
.menu-side.opened .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.sticky.menu-side.opened.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
.sticky.menu-side.opened.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
  color: var(--color-font);
}
body:not(.open) .navbar.sticky.menu-classic .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
body:not(.open) .navbar.sticky.menu-classic .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
  color: var(--color-font);
}
@media only screen and (max-width: 580px) {
  [data-theme="light"] .menu-side.opened .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
  [data-theme="light"] .menu-side.opened .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after,
  .sticky.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
  .sticky.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    color: #19191B;
  }
  body.open .sticky.navbar-change.navbar--light .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
  body.open .sticky.navbar-change.navbar--light .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    color: #fff;
  }
}
.wpml-ls-legacy-dropdown-click:hover a.wpml-ls-item-toggle:after,
.wpml-ls-legacy-dropdown:hover a.wpml-ls-item-toggle:after {
  transform: rotate(-180deg);
  transition: 0.2s ease all;
}
.wpml-ls-item-toggle .wpml-ls-native {
	display: none;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-flag + span,
.wpml-ls-legacy-dropdown .wpml-ls-flag + span {
  margin-left: .7em;
}
.wpml-ls-legacy-dropdown-click a span,
.wpml-ls-legacy-dropdown a span {
  vertical-align: initial;
}
.wpml-ls-sub-menu {
	border: 0 !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
  padding: 0 !important;
  margin-right: -1px !important;
	top: calc(100% + 2px) !important;
	left: auto !important;
  width: auto;
	white-space: nowrap;
}
.wpml-ls-sub-menu .wpml-ls-item {
	background: transparent;
	padding: 0;
	position: relative;
	transition: background .4s ease;
}
.wpml-ls-sub-menu .wpml-ls-item:hover,
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a:hover,
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a:hover {
  color: #000;
  background: var(--color-accent);
} 
.wpml-ls-sub-menu .wpml-ls-item::before,
.wpml-ls-sub-menu .wpml-ls-item::after {
	display: none;
}

@media only screen and (max-width: 992px) {
	.wpml-ls {
	  margin-right: 1.5rem;
		margin-left: 0;
  }
  .menu-classic .wpml-ls {
    margin-left: 0;
  }
	.wpml-ls-legacy-dropdown-click a,
  .wpml-ls-legacy-dropdown a {
	  font-size: .85rem;
  }
}
@media only screen and (min-width: 992px) {
  .menu-classic .wpml-ls {
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
	.wpml-ls-legacy-dropdown-click .wpml-ls-flag,
  .wpml-ls-legacy-dropdown .wpml-ls-flag {
		width: 18px;
	}
  .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after,
  .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
	  font-size: .9rem;
	}
}
@media only screen and (max-width: 580px) {
	.wpml-ls {
		margin-right: 1rem;
	}
	.wpml-ls-legacy-dropdown-click a,
  .wpml-ls-legacy-dropdown a {
	  font-size: .8rem;
	}
	.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a,
  .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
    padding: 16px;
	}
}