/**
 * Styles
 *
 * @author Lex Lexter <hi@leximo.cz>
 * @version 1.0.0
 * @website https://leximo.cz/
 */

@font-face {
  font-family: 'Hanken Grotesk Fallback';
  size-adjust: 100%;
  src: local('Arial');
}

/*
  Bodies
  ***
*/

/*

  width: 1920px;
  position: relative;
  margin: 0 auto;

*/

body {
  background: #0060AA;
  font: 400 18px 'Hanken Grotesk', 'Hanken Grotesk Fallback', Arial, Helvetica, sans-serif;
  letter-spacing: -0.04em;
  color: #7B858C;
}

/*
  Links
  ***
*/

a {
  text-decoration-thickness: 1px;
  color: #0060AA;
}
a:hover {
  color: #23282C;
}

/*
  Forms
  ***
*/

input, textarea, select, button {
  font: 300 16px 'Hanken Grotesk', 'Hanken Grotesk Fallback', Arial, Helvetica, sans-serif;
}

/*
  elem
  ***
*/

.--admin .elem {
  position: relative;
}

/*
  Border
  ---
*/

.--admin .elem:before {
  content: '';
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border: 1px dashed transparent;
  border-radius: 24px;
}

/* hover */

.--admin .elem:hover:before {
  background-color: #fff;
  border-color: #333;
}

/*
  Label
  ---
*/

.--admin .elem[data-style]:after {
  content: attr(data-style);
  position: absolute;
  left: 0;
  top: 50%;
  margin: -12px 16px 0 6px;
  padding: 5px 8px 5px 8px;
  background-color: #fff;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
  border: 1px dashed #333;
  border-radius: 24px;
  font-size: 13px;
  color: #333;
  opacity: 0;
}

/* hover */

.--admin .elem[data-style]:hover:after {
  opacity: 1;
}

/*
  icon
  ***
*/

.icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  background: center center no-repeat;
  background-size: contain;
  font-size: 0;
  fill: #23282C;
}

/*
  spinner
  ***
*/

.spinner {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 6.4px solid;
  border-color: #3591D8;
  border-right-color: #F9EA66;
  animation: spinner 0.8s infinite linear;
}

@keyframes spinner {

  to {
     transform: rotate(1turn);
  }

}

/*
  tag
  ***
*/

.tag {
  display: inline-block;
  padding: 3px 12px 2px 12px;
  background-color: #86BFEA;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0;
  font-weight: 700;
  font-size: 12px;
  color: #23282C;
}

/*
  subtitle
  ***
*/

.subtitle {
  letter-spacing: 0.6em;
  font-weight: 500;
  font-size: 16px;
  color: #0060AA;
}

/*
  button
  ***
*/

.button {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  margin: 16px 8px 0 0;
  padding: 10px 28px 10px 28px;
  background-color: #0060AA;
  border: none;
  border-radius: 100px;
  line-height: 1.6;
  letter-spacing: -0.02em;
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  transition: 150ms linear;
}

/* hover */

.button:hover {
  background-color: #3591D8;
  color: #fff;
}

/*
  - color
  ---
*/

.button--color-primary {
  background-color: #F9EA66;
  color: #23282C;
}

/* hover */

.button--color-primary:hover {
  background-color: #F9EA66;
  color: #23282C;
}

/*
  - icon
  ---
*/

.button--icon {
  transition: padding-right 150ms ease-in-out;
}

/* hover */

.button--icon:hover {
  padding-right: 52px;
}

/*
  Adjust icon
  ...
*/

.button .icon {
  position: absolute;
  right: 24px;
  top: 50%;
  margin-top: -9px;
  opacity: 0;
  transition: opacity 150ms linear;
  fill: #fff;
}

/* hover */

.button:hover .icon {
  opacity: 1;
}

/*
  - color
  ---
*/

.button--color-primary .icon {
  fill: #23282C;
}

/*
  input
  ***
*/

.input {
  box-sizing: border-box;
  width: 100%;
  display: block;
  padding: 13px 24px;
  background: #fff right 18px center no-repeat;
  background-size: 18px auto;
  border: 1px solid #C4CED5;
  border-radius: 24px;
  outline: none;
  font-size: 17px;
  transition: 150ms linear;
}

/* focus */

.input:focus {
  box-shadow: inset 0 0 0 1px #0060AA;
  border-color: #0060AA;
}

/*
  - error
  ---
*/

.input--error {
  padding-right: 48px;
  background-image: url('../img/icons/error-red.svg');
  border-color: #F00D0D;
}

/*
  textarea
  ---
*/

textarea.input {
  line-height: 1.6;
  resize: none;
}

/*
  field
  ***
*/

.field {
  margin-bottom: 24px;
  text-align: left;
}

/*
  label
  ---
*/

.field__label {
  display: block;
  margin-bottom: 6px;
  line-height: 1.6;
  font-weight: 500;
  font-size: 17px;
  color: #23282C;
}

/*
  - error
  ...
*/

.field--error .field__label {
  color: #F00D0D;
}

/*
  STRONG
  ...
*/

.field__label strong {
  color: #F00D0D;
}

/*
  error
  ---
*/

.field__error {
  display: block;
  margin-top: 6px;
  line-height: 1.6;
  font-size: 16px;
  color: #F00D0D;
}

/*
  flash
  ***
*/

.flash {
  position: relative;
  margin-bottom: 24px;
  padding: 13px 24px 12px 24px;
  border: 2px solid #3591D8;
  border-radius: 24px;
  line-height: 1.6;
  font-weight: 500;
  font-size: 16px;
}

/*
  - type
  ---
*/

.flash--type-warning {
  border-color: #E9B320;
}
.flash--type-success {
  border-color: #00BA00;
}
.flash--type-error {
  border-color: #F00D0D;
}

/*
  title
  ---
*/

.flash__title {
  display: block;
  margin-bottom: -4px;
  line-height: 1.3;
  font-weight: 600;
  font-size: 18px;
  color: #23282C;
}

/*
  form
  ***
*/

.form {
  display: block;
}

/*
  Adjust button
  ---
*/

.form .button {
  float: left;
  margin: 0;
}

/*
  gdpr
  ---
*/

.form__gdpr {
  margin:  32px 0 0 200px;
}

/*
  LINK
  ...
*/

.form__gdpr a {
  color: inherit;
}

/*
  list-numerize
  ***
*/

.list-numerize {
  margin-left: 0;
  list-style: none;
  counter-reset: numerize;
}

/*
  ITEM
  ---
*/

.list-numerize > li {
  position: relative;
  margin-bottom: 32px;
  padding-left: 56px;
  counter-increment: numerize;
}

/*
  Gaps
  ...
*/

.list-numerize > li:last-child {
  margin-bottom: 8px;
}

/*
  Number
  ...
*/

.list-numerize > li:before {
  content: counter(numerize);
  width: 32px;
  position: absolute;
  left: 0;
  top: 0;
  padding: 3px 0 3px 0;
  background-color: #23282C;
  border-radius: 50%;
  line-height: 1.65;
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  color: #fff;
}

/*
  STRONG
  ...
*/

.list-numerize > li > strong:first-child {
  display: inline-block;
  margin-bottom: 10px;
  line-height: inherit;
  font-weight: 600;
  font-size: 22px;
}

/*
  list-contacts
  ***
*/

.list-contacts {
  margin: 0;
  font-size: 0;
}

/*
  LINK
  ---
*/

.list-contacts a {
  display: inline-block;
  position: relative;
  margin-right: 50px;
  padding-left: 37px;
  text-decoration: none;
  letter-spacing: -0.04em;
  font-weight: 500;
  font-size: 18px;
  color: #F9EA66;
}

/* hover */

.list-contacts a:hover {
  color: #fff;
}

/*
  Gaps
  ...
*/

.list-contacts a:last-child {
  margin-right: 0;
}

/*
  - size
  ...
*/

.list-contacts--size-large a {
  font-size: 22px;
}

/*
  Adjust icon
  ...
*/

.list-contacts a .icon {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-45%);
  fill: #F9EA66;
}

/* hover */

.list-contacts a:hover .icon {
  fill: #fff;
}

/*
  item-pin
  ***
*/

.item-pin__inset {
  position: relative;
  display: block;
  padding: 40px 68px 24px 185px;
  border-radius: 80px 24px 24px 80px;
  text-align: left;
  text-decoration: none;
  font-size: 16px;
  color: #7B858C;
}

/* hover */

.item-pin__inset:hover {
  color: #7B858C;
}

/*
  Adjust tag
  ---
*/

.item-pin .tag {
  position: absolute;
  left: 185px;
  top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/*
  image
  ---
*/

.item-pin__image {
  height: 200px;
  position: absolute;
  left: 29px;
  top: 50%;
  display: table;
  margin-top: -95px;
}
.item-pin__image__inset {
  display: table-cell;
  vertical-align: middle;
}

/*
  IMG
  ...
*/

.item-pin__image img {
  display: block;
  margin: 0 auto;
}

/*
  title
  ---
*/

.item-pin__title {
  margin: 0;
}

/* hover */

.item-pin__inset:hover .item-pin__title {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

/*
  Adjust icon
  ...
*/

.item-pin__title .icon {
  top: -1px;
  opacity: 0;
  transition: transform 150ms ease-in-out, opacity 150ms linear;
}

/* hover */

.item-pin__inset:hover .item-pin__title .icon {
  transform: translateX(16px);
  opacity: 1;
}

/*
  title
  ---
*/

.item-pin__excerpt {
  margin: 8px 0 0 0;
}

/*
  item-product
  ***
*/

.item-product__inset {
  display: block;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  color: #7B858C;
}

/* hover */

.item-product__inset:hover {
  color: #7B858C;
}

/*
  Adjust tag
  ---
*/

.item-product .tag {
  margin-bottom: 19px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/*
  image
  ---
*/

.item-product__image {
  width: 100%;
  height: 360px;
  position: relative;
  display: table;
  font-size: 0;
}

/*
  Adjust icon
  ...
*/

.item-product__image .icon {
  position: absolute;
  right: 28px;
  top: 32px;
  opacity: 0;
  transition: transform 200ms ease-in-out, opacity 150ms linear;
}

/* hover */

.item-product__inset:hover .item-product__image .icon {
  transform: rotate(90deg);
  opacity: 1;
}

/*
  inset
  ...
*/

.item-product__image__inset {
  display: table-cell;
  vertical-align: middle;
  padding: 42px;
  border-radius: 40px;
}

/*
  IMG
  ...
*/

.item-product__image img {
  display: inline-block;
  transition: transform 200ms ease-in-out;
}

/* hover */

.item-product__inset:hover .item-product__image img {
  transform: scale(1.05);
}

/*
  title
  ---
*/

.item-product__title {
  margin: 0;
}

/* hover */

.item-product__inset:hover .item-product__title {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

/*
  excerpt
  ---
*/

.item-product__excerpt {
  margin: -2px;
}

/*
  list
  ***
*/

.list__inset {
  margin: 0 -8px -40px -8px;
  text-align: center;
  font-size: 0;
}

/*
  - layout
  ---
*/

.--layout-home .list--contains-products {
  max-width: 1232px;
  margin: 286px auto 0 auto;
}

/*
  item
  ---
*/

.list__item {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 40px;
}
.list__item__inset {
  margin-left: 8px;
  margin-right: 8px;
}

/*
  title
  ***
*/

.list__title {
  margin-bottom: 80px;
  text-align: center;
}

/*
  Adjust gallery
  ...
*/

.detail-post__content .gallery {
  margin: 32px -204px;
}

/*
  Next SAME
*/

.detail-post__content .gallery + .gallery {
  margin-top: 0;
}

/*
  Adjust section-split
  ...
*/

.detail-post__content .section-split {
  margin: 94px -200px;
}

/*
  Next SAME
*/

.detail-post__content .section-split + .section-split {
  margin-top: -47px;
}

/*
  section-split
  ***
*/

.section-split__inset {
  width: 100%;
  display: table;
  table-layout: fixed;
  direction: rtl;
}

@media only screen and (min-width: 1101px) {

  /*
    - align
    ---
  */

  .section-split--align-right .section-split__inset {
    direction: ltr;
  }

}

/*
  content
  ---
*/

.section-split__content {
  display: table-cell;
  vertical-align: middle;
  padding: 72px 104px;
  direction: ltr;
}

/*
  Adjust subtitle
  ...
*/

.section-split__content .subtitle {
  margin-bottom: 14px;
}

/*
  image
  ---
*/

.section-split__image {
  display: table-cell;
  vertical-align: middle;
  background: #eee center center no-repeat;
  background-size: cover;
  border-radius: 48px;
}

/*
  title
  ---
*/

.section-split__title {
  margin: 0;
}

/*
  format
  ---
*/

.section-split__format {
  margin: 32px 0 -16px 0;
}

/*
  section-about
  ***
*/

.section-about {
  position: relative;
  text-align: center;
}
.section-about__inset {
  max-width: 616px;
  margin: 0 auto;
  font-size: 22px;
}

/*
  - layout
  ---
*/

.--layout-home .section-about {
  margin: 0 -140px 0 -140px;
}

/*
  Adjust subtitle
  ---
*/

.section-about .subtitle {
  margin: 0 0 37px 0;
}

/*
  image
  ---
*/

.section-about__image {
  position: absolute;
  background: center center no-repeat;
}

/*
  - align
  ---
*/

.section-about__image--align-left {
  width: 396px;
  height: 434px;
  left: -32px;
  bottom: -168px;
}
.section-about__image--align-right {
  width: 369px;
  height: 481px;
  right: -36px;
  top: -47px;
}

/*
  title
  ---
*/

.section-about__title {
  margin: 0;
}

/*
  excerpt
  ---
*/

.section-about__excerpt {
  margin: 38px 0 0 0;
  line-height: 1.55;
}

/*
  detail-product
  ***
*/

.detail-product {
  max-width: 1140px;
  display: block;
  margin: 0 auto;
}

/*
  Adjust tag
  ---
*/

.detail-product .tag {
  margin: 0 0 16px 0;
}

/*
  image
  ---
*/

.detail-product__image {
  width: 440px;
  height: 480px;
  float: left;
  display: table;
}
.detail-product__image__inset {
  display: table-cell;
  vertical-align: middle;
  padding: 32px;
  border: 1px dashed #eee;
  border-radius: 36px;
}

/*
  IMG
  ...
*/

.detail-product__image img {
  max-width: 80%;
  display: block;
  margin: 0 auto;
}

/*
  content
  ---
*/

.detail-product__content {
  margin-left: 504px;
}

/*
  scroll
  ---
*/

.detail-product__scroll {
  max-height: 440px;
  overflow-x: hidden;
  overflow-y: auto;
  margin-right: -48px;
  padding-right: 44px;
}

/*
  title
  ---
*/

.detail-product__title {
  margin: 0 0 0 -2px;
}

/*
  excerpt
  ---
*/

.detail-product__excerpt {
  margin: 32px 0 0 0;
  font-size: 20px;
}

/*
  format
  ---
*/

.detail-product__format {
  margin: 32px 0 0 0;
}

/*
  modal
  ***
*/

.modal__window__inset {
  position: relative;
  padding: 88px 112px;
  background-color: #fff;
  border-radius: 56px 56px 0 0;
}

/*
  - ajax
  ---
*/

.modal--ajax {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 200;
  background-color: rgba(0, 96, 170, 0.9);
  backdrop-filter: blur(12px);
}
.modal--ajax .modal__inset {
  width: 1368px;
  height: 100%;
  display: table;
  margin: 0 auto;
}

/*
  window
  ...
*/

.modal--ajax .modal__window {
  display: table-cell;
  vertical-align: middle;
}
.modal--ajax .modal__window__inset {
  border-radius: 56px 56px;
}

/*
  close
  ---
*/

.modal__close {
  position: absolute;
  right: 52px;
  top: 52px;
}

/*
  site-wrap
  ***
*/

.site-wrap {
  overflow: hidden;
}
.site-wrap__inset {
  position: relative;
  z-index: 50;
  padding-top: 128px;
}

/*
  - layout
  ---
*/

.--layout-home .site-wrap__inset {
  padding-top: 0;
}
.--layout-404 .site-wrap__inset {
  margin-bottom: 0;
}

/*
  site-head
  ***
*/

.site-head {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  z-index: 100;
  padding: 40px 96px;
  text-align: center;
}

/*
  Adjust burger
  ---
*/

.site-head .burger {
  float: right;
  display: none;
  margin: 4px 0 0 26px;
}

/*
  Adjust list-contacts
  ---
*/

.site-head .list-contacts {
  float: right;
  margin-top: 10px;
}

/*
  logo
  ---
*/

.site-head__logo {
  float: left;
  text-decoration: none;
  font-size: 0;
}

/*
  nav
  ---
*/

.site-head__nav {
  margin: 4px 326px 0 192px;
  padding-right: 38px;
  border-right: 1px solid #3591D8;
}

/*
  list
  ...
*/

.site-head__nav__list {
  overflow: hidden;
  margin: 0;
  list-style: none;
  font-size: 0;
}
.site-head__nav__list > li {
  float: left;
  margin: 0 8px;
  line-height: 1;
}
.site-head__nav__list > li > a {
  display: block;
  padding: 6px 16px 4px 16px;
  border-radius: 100px;
  line-height: 1.6;
  letter-spacing: -0.03em;
  text-decoration: none;
  font-size: 18px;
  color: #fff;
  transition: 150ms linear;
}

@media only screen and (min-width: 1251px) {

  /*
    - right
  */

  .site-head__nav__list > li.--right {
    float: right;
  }

}

/* hover */

.site-head__nav__list > li:hover > a {
  background-color: #F9EA66;
  color: #000;
}

/* - active */

.site-head__nav__list > li.--active > a {
  background-color: #F9EA66;
  color: #000;
}

/*
  site-promo
  ***
*/

.site-promo {
  position: relative;
  padding: 166px 0 564px 0;
  text-align: center;
  color: #fff;
}

/*
  Adjust button
  ---
*/

.site-promo .button {
  margin: 24px 0 0 0;
}

/*
  Adjust item-pin
  ---
*/

.site-promo .item-pin {
  width: 386px;
  position: absolute;
  right: -24px;
  top: 35%;
  z-index: 1;
}

/*
  content
  ---
*/

.site-promo__content {
  position: relative;
  z-index: 1;
  padding: 0 4%;
}

/*
  title
  ---
*/

.site-promo__title {
  margin: 0;
  line-height: 1;
  letter-spacing: -0.044em;
  font-size: 72px;
  color: inherit;
}

/*
  BOLD
  ...
*/

.site-promo__title b {
  color: #F9EA66;
}

/*
  image
  ---
*/

.site-promo__image {
  height: 551px;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  background: center bottom no-repeat;
}

/*
  site-content
  ***
*/

.site-content {
  position: relative;
  z-index: 10;
  padding: 124px 140px;
  background-color: #fff;
  border-radius: 56px 56px 0 0;
}

/*
  - layout
  ---
*/

.--layout-home .site-content {
  padding-top: 200px;
  padding-bottom: 143px;
}

/*
  head
  ***
*/

.head {
  text-align: center;
  font-size: 22px;
}

/*
  title
  ---
*/

.head__title {
  margin: 0;
}

/*
  excerpt
  ---
*/

.head__excerpt {
  max-width: 740px;
  margin: 30px auto 0 auto;
}

/*
  caption
  ***
*/

.caption {
  display: block;
  font-size: 16px;
}

/*
  - align
  ---
*/

.caption.--align-left, 
.caption.--align-right {
  max-width: 40%;
}
.caption.--align-left {
  float: left;
  margin: 6px 36px 36px 0;
}
.caption.--align-right {
  float: left;
  margin: 6px 0 36px 36px;
}
.caption.--align-center, 
.caption.--align-none {
  margin-top: 84px;
  margin-bottom: 84px;
}

/*
  LINK, IMG
  ---
*/

.caption img, 
.caption a {
  display: block;
  border-radius: 48px;
}

/*
  text
  ---
*/

.caption-text {
  margin: 16px 0 0 0;
  text-align: center;
}

/*
  detail-post
  ***
*/

.detail-post {
  max-width: 1232px;
  display: block;
  margin: 0 auto;
}

/*
  Adjust head
  ---
*/

.detail-post .head {
  margin: 0 48px;
  padding-bottom: 60px;
  border-bottom: 1px solid #eee;
}

/*
  image
  ---
*/

.detail-post__image {
  display: block;
  margin-top: -1px;
}

/*
  IMG
  ...
*/

.detail-post__image img {
  display: block;
  border-radius: 46px;
}

/*
  content
  ---
*/

.detail-post__content {
  max-width: 816px;
  margin: 92px auto 0 auto;
}

/*
  site-note
  ***
*/

.site-note {
  position: relative;
  margin: 0;
  padding: 51px 140px;
  background-color: #fff;
  border-top: 1px solid #eee;
}
.site-note__inset {
  max-width: 1282px;
  margin: 0 auto;
  text-align: center;
  font-size: 16px;
}

/*
  - layout
  ---
*/

.--layout-404 .site-note {
  border-radius: 56px 56px 0 0;
}

/*
  Corners
  ---
*/

.site-note:before, 
.site-note:after {
  content: '';
  width: 52px;
  height: 52px;
  position: absolute;
  bottom: -52px;
  background: url('../img/site-note.svg') no-repeat;
}
.site-note:before {
  transform-origin: left top;
  left: 0;
  background-position: left top;
}
.site-note:after {
  transform-origin: right top;
  right: 0;
  background-position: right top;
}

/*
  site-message
  ***
*/

.site-message {
  max-width: 1040px;
  margin: 0 auto;
  padding: 84px 4% 104px 4%;
  text-align: center;
  font-size: 22px;
  color: #fff;
}

/*
  Adjust button
  ---
*/

.site-message .button {
  margin: 32px 8px 0 8px;
}

/*
  title
  ---
*/

.site-message__title {
  margin: 0;
  color: inherit;
}

/*
  excerpt
  ---
*/

.site-message__excerpt {
  margin: 24px 0 0 0;
}

/*
  site-foot
  ***
*/

.site-foot {
  max-width: 1512px;
  box-sizing: border-box;
  position: relative;
  z-index: 25;
  background: #0060AA;
  margin: 0 auto;
  font-size: 16px;
  color: #fff;
}
.site-foot__inset {
  padding: 140px 140px 104px 140px;
}

@media only screen and (min-width: 1401px) {

  /*
    - layout
    ---

  .--layout-home .site-foot {
    opacity: 0;
  }

  */

  /* actions

  .--layout-home .site-foot.--active {
    opacity: 1;
  }

  */

  /*
    - fixed
    ---

  .site-foot--fixed {
    width: 1512px;
    height: 398px;
    position: fixed;
    left: 50%;
    bottom: 0;
    margin-left: -756px;
  }

  */

}

/*
  logo
  ---
*/

.site-foot__logo {
  display: block;
  float: left;
}

/*
  Adjust list-contacts
  ---
*/

.site-foot .list-contacts {
  float: right;
  margin: 6px 9px 0 0;
}

/*
  address
  ---
*/

.site-foot__address {
  margin: 46px 0 0 0;
  float: left;
  clear: left;
}

/*
  SMALL
  ...
*/

.site-foot__address small {
  display: block;
  list-style: inherit;
  font-size: 98%;
  color: #79C9FA;
}

/*
  copy
  ---
*/

.site-foot__copy {
  float: right;
  clear: right;
  margin: 46px 0 0 0;
  line-height: 1.5;
  text-align: right;
}

/*
  IMG
  ...
*/

.site-foot__copy img {
  position: relative;
  bottom: -4px;
  margin-left: 1px;
}

/*
  site-loader
  ***
*/

.site-loader {
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999999;
  background-color: rgba(0, 96, 170, 1);
  opacity: 0;
  transition: opacity 150ms linear;
}

/* - active */

.site-loader.--active {
  pointer-events: all;
  opacity: 1;
}

/*
  Adjust spinner
  ---
*/

.site-loader .spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -20px 0 0 -20px;
}

/*
  shape
  ***
*/

.site-shape {
  background: center center no-repeat;
  background-size: contain;
  mix-blend-mode: multiply;
}

/*
  -- wrap
  ***
*/

.site-shape {
  max-width: 100%;
  overflow: hidden;
}

/*
  - type
  ...
*/

.site-shape--01 {
  width: 373px;
  height: 412px;
  top: 116px;
  left: 12%;
  position: absolute;
  background-image: url('../img/shapes/01.svg');
}
.site-shape--02 {
  width: 274px;
  height: 310px;
  top: 112px;
  position: absolute;
  right: 10%;
  background-image: url('../img/shapes/02.svg');
}
.site-shape--03 {
  width: 286px;
  height: 215px;
  left: 20%;
  top: 793px;
  position: absolute;
  background-image: url('../img/shapes/03.svg');
}
.site-shape--04 {
  width: 315px;
  height: 417px;
  right: 15%;
  top: 589px;
  position: absolute;
  background-image: url('../img/shapes/04.svg');
}
.site-shape--05 {
  width: 374px;
  height: 178px;
  right: 50%;
  bottom: 219px;
  position: absolute;
  margin-right: -8px;
  background-image: url('../img/shapes/05.svg');
}
.site-shape--06 {
  width: 239px;
  height: 60px;
  right: 50%;
  bottom: 0;
  position: absolute;
  margin-right: 206px;
  background-image: url('../img/shapes/06.svg');
}
.site-shape--07 {
  width: 251px;
  height: 131px;
  left: 50%;
  bottom: 0;
  position: absolute;
  margin-left: 157px;
  background-image: url('../img/shapes/07.svg');
}

/*
  gallery
  ***
*/

.gallery {
  font-size: 0;
}

/*
  Adjust caption
  ---
*/

.gallery .caption-text {
  display: none;
}

/*
  item
  ---
*/

.gallery-item {
  width: 25%;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 8px;
}

/*
  IMG
  ...
*/

.gallery-item img {
  width: 100%;
  display: block;
  border-radius: 16px;
}

/*
  LINK
  ...
*/

.gallery-item a {
  display: block;
  margin: 0 4px;
}


/*
  accordion
  ***
*/

.accordion {
  margin: 32px 0;
  background-color: #EFF9FC;
  border: 1px solid #EFF9FC;
  border-radius: 36px;
  transition: 150ms linear
}

/* - active */

.accordion.--active {
  background-color: transparent;
}

/*
  Next accordion
  ---
*/

.accordion + .accordion {
  margin-top: -24px;
}

/*
  title
  ---
*/

.accordion__title {
  position: relative;
  margin: 0;
  padding: 18px 62px 18px 32px;
  line-height: 1.5;
  font-weight: 600;
  font-size: 20px;
  color: #0060AA;
  cursor: pointer;
  transition: 150ms linear;
}

/* active */

.accordion.--active .accordion__title {
  color: #23282C;
}

/*
  Icon
  ...
*/

.accordion__title:before, 
.accordion__title:after {
  content: '';
  width: 17px;
  height: 3px;
  position: absolute;
  right: 33px;
  top: 31px;
  background-color: #0060AA;
}
.accordion__title:after {
  transform: rotate(90deg);
  transition: 150ms linear;
}

/* active */

.accordion.--active .accordion__title:after {
  opacity: 0;
}

/*
  content
  ---
*/

.accordion__content {
  overflow: hidden;
  padding: 0 32px 8px 32px;
}