* {
  box-sizing: border-box;
}

.container {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
}

.container-wide {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 1800px;
}

.messages {
  width: 100%;
  max-width: 1190px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767px) {
  footer {
    text-align: center;
  }
}

@media (max-width: 767px) {
  .region-footer {
    display: flex;
    flex-direction: column;
  }
  .region-footer .block-contacts, .region-footer .block-footer-heading {
    order: -1;
  }
}
@media (min-width: 768px) {
  .region-footer {
    font-weight: 500;
  }
}

html {
  font-size: 16px;
  font-family: "rustica", sans-serif;
  line-height: 1.4;
  color: #000;
}
@media (min-width: 768px) {
  html {
    font-size: 18px;
  }
}

p {
  margin: 0 0 1em;
}
p:last-child {
  margin-bottom: 0;
}

a {
  color: inherit;
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}

b, strong, th {
  font-weight: 600;
}

h1, h2, h3, h4, h5, h6,
.h1,
.block-title, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 0;
  margin-bottom: 0.5em;
  font-weight: 400;
  line-height: 1.1;
  font-family: "liberation-serif", serif;
}

h1, .h1, .block-title {
  font-size: 1.8rem;
}
@media (min-width: 768px) {
  h1, .h1, .block-title {
    font-size: 3rem;
  }
}

h2, .h2 {
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: 1.35rem;
}
@media (min-width: 768px) {
  h3, .h3 {
    font-size: 1.55rem;
  }
}

h4, .h4 {
  font-size: 1.3rem;
}
@media (min-width: 768px) {
  h4, .h4 {
    font-size: 1.4rem;
  }
}

h5, .h5 {
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  h5, .h5 {
    font-size: 1.3rem;
  }
}

h6, .h6 {
  font-size: 1.1rem;
}
@media (min-width: 768px) {
  h6, .h6 {
    font-size: 1.2rem;
  }
}

.btn {
  display: inline-block;
  font-weight: 400;
  font-family: "rustica", sans-serif;
  line-height: 1.25;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.3em 1em;
  font-size: 18px;
  border-radius: 0;
}
@media (min-width: 768px) {
  .btn {
    padding: 0.5em 1.5em;
    border-radius: 0;
  }
}
.btn:hover, .btn:focus, .btn.focus {
  text-decoration: none;
}
.btn:active, .btn.active {
  background-image: none;
  outline: 0;
}
.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
}

input.btn {
  width: 100%;
}

.btn-default {
  color: #fff;
  background-color: #000;
  border-color: #000;
}
.btn-default:focus, .btn-default.focus {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-default:hover {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-default:active, .btn-default.active {
  color: #fff;
  background-color: black;
  background-image: none;
  border-color: black;
}
.btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default.focus {
  background-color: #000;
  border-color: #000;
}

.btn-white {
  color: #000;
  background-color: #fff;
  border-color: #fff;
}
.btn-white:focus, .btn-white.focus {
  color: #000;
  background-color: #e6e6e6;
  border-color: #bfbfbf;
}
.btn-white:hover {
  color: #000;
  background-color: #e6e6e6;
  border-color: #e0e0e0;
}
.btn-white:active, .btn-white.active {
  color: #000;
  background-color: #e6e6e6;
  background-image: none;
  border-color: #e0e0e0;
}
.btn-white:active:hover, .btn-white:active:focus, .btn-white:active.focus, .btn-white.active:hover, .btn-white.active:focus, .btn-white.active.focus {
  color: #000;
  background-color: #d4d4d4;
  border-color: #bfbfbf;
}
.btn-white.disabled:hover, .btn-white.disabled:focus, .btn-white.disabled.focus, .btn-white[disabled]:hover, .btn-white[disabled]:focus, .btn-white[disabled].focus, fieldset[disabled] .btn-white:hover, fieldset[disabled] .btn-white:focus, fieldset[disabled] .btn-white.focus {
  background-color: #fff;
  border-color: #fff;
}

.btn-transparent {
  color: #000;
  background-color: transparent;
  border-color: transparent;
}
.btn-transparent:focus, .btn-transparent.focus {
  color: #000;
  background-color: rgba(0, 0, 0, 0);
  border-color: rgba(0, 0, 0, 0);
}
.btn-transparent:hover {
  color: #000;
  background-color: rgba(0, 0, 0, 0);
  border-color: rgba(0, 0, 0, 0);
}
.btn-transparent:active, .btn-transparent.active {
  color: #000;
  background-color: rgba(0, 0, 0, 0);
  background-image: none;
  border-color: rgba(0, 0, 0, 0);
}
.btn-transparent:active:hover, .btn-transparent:active:focus, .btn-transparent:active.focus, .btn-transparent.active:hover, .btn-transparent.active:focus, .btn-transparent.active.focus {
  color: #000;
  background-color: rgba(0, 0, 0, 0);
  border-color: rgba(0, 0, 0, 0);
}
.btn-transparent.disabled:hover, .btn-transparent.disabled:focus, .btn-transparent.disabled.focus, .btn-transparent[disabled]:hover, .btn-transparent[disabled]:focus, .btn-transparent[disabled].focus, fieldset[disabled] .btn-transparent:hover, fieldset[disabled] .btn-transparent:focus, fieldset[disabled] .btn-transparent.focus {
  background-color: transparent;
  border-color: transparent;
}

.btn-black {
  color: #fff;
  background-color: #000;
  border-color: #000;
}
.btn-black:focus, .btn-black.focus {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-black:hover {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-black:active, .btn-black.active {
  color: #fff;
  background-color: black;
  background-image: none;
  border-color: black;
}
.btn-black:active:hover, .btn-black:active:focus, .btn-black:active.focus, .btn-black.active:hover, .btn-black.active:focus, .btn-black.active.focus {
  color: #fff;
  background-color: black;
  border-color: black;
}
.btn-black.disabled:hover, .btn-black.disabled:focus, .btn-black.disabled.focus, .btn-black[disabled]:hover, .btn-black[disabled]:focus, .btn-black[disabled].focus, fieldset[disabled] .btn-black:hover, fieldset[disabled] .btn-black:focus, fieldset[disabled] .btn-black.focus {
  background-color: #000;
  border-color: #000;
}

.form-control, .form-select {
  display: block;
  width: 100%;
  padding: 0.3em 1em;
  font-size: 18px;
  line-height: 1.25;
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
}
@media (min-width: 768px) {
  .form-control, .form-select {
    padding: 0.5em 1.5em;
  }
}
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control, .form-select[disabled], .form-select[readonly], fieldset[disabled] .form-select {
  background-color: #EBECEC;
  opacity: 1;
}
.form-control[disabled], fieldset[disabled] .form-control, .form-select[disabled], fieldset[disabled] .form-select {
  cursor: not-allowed;
}

::-webkit-input-placeholder {
  text-transform: uppercase;
  color: #929292;
}

:-ms-input-placeholder {
  text-transform: uppercase;
  color: #929292;
}

::placeholder {
  text-transform: uppercase;
  color: #929292;
}

@media (min-width: 768px) {
  .webform-submission-contact-form .btn-gold {
    color: #000;
    background-color: #fff;
    border-color: #fff;
  }
  .webform-submission-contact-form .btn-gold:focus, .webform-submission-contact-form .btn-gold.focus {
    color: #000;
    background-color: #e6e6e6;
    border-color: #bfbfbf;
  }
  .webform-submission-contact-form .btn-gold:hover {
    color: #000;
    background-color: #e6e6e6;
    border-color: #e0e0e0;
  }
  .webform-submission-contact-form .btn-gold:active, .webform-submission-contact-form .btn-gold.active {
    color: #000;
    background-color: #e6e6e6;
    background-image: none;
    border-color: #e0e0e0;
  }
  .webform-submission-contact-form .btn-gold:active:hover, .webform-submission-contact-form .btn-gold:active:focus, .webform-submission-contact-form .btn-gold:active.focus, .webform-submission-contact-form .btn-gold.active:hover, .webform-submission-contact-form .btn-gold.active:focus, .webform-submission-contact-form .btn-gold.active.focus {
    color: #000;
    background-color: #d4d4d4;
    border-color: #bfbfbf;
  }
  .webform-submission-contact-form .btn-gold.disabled:hover, .webform-submission-contact-form .btn-gold.disabled:focus, .webform-submission-contact-form .btn-gold.disabled.focus, .webform-submission-contact-form .btn-gold[disabled]:hover, .webform-submission-contact-form .btn-gold[disabled]:focus, .webform-submission-contact-form .btn-gold[disabled].focus, fieldset[disabled] .webform-submission-contact-form .btn-gold:hover, fieldset[disabled] .webform-submission-contact-form .btn-gold:focus, fieldset[disabled] .webform-submission-contact-form .btn-gold.focus {
    background-color: #fff;
    border-color: #fff;
  }
  .webform-submission-contact-form ::-webkit-input-placeholder {
    color: transparent;
  }
  .webform-submission-contact-form :-ms-input-placeholder {
    color: transparent;
  }
  .webform-submission-contact-form ::placeholder {
    color: transparent;
  }
}
@media (min-width: 992px) {
  .webform-submission-contact-form .webform-flex--container .form-item {
    display: flex;
    align-items: center;
  }
  .webform-submission-contact-form .webform-flex--container label {
    white-space: nowrap;
  }
  .webform-submission-contact-form .webform-flex--container .form-control {
    max-width: 270px;
  }
}

img, svg {
  display: block;
}

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

[data-toggle=scrollto] {
  cursor: pointer;
}

@media (min-width: 768px) {
  .path-node h1, .path-node .field--name-body {
    max-width: 80%;
  }
}
.path-cookies .block-system-main-block {
  margin-top: 0;
  margin-bottom: 0;
}
.path-cookies h2, .path-cookies h3 {
  margin-top: 1.5rem;
}
.path-cookies h4, .path-cookies h5, .path-cookies h6 {
  margin-top: 1rem;
}

ul {
  margin-top: 0;
  margin-bottom: 1rem;
}

li {
  margin-top: 0.5rem;
}

.menu {
  list-style-type: none;
  padding-left: 0;
}
.menu a {
  text-decoration: none;
}
.menu a.is-active:not([data-scrollto]) {
  font-weight: 800;
}

.site-logo svg {
  height: 14px;
  width: auto;
}
@media (min-width: 768px) {
  .site-logo svg {
    height: 26px;
  }
}

.contacts-desktop {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 2.5rem;
}

.contacts-col {
  font-weight: 200;
  font-size: 0.8rem;
}
.contacts-col h4 {
  font-weight: 400;
  font-size: 1rem;
  margin-bottom: 2.5rem;
}

.custom-social-links {
  display: inline-flex;
  grid-gap: 27px;
  flex-wrap: wrap;
}

.social-title {
  display: none;
}

.dash-link {
  font-size: 0.9rem;
  text-decoration: none;
}
@media (min-width: 768px) {
  .dash-link {
    font-size: 1.2rem;
  }
}
.dash-link:after {
  content: "";
  display: inline-block;
  border-top: 1px solid;
  margin-left: 1rem;
  width: 20px;
  position: relative;
  top: -0.25rem;
  -webkit-transition: width 0.3s ease-in-out;
  -moz-transition: width 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.dash-link:hover:after {
  width: 40px;
}

.dash-link-title h2 {
  font-size: 0.9rem;
  text-decoration: none;
}
@media (min-width: 768px) {
  .dash-link-title h2 {
    font-size: 1.2rem;
  }
}
.dash-link-title h2:after {
  content: "";
  display: inline-block;
  border-top: 1px solid;
  margin-left: 1rem;
  width: 20px;
  position: relative;
  top: -0.25rem;
  -webkit-transition: width 0.3s ease-in-out;
  -moz-transition: width 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.dash-link-title h2:hover:after {
  width: 40px;
}

.more-link {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  text-align: left;
  margin-top: 1.75rem;
}
.more-link a {
  font-size: 0.9rem;
  text-decoration: none;
}
@media (min-width: 768px) {
  .more-link a {
    font-size: 1.2rem;
  }
}
.more-link a:after {
  content: "";
  display: inline-block;
  border-top: 1px solid;
  margin-left: 1rem;
  width: 20px;
  position: relative;
  top: -0.25rem;
  -webkit-transition: width 0.3s ease-in-out;
  -moz-transition: width 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.more-link a:hover:after {
  width: 40px;
}
.more-link a:hover {
  text-decoration: underline;
}

.social-link {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  font-size: 24.7px;
  line-height: 36px;
  height: 38px;
  width: 38px;
  border-radius: 9.5px;
  border: 1px solid;
}

.social-links-vertical .custom-social-links {
  flex-direction: column;
}

.slick__arrow {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  .slick__arrow {
    justify-content: flex-end;
    margin-bottom: 27px;
  }
}

.slick-arrow {
  border: none;
  background-color: transparent;
  stroke: #fff;
  padding: 0;
}
.slick-arrow:nth-child(n+2) {
  margin-left: 25px;
}
.slick-arrow:hover, .slick-arrow:focus {
  stroke: #fff;
}
.slick-arrow svg {
  width: 15px;
}

.slick {
  position: relative;
}

@media (min-width: 768px) {
  .slick--optionset--banners .slick__arrow {
    padding-bottom: 5vw;
  }
}
.slick--optionset--banners:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 15px;
  background-size: cover;
  background-position: center;
}
@media (min-width: 768px) {
  .slick--optionset--banners:after {
    height: 27px;
  }
}
@media (min-width: 768px) {
  .navigation-expanded .slick--optionset--banners .slick__arrow {
    justify-content: flex-start;
  }
}

.banner-scroll-down {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translate(-50%, 50%);
  stroke: #fff;
  display: block;
  z-index: 1;
  padding: 0.5rem;
}
.banner-scroll-down:hover, .banner-scroll-down:focus {
  stroke: #fff;
}
@media (min-width: 768px) {
  .banner-scroll-down {
    bottom: 27px;
  }
}
.banner-scroll-down svg {
  width: 22.5px;
}
@media (min-width: 768px) {
  .banner-scroll-down svg {
    width: 40.5px;
  }
}

.banner-caption {
  position: absolute;
  bottom: 30%;
  left: 0;
  right: 0;
}
@media (min-width: 768px) {
  .banner-caption {
    bottom: 50%;
    transform: translateY(50%);
  }
}

.banner-caption-inner {
  color: #fff;
  text-align: center;
}
@media (min-width: 768px) {
  .banner-caption-inner {
    padding: 2rem;
    border-radius: 0;
    background-color: rgba(255, 255, 255, 0.8);
    color: #000;
    max-width: 32rem;
    text-align: left;
  }
}

.banner-title {
  margin-bottom: 0.25em;
}

.banner-body {
  font-style: italic;
}

.banner-links {
  margin-top: 1rem;
}

.banner-image-field {
  position: relative;
}
.banner-image-field:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
@media (min-width: 768px) {
  .banner-image-field:after {
    display: none;
  }
}
.banner-image-field img {
  width: 100%;
}

.language-switcher-language-url .links {
  list-style-type: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.5em;
  font-size: 1rem;
}
.language-switcher-language-url .language-link {
  text-decoration: none;
}
.language-switcher-language-url .language-link.is-active {
  border-bottom: 3px solid #fff;
}
@media (min-width: 768px) {
  .language-switcher-language-url .language-link.is-active {
    font-weight: 800;
  }
}

.quote {
  padding-left: 2.5rem;
  position: relative;
}
.quote--icon {
  width: 1.5rem;
  height: 1.4em;
  object-position: center;
  position: absolute;
  left: 0;
  top: 0;
}

.buttons-wrapper {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.5rem;
}
@media (max-width: 767px) {
  .buttons-wrapper {
    justify-content: center;
  }
}

.cookiesjsr-banner {
  z-index: 1000000;
  border-top: 1px solid var(--banner-font-color);
}
@media (min-width: 992px) {
  .cookiesjsr-banner {
    padding: 1em;
  }
}

.cookiesjsr-layer--overlay {
  z-index: 1000001;
}

.cookiesjsr-layer {
  z-index: 1000002;
}

.cookiesjsr-btn {
  width: calc(100% - 1.25em);
}

.cookiesjsr-banner--text {
  font-size: 0.7rem;
}

.cookiesjsr-links, .cookiesjsr-service-group--tab {
  font-weight: 600;
}

.cookiesjsr-banner--info {
  margin-bottom: 0;
}

.cookiesjsr-service-group--intro {
  font-size: 0.8rem;
  line-height: 1.4;
}

.cookiesjsr-service--always-on span {
  padding: 0.3rem 0.7rem;
}

.cookiesjsr-service--description h3 {
  font-size: 1rem;
}

#cookiesjsr {
  --btn-bg-color: #fff;
  --btn-border-color: #000;
  --btn-font-color: #000;
  --btn-prime-font-color: #fff;
  --btn-prime-bg-color: #000;
  --btn-prime-border-color: #000;
  --btn-inv-font-color: #000;
  --btn-inv-border-color: #000;
  --btn-prime-inv-bg-color: #000;
  --btn-prime-inv-border-color: #000;
  --banner-bg-color: #fff;
  --banner-font-color: #000;
  --link-list-font-color: #000;
  --layer-tab-active-bg-color: #EBECEC;
  --layer-tab-active-font-color: #000;
  --layer-bg-dark: #EBECEC;
  --layer-font-light: #000;
  --switch-handle-color: #000;
  --switch-border-color: #000;
}

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  background-color: #fff;
}
.table th,
.table td {
  padding: 0.5rem;
  vertical-align: top;
  border-top: 1px solid #EBECEC;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #EBECEC;
}
.table tbody + tbody {
  border-top: 2px solid #EBECEC;
}
.table .table {
  background-color: #fff;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered {
  border: 1px solid #EBECEC;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #EBECEC;
}
.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: #F7F7F7;
}

.table-hover tbody tr td:hover, .table-hover tbody tr th:hover {
  background-color: #EBECEC;
}

.table .thead-light th {
  color: #000;
  background-color: #fff;
  border-color: #EBECEC;
}

.navbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9;
  height: 80px;
  color: #000;
}
.navbar-fixed .navbar {
  position: fixed;
  border-bottom: 2px solid #D8D8DA;
}
.navbar-opaque .navbar, .navbar-fixed .navbar {
  background-color: #fff;
  color: #000;
}
.navbar-opaque .navbar .region-navigation .site-logo, .navbar-fixed .navbar .region-navigation .site-logo {
  fill: #000;
}
.navbar-opaque .navbar .navigation-collapsible-toggle--expand, .navbar-fixed .navbar .navigation-collapsible-toggle--expand {
  stroke: #000;
}
@media (min-width: 768px) {
  .navbar {
    height: 160px;
  }
  .navbar-fixed .navbar {
    height: 80px;
  }
}
.navbar .site-logo {
  fill: #000;
}

.navbar-opaque {
  margin-top: 80px;
}
@media (min-width: 768px) {
  .navbar-opaque {
    margin-top: 160px;
  }
}

.navigation-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

.navigation-collapsible {
  position: fixed;
  width: 260px;
  right: -260px;
  top: 0;
  bottom: 0;
  color: #fff;
  background-color: #000;
  transition: right 0.3s;
  z-index: 10;
  padding: 40px 20px;
  display: flex;
  flex-direction: column;
  text-align: center;
  font-size: 1.4rem;
  text-transform: uppercase;
  overflow: auto;
}
@media (min-width: 768px) {
  .navigation-collapsible {
    width: 340px;
    right: -340px;
    padding: 60px;
  }
}
.navigation-expanded .navigation-collapsible {
  right: 0;
}
.navigation-collapsible .site-logo {
  fill: #fff;
}
.navigation-collapsible .menu-item {
  margin-top: 0.5em;
}
.navigation-collapsible .menu-item:first-child {
  margin-top: 0;
}

.region-navigation-collapsible {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-grow: 1;
}

.navigation-collapsible-toggle {
  cursor: pointer;
}

.navigation-collapsible-toggle--expand {
  stroke: #000;
}
.navigation-collapsible-toggle--expand svg {
  height: 20px;
  width: auto;
}
@media (min-width: 768px) {
  .navigation-collapsible-toggle--expand svg {
    height: 36px;
  }
}

.navigation-collapsible-toggle--collapse {
  align-self: flex-end;
  stroke: #fff;
}

.toolbar-horizontal.toolbar-fixed .navbar, .toolbar-horizontal.toolbar-fixed .navigation-collapsible {
  top: 39px;
}
.toolbar-horizontal.toolbar-fixed.toolbar-tray-open .navbar, .toolbar-horizontal.toolbar-fixed.toolbar-tray-open .navigation-collapsible {
  top: 79px;
}

.region-banner {
  position: relative;
}
.region-banner .block-social-links-block {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .block-type-columns_block .col-text {
    padding-top: 1rem;
  }
}
@media (min-width: 768px) {
  .block-type-columns_block.text-left .col-text {
    order: -1;
    padding-right: 1rem;
  }
}
@media (min-width: 1200px) {
  .block-type-columns_block.text-left .col-text {
    padding-right: 2.5rem;
  }
}
@media (min-width: 768px) {
  .block-type-columns_block.text-right .col-text {
    padding-left: 1rem;
  }
}
@media (min-width: 1200px) {
  .block-type-columns_block.text-right .col-text {
    padding-left: 2.5rem;
  }
}
@media (min-width: 768px) {
  .block-type-columns_block {
    position: relative;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  .block-type-columns_block:after {
    content: "";
    z-index: -2;
    position: absolute;
    top: 0;
    bottom: 0;
    background-size: auto 100%;
  }
  .block-type-columns_block .col-media {
    position: relative;
  }
  .block-type-columns_block .col-media:before, .block-type-columns_block .col-media:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
  .block-type-columns_block .col-media:before {
    background-color: #2B2E34;
  }
  .block-type-columns_block .col-media:after {
    background-color: #4e535e;
  }
  .block-type-columns_block.text-left:after {
    left: 55%;
    right: 0;
  }
  .block-type-columns_block.text-left .col-media {
    margin-top: 1rem;
    margin-right: 1rem;
  }
  .block-type-columns_block.text-left .col-media:before {
    top: -1rem;
    right: -1rem;
  }
  .block-type-columns_block.text-left .col-media:after {
    top: -0.5rem;
    right: -0.5rem;
  }
  .block-type-columns_block.text-right:after {
    left: 0;
    right: 55%;
  }
  .block-type-columns_block.text-right .col-media {
    margin-bottom: 1rem;
    margin-left: 1rem;
  }
  .block-type-columns_block.text-right .col-media:before {
    bottom: -1rem;
    left: -1rem;
  }
  .block-type-columns_block.text-right .col-media:after {
    bottom: -0.5rem;
    left: -0.5rem;
  }
}

.block-type-banner {
  position: relative;
  height: 100vw;
}
@media (min-width: 768px) {
  .block-type-banner {
    height: 65vw;
  }
}
@media (min-width: 992px) {
  .block-type-banner {
    height: 35vw;
  }
}
.block-type-banner .block-content-wrapper {
  height: 100%;
}
.block-type-banner .field--name-field-banner {
  z-index: -1;
  position: relative;
  clip: rect(0, auto, auto, 0);
  clip-path: inset(0);
  -webkit-clip-path: inset(0);
  height: 100%;
  background-color: #000;
}
.block-type-banner .field--name-field-banner img {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block-type-banner .banner-block-captions {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.block-type-banner .banner-block-captions .field--name-field-body {
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.01em;
  font-size: 1.5rem;
}
@media (min-width: 480px) {
  .block-type-banner .banner-block-captions .field--name-field-body {
    font-size: 2rem;
  }
}
@media (min-width: 1200px) {
  .block-type-banner .banner-block-captions .field--name-field-body {
    font-size: 2.5rem;
  }
}

.node--type-referencia.node--view-mode-teaser {
  position: relative;
  overflow: hidden;
}
.node--type-referencia.node--view-mode-teaser .content-over {
  position: relative;
  background: #000;
  padding: 1rem;
  color: #fff;
  text-align: left;
}
.node--type-referencia.node--view-mode-teaser .content-over h4 {
  font-family: "rustica", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
}
@media (min-width: 992px) {
  .node--type-referencia.node--view-mode-teaser .content-over {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    padding: 2.5rem;
    -webkit-transition: width 1s ease-in-out;
    -moz-transition: width 1s ease-in-out;
    -o-transition: width 1s ease-in-out;
    transition: width 1s ease-in-out;
  }
  .node--type-referencia.node--view-mode-teaser .content-over .field--name-field-sluzby {
    position: absolute;
    bottom: 2.5rem;
    left: 2.5rem;
    right: 2.5rem;
  }
  .node--type-referencia.node--view-mode-teaser .content-over h4 {
    font-size: 1.4rem;
  }
}
@media (min-width: 992px) {
  .node--type-referencia.node--view-mode-teaser:hover .content-over {
    animation: bottom_to_top 0.25s forwards;
  }
}
.node--type-referencia.node--view-mode-teaser .text-fields {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 0.5rem;
}
.node--type-referencia.node--view-mode-teaser h2 {
  font-size: 20px;
}
.node--type-referencia.node--view-mode-teaser .field--name-node-link a {
  position: absolute;
  display: block;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  text-indent: -9999px;
}

.dash-link-field .field__item {
  font-size: 0.9rem;
  text-decoration: none;
  text-transform: none;
  font-weight: normal;
}
@media (min-width: 768px) {
  .dash-link-field .field__item {
    font-size: 1.2rem;
  }
}
.dash-link-field .field__item:after {
  content: "";
  display: inline-block;
  border-top: 1px solid;
  margin-left: 1rem;
  width: 20px;
  position: relative;
  top: -0.25rem;
  -webkit-transition: width 0.3s ease-in-out;
  -moz-transition: width 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.dash-link-field .field__item:hover:after {
  width: 40px;
}
.dash-link-field .field__item:last-child:after {
  content: "" !important;
  margin-left: 1rem !important;
  display: inline-block !important;
}

.field--name-field-sluzby {
  display: flex;
  font-size: 0.6rem;
  font-weight: 600;
  margin-top: 2rem;
  text-transform: uppercase;
}
.field--name-field-sluzby .field__item:after {
  content: "-";
  display: inline-block;
  margin: 0 0.25rem;
}
.field--name-field-sluzby .field__item:last-child:after {
  display: none;
}

.field--name-bundle-fieldnode {
  font-size: 0.9rem;
  text-decoration: none;
}
@media (min-width: 768px) {
  .field--name-bundle-fieldnode {
    font-size: 1.2rem;
  }
}
.field--name-bundle-fieldnode:after {
  content: "";
  display: inline-block;
  border-top: 1px solid;
  margin-left: 1rem;
  width: 20px;
  position: relative;
  top: -0.25rem;
  -webkit-transition: width 0.3s ease-in-out;
  -moz-transition: width 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.field--name-bundle-fieldnode:hover:after {
  width: 40px;
}

.field--name-field-vybrane-referencie .field__label {
  font-size: 0.9rem;
  text-decoration: none;
  font-weight: normal;
  margin-bottom: 1.75rem;
}
@media (min-width: 768px) {
  .field--name-field-vybrane-referencie .field__label {
    font-size: 1.2rem;
  }
}
.field--name-field-vybrane-referencie .field__label:after {
  content: "";
  display: inline-block;
  border-top: 1px solid;
  margin-left: 1rem;
  width: 20px;
  position: relative;
  top: -0.25rem;
  -webkit-transition: width 0.3s ease-in-out;
  -moz-transition: width 0.3s ease-in-out;
  -o-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
}
.field--name-field-vybrane-referencie .field__label:hover:after {
  width: 40px;
}
.field--name-field-vybrane-referencie > .field__items {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-gap: 1rem;
}
@media (min-width: 768px) {
  .field--name-field-vybrane-referencie > .field__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 2.5rem;
  }
}

.field--name-body h2, .field--name-body h3 {
  margin-top: 1.5rem;
}
.field--name-body h4, .field--name-body h5, .field--name-body h6 {
  margin-top: 1rem;
}

@media (max-width: 767px) {
  .view-projects.view-display-id-page_1 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.view-slogans {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
}
.view-slogans .view-content {
  max-width: 1000px;
}
.view-slogans .view-content h2 {
  font-size: 2rem;
}
@media (min-width: 768px) {
  .view-slogans .view-content h2 {
    font-size: 2.7rem;
  }
}
@media (min-width: 992px) {
  .view-slogans .view-content h2 {
    font-size: 3.5rem;
  }
}

.view-references {
  margin: 0 -1rem;
}
.view-references .view-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-gap: 0;
}
@media (min-width: 480px) {
  .view-references .view-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .view-references .view-content {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.view-blogs .view-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-gap: 2.5rem;
}
@media (min-width: 768px) {
  .view-blogs .view-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.view-blogs h3 {
  font-weight: 600;
  font-family: "rustica", sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.view-blogs a.dash-link {
  font-size: 1rem;
}
.view-blogs.view-display-id-block_1 {
  border-top: 1px solid #000;
}

.view-partners .view-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 2.5rem;
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .view-partners .view-content {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: 2.5rem;
  }
}
.view-partners .view-content .views-row {
  display: flex;
  align-items: center;
}
.view-partners .view-content img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  opacity: 0.7;
  width: 200px;
}
.view-partners .view-content img:hover {
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
  opacity: 1;
}

.view-sluzby .views-row {
  border-bottom: 1px solid #000;
}
.view-sluzby .views-row:first-child {
  margin-top: 0;
}
.view-sluzby .views-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mt-auto {
  margin-top: auto;
}

.mt-base {
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .mt-base {
    margin-top: 5rem;
  }
}

.mb-base {
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .mb-base {
    margin-bottom: 5rem;
  }
}

@media (min-width: 768px) {
  .mt-base-desktop {
    margin-top: 5rem;
  }
}

@media (min-width: 768px) {
  .mb-base-desktop {
    margin-bottom: 5rem;
  }
}

.mt-small {
  margin-top: 1.25rem;
}
@media (min-width: 768px) {
  .mt-small {
    margin-top: 2.5rem;
  }
}

.mb-small {
  margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .mb-small {
    margin-bottom: 2.5rem;
  }
}

@media (min-width: 768px) {
  .mt-small-desktop {
    margin-top: 2.5rem;
  }
}

@media (min-width: 768px) {
  .mb-small-desktop {
    margin-bottom: 2.5rem;
  }
}

.mt-extra-small {
  margin-top: 0.75rem;
}
@media (min-width: 768px) {
  .mt-extra-small {
    margin-top: 1rem;
  }
}

.mb-extra-small {
  margin-bottom: 0.75rem;
}
@media (min-width: 768px) {
  .mb-extra-small {
    margin-bottom: 1rem;
  }
}

.mt-tiny {
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  .mt-tiny {
    margin-top: 0.65rem;
  }
}

.mb-tiny {
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .mb-tiny {
    margin-bottom: 0.65rem;
  }
}

.pt-base {
  padding-top: 2.5rem;
}
@media (min-width: 768px) {
  .pt-base {
    padding-top: 5rem;
  }
}

.pb-base {
  padding-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .pb-base {
    padding-bottom: 5rem;
  }
}

.pt-small {
  padding-top: 1.25rem;
}
@media (min-width: 768px) {
  .pt-small {
    padding-top: 2.5rem;
  }
}

.pb-small {
  padding-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .pb-small {
    padding-bottom: 2.5rem;
  }
}

.hidden {
  display: none !important;
}

@media (max-width: 479px) {
  .hidden-xxs {
    display: none !important;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}

.visible-xxs,
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}

@media (max-width: 479px) {
  .visible-xxs {
    display: block !important;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
}

.d-flex {
  display: flex;
}

@media (min-width: 768px) {
  .d-flex-sm {
    display: flex;
  }
}

@media (min-width: 992px) {
  .d-flex-md {
    display: flex;
  }
}

.align-items-center {
  align-items: center;
}

.justify-content-space-between {
  justify-content: space-between;
}

.grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.grid-gap-base {
  grid-gap: 1rem;
}

.grid-gap-large {
  grid-gap: 2.5rem;
}

.grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-3 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 480px) {
  .grid-2-xs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .grid-2-sm {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .grid-3-sm {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .grid-3-md {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .grid-4-md {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.bg-black {
  background-color: #000;
}

.bg-ultralightgrey {
  background-color: #F7F7F7;
}

.text-white {
  color: #fff;
}

.text-grey {
  color: #929292;
}

.wb-break-all {
  word-break: break-all;
}

.t-decoration-none {
  text-decoration: none;
}

.font-serif {
  font-family: "liberation-serif", serif;
}

.font-style-italic {
  font-style: italic;
}

.fw-700 {
  font-weight: 700;
}

.border-radius-circle {
  border-radius: 50%;
}

.overflow-hidden {
  overflow: hidden;
}

@media (max-width: 767px) {
  .align-center-mobile {
    display: block;
    margin-right: auto;
    margin-left: auto;
  }
}

@keyframes bottom_to_top {
  from {
    top: 100%;
  }
  to {
    top: 0;
  }
}
.vp-transition, .load-transition {
  transition-delay: 0.2s;
  transition-property: all;
  transition-duration: 1.2s;
}

.transition--fly-up {
  position: relative;
  top: 50px;
  opacity: 0;
}
.transition--fly-up.in {
  top: 0;
  opacity: 1;
}

.transition--fly-down {
  position: relative;
  top: -50px;
  opacity: 0;
}
.transition--fly-down.in {
  top: 0;
  opacity: 1;
}

/*# sourceMappingURL=style.css.map */
