html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
  /*overflow: hidden;*/
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

strong {
  font-weight: 800;
}

a {
  color: #0a6067;
  text-decoration: none;
}

:focus {
  outline: none;
}

/*  Fonts */
@font-face {
  font-family: "gilroy";
  src: url("../fonts/gilroy-light-webfont.woff2") format("woff2"), url("../fonts/gilroy-light-webfont.woff") format("woff");
}
@font-face {
  font-family: "gilroy";
  src: url("../fonts/gilroy-extrabold-webfont.woff2") format("woff2"), url("../fonts/gilroy-extrabold-webfont.woff") format("woff");
  font-weight: bold;
}
body {
  font-family: "gilroy";
  background: #ededea;
  color: #0a6067;
}

nav {
  position: fixed;
  left: 0;
  top: 0;
  width: 98px;
  height: 100vh;
  background: #ededea;
  color: #0a6067;
  border-right: 1px solid #0a6067;
}

.logo {
  position: absolute;
  left: -62px;
  top: 120px;
  width: 220px;
  transform: rotate(270deg);
}

.phone {
  position: absolute;
  left: -50px;
  top: 47vh;
  width: 200px;
  transform: rotate(270deg);
}

.social {
  position: absolute;
  left: 35px;
  bottom: 30px;
}

.icons li {
  float: left;
  width: 7%;
  border: 1px solid #0a6067;
  border-radius: 100%;
  padding: 0.8em 0.9em;
  margin-right: 5%;
}

.icons li img {
  fill: red;
}

.social li {
  margin-bottom: 15px;
}

.social img {
  width: 25px;
}

#scroll-left {
  position: absolute;
  width: calc(50% - 50px);
  left: 99px;
  background: #ededea;
  border-right: 1px solid #0a6067;
}

#scroll-left .block:first-child {
  border-top: 0px solid #0a6067;
}

#scroll-left .block.services {
  border-bottom: 0px solid #0a6067;
}

#scroll-right {
  position: absolute;
  right: 0;
  width: calc(50% - 50px);
  background: #ededea;
  border-left: 1px solid #0a6067;
}

#scroll-right .block:first-child {
  border-top: 0px solid #0a6067;
}

.block {
  position: relative;
  width: 100%;
  height: 45vw;
  border-bottom: 1px solid #0a6067;
  overflow: hidden;
}

.block .content {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 70%;
  display: block;
}

#scroll-right .block:first-child .content {
  top: 43%;
}

.block .content h1 {
  font-size: 4.5em;
}

.block .content h2 {
  font-size: 3em;
}

.block .text {
  padding: 5vh 0;
  line-height: 1.6em;
}

.s-block .s-content .text h1, .s-block .s-content .text h2, .s-block .s-content .text h3, .s-block .s-content .text h5, .s-block .s-content .text h6, .s-block .s-content .text blockquote {
  font-size: 1em;
  margin: 0;
  padding: 0;
  border: 0;
}

.text > ul {
  padding-top: 1em;
  list-style: disc;
  display: list-item;
  margin-left: 1.8em;
}

.text > ol {
  padding-top: 1em;
  list-style: decimal;
  display: list-item;
  margin-left: 1.8em;
}

.text ul li, .text ol li {
  padding: 0.2em 0 0.2em 0em;
}

.block .price {
  float: left;
  padding-top: 0.4em;
  font-size: 1.8em;
}

button {
  font-size: 1em;
  cursor: pointer;
  border: none;
  color: #ededea;
  padding: 0.9em 3em 1em 3em;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-weight: 300;
  position: relative;
  overflow: hidden;
  border: 1px solid #0a6067;
  z-index: 1;
  background: #0a6067;
  margin: 0;
  vertical-align: top;
}

button.prm {
  font-size: 1em;
  float: left;
  cursor: pointer;
  background-color: #0a6067;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}

button:hover {
  color: #0a6067;
}

button:after {
  content: "";
  background: #ededea;
  position: absolute;
  z-index: -1;
  padding: 0.85em 0.75em;
  display: block;
  left: 0;
  right: 0;
  top: -100%;
  bottom: 100%;
}

.btn-second {
  cursor: pointer;
  border: 1px solid #0a6067;
  color: #0a6067;
  padding: 1em 3em;
  text-align: center;
  text-decoration: none;
  margin-bottom: 2px;
  margin-right: 1em;
  position: relative;
  overflow: hidden;
  z-index: 1;
  background: #ededea;
  display: inline-block;
}

.btn-second:hover, .custom-file-upload:hover {
  color: #ededea;
}

.btn-second:after, .custom-file-upload:after {
  content: "";
  background: #0a6067;
  position: absolute;
  z-index: -1;
  padding: 0.85em 0.75em;
  display: block;
  left: 0;
  right: 0;
  top: -100%;
  bottom: 100%;
}

button:after, .btn-second:after, .custom-file-upload:after {
  transition: all 0.35s;
}

button:hover:after, .btn-second:hover:after, .custom-file-upload:hover:after {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transition: all 0.35s;
}

.block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.block.forvideo {
  position: relative;
  overflow: visible;
}

.block video {
  width: 100%;
  height: calc(100% + 10vh);
  object-fit: cover;
  position: absolute;
  top: 0;
}

form {
  padding-top: 1em;
  position: relative;
}

form h2 {
  margin-bottom: 20px;
}

form label {
  font-size: 1.2em;
  display: block;
  padding: 1em 0 0.5em;
}

form input {
  width: calc(100% - 2em);
  color: #0a6067;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #ededea;
  border: 1px solid #0a6067;
  border-radius: 0;
  padding: 0.6em 0.8em;
  text-decoration: none;
  display: block;
  font-size: 1em;
  outline: none;
}

form button {
  margin-top: 2.5em;
}

/* ====== Single Page =========== */
.wrapper {
  display: flex;
}

.single {
  width: calc(50% - 50px);
  padding-left: 98px;
}

.ill-column {
  width: calc(50% - 50px);
  display: flex;
  flex-direction: column;
  border-left: 1px solid #0a6067;
}

.ill-wrapper {
  flex: 1;
}

.s-block {
  overflow: hidden;
  width: 100%;
  height: auto;
  border-bottom: 1px solid #0a6067;
}

.s-block .s-content {
  margin: 15% auto;
  overflow: hidden;
  width: 70%;
}

.first .s-content {
  margin: 35% auto 20% auto;
}

.s-block .text {
  padding: 5vh 0;
  line-height: 1.6em;
}

.s-block .s-content h1 {
  font-size: 5.2vw;
}

.s-block .s-content h2 {
  font-size: 3em;
}

.s-content ul, .s-content ol {
  margin-bottom: 1.5em;
}

.illustration {
  width: 100%;
  height: 100vh;
  float: right;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  object-fit: cover;
}

.s-form {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(50% - 50px);
}

h4 {
  margin: 2em 0 0;
  font-size: 1.3em;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}

td {
  overflow: hidden;
  position: relative;
}

td.price {
  white-space: nowrap;
  vertical-align: bottom;
}

.t-text {
  font-size: 0.9em;
  width: 92%;
  letter-spacing: 0.04em;
}

.t-text span {
  font-style: italic;
  font-size: 0.8em;
  opacity: 0.8;
}

.t-text:after {
  opacity: 0.5;
  content: " .............................................................................................................................................................................................................................................. ";
  position: absolute;
  padding-left: 5px;
}

/* ======== Select 2 ============== */
.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.select2-container {
  margin-top: -1px;
  display: block;
  width: calc(100% - 2em);
  color: #0a6067;
  background-color: #ededea;
  border: 1px solid #0a6067;
  padding: 0 0.8em;
  text-decoration: none;
  font-size: 1em;
  outline: none;
  cursor: pointer;
}

.select2-search__field {
  display: none;
}

.select2-results__options {
  padding-bottom: 1em;
}

.select2-results__options li {
  padding-top: 1em;
  cursor: pointer;
}

.select2-container--below {
  margin-top: 0;
}

.selection {
  display: block;
  width: 100%;
  outline: none;
}

.select2-selection {
  display: block;
  width: 100%;
  padding: 0.7em 0;
}

footer {
  font-size: 0.9rem;
}

footer .rights {
  float: left;
  margin-left: 15%;
  display: block;
}

footer .copywrite {
  float: right;
  margin-right: 15%;
}

input[type=file] {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}

.custom-file-upload {
  float: left;
  font-size: 1em;
  cursor: pointer;
  border: 1px solid #3E7B7B;
  color: #3E7B7B;
  padding: 1.06em 2.5em;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 2px;
  margin-right: 1.3em;
  margin-top: 2.5em;
  position: relative;
  overflow: hidden;
  z-index: 1;
  background: #ededea;
  display: inline-block;
}

.select2-container {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  z-index: 3;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #0a6067 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -3px;
  position: absolute;
  top: 50%;
  width: 0;
}

.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #0a6067 transparent;
  border-width: 0 4px 5px 4px;
}

.s-block.last {
  border-bottom: 0px;
}

/* =======  MOBILE 600  =======   */
.mobile {
  display: none;
}

.btn-second {
  margin-bottom: 15px;
}

.errorpage .first {
  height: 90vh;
  display: flex;
}

.errorpage .first .s-content {
  margin: auto;
}

.errorpage h1.error {
  font-size: 10vw;
  margin-bottom: 0;
  display: block;
  float: left;
  margin: auto 0px;
}

.errorpage .title {
  width: 100%;
  overflow: visible;
  display: flex;
  min-height: 30vh;
}

.errorpage .text {
  margin-top: -3vw;
}

.bubble {
  border: 1px solid #ededea;
  border-radius: 100%;
  float: left;
  margin: auto 20px;
  animation: 3s ease infinite bubble;
  position: relative;
}

.medium-bubble, .small-bubble {
  border: 1px solid #ededea;
  border-radius: 100%;
  position: absolute;
}

.medium-bubble {
  animation: 3s ease infinite medium-bubble;
  background-color: #ededea;
  top: 1vw;
  left: -1vw;
}

.small-bubble {
  animation: 3s ease infinite small-bubble;
  right: -1vw;
  top: -2vh;
}

@keyframes bubble {
  0% {
    border-color: #0a6067;
    width: 0px;
    height: 0px;
  }
  60% {
    width: 13vw;
    height: 13vw;
    border-color: #0a6067;
  }
  73% {
    border-color: #ededea;
    width: 13vw;
    height: 13vw;
  }
  90% {
    width: 0;
    height: 0;
    border-color: #ededea;
  }
}
@keyframes small-bubble {
  0% {
    border-color: #ededea;
  }
  49% {
    border-color: #ededea;
  }
  50% {
    width: 0px;
    height: 0px;
    border-color: #0a6067;
  }
  65% {
    width: 1.5vw;
    height: 1.5vw;
    border-color: #0a6067;
  }
  67% {
    width: 1.5vw;
    height: 1.5vw;
    border-color: #ededea;
  }
  70% {
    width: 0vw;
    height: 0vw;
    border-color: #ededea;
  }
}
@keyframes medium-bubble {
  0% {
    border-color: #ededea;
  }
  29% {
    border-color: #ededea;
  }
  30% {
    width: 0px;
    height: 0px;
    border-color: #0a6067;
  }
  59% {
    width: 5vw;
    height: 5vw;
    border-color: #0a6067;
  }
  60% {
    width: 5vw;
    height: 5vw;
    border-color: #ededea;
  }
  65% {
    width: 0vw;
    height: 0vw;
    border-color: #ededea;
  }
}
p {
  font-size: 1em;
}

.half {
  height: 60vh;
}

@media screen and (max-width: 1350px), (max-height: 640px) {
  .logo {
    position: absolute;
    left: -43px;
    top: 100px;
    width: 180px;
    transform: rotate(270deg);
  }

  .phone {
    top: 50vh;
    font-size: 0.9em;
  }

  .social {
    left: 40px;
    bottom: 25px;
  }

  .social img {
    width: 20px;
  }

  .block .content h1 {
    font-size: 5vw;
  }

  .block .content h2 {
    font-size: 3.2vw;
  }

  .icons li {
    float: left;
    width: 8%;
    border: 1px solid #0a6067;
    border-radius: 100%;
    padding: 2.5% 3%;
    margin-right: 0.9em;
    margin-bottom: 1em;
  }

  p {
    font-size: 0.9em;
    line-height: 1.5em;
  }

  button, .btn-second, .custom-file-upload, button.prm {
    font-size: 0.9em;
  }

  button {
    padding: 0.6em 2em 0.8em 2em;
  }

  .btn-second {
    padding: 0.8em 2em;
  }

  .custom-file-upload {
    padding: 0.8em 2em;
  }

  form label {
    font-size: 1em;
  }

  form input {
    padding: 0.5em 0.8em;
  }

  form h2 {
    margin-bottom: 10px;
  }

  .select2-container {
    font-size: 0.9em;
  }
}
@media screen and (max-width: 1000px), (max-height: 495px) {
  .desktop {
    display: none;
  }

  body {
    overflow: auto;
  }

  .mobile {
    display: block;
  }

  #scroll-left {
    width: calc(100% - 50px);
    left: 49px;
    border-right: 0px solid #0a6067;
    position: relative;
  }

  #scroll-left .block.services {
    border-bottom: 1px solid #0a6067;
  }

  body {
    font-size: 13px;
  }

  nav {
    width: 48px;
    height: 100vh;
    background: #ededea;
    color: #0a6067;
    border-right: 1px solid #0a6067;
  }

  .logo {
    position: absolute;
    left: -42px;
    top: 70px;
    width: 130px;
    transform: rotate(270deg);
  }

  .phone {
    position: absolute;
    left: -75px;
    top: 45vh;
    font-size: 1em;
    width: 200px;
    transform: rotate(270deg);
  }

  .social {
    position: absolute;
    left: 14px;
    bottom: 10px;
  }

  .social img {
    width: 20px;
  }

  .icons li {
    float: left;
    width: 8%;
    border: 1px solid #0a6067;
    border-radius: 100%;
    padding: 2.5% 3%;
    margin-right: 0.9em;
    margin-bottom: 1em;
  }

  .block {
    overflow: hidden;
    height: auto;
  }

  .block .content {
    margin: 20% auto;
    position: relative;
    top: 0%;
    left: 0%;
    -ms-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
    overflow: hidden;
    display: block;
  }

  .block .content h1 {
    font-size: 5em;
  }

  .block .content h2 {
    font-size: 2em;
  }

  .block .text {
    padding: 20px 0 30px 0;
  }

  .block .btn-second {
    float: none;
    width: 99%;
    padding-left: 0;
    padding-right: 0;
  }

  .block button.prm {
    float: none;
    width: 99%;
    padding-left: 0;
    padding-right: 0;
  }

  .block button {
    float: none;
    width: 99%;
    padding-left: 0;
    padding-right: 0;
  }

  .custom-file-upload {
    width: 99%;
    padding-left: 0;
    padding-right: 0;
    margin-top: 25px;
    margin-bottom: 20px;
    margin-right: 0;
  }

  .wrapper {
    display: block;
  }

  .single {
    width: calc(100% - 50px);
    padding-left: 48px;
  }

  .ill-column {
    width: calc(100% - 50px);
    padding-left: 48px;
    display: flex;
    flex-direction: column;
  }

  .ill-wrapper {
    flex: 1;
  }

  .s-block {
    overflow: hidden;
    width: 100%;
    height: auto;
    border-bottom: 1px solid #0a6067;
  }

  .illustration {
    display: none;
  }

  footer .rights {
    float: left;
    margin-left: 15%;
  }

  footer .copywrite {
    margin-right: 15%;
  }

  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
  }

  .s-block .s-content {
    width: 70%;
  }

  .s-block .s-content h1 {
    font-size: 9.5vw;
  }

  .s-block .s-content h2 {
    font-size: 2em;
  }

  .s-block button.prm {
    width: 99%;
  }

  .s-block.last {
    border-bottom: 1px solid #0a6067;
  }

  .errorpage h1.error {
    font-size: 20vw;
  }

  @keyframes bubble {
    0% {
      border-color: #0a6067;
      width: 0px;
      height: 0px;
    }
    60% {
      width: 23vw;
      height: 23vw;
      border-color: #0a6067;
    }
    73% {
      border-color: #ededea;
      width: 23vw;
      height: 23vw;
    }
    90% {
      width: 0;
      height: 0;
      border-color: #ededea;
    }
  }
  @keyframes small-bubble {
    0% {
      border-color: #ededea;
    }
    49% {
      border-color: #ededea;
    }
    50% {
      width: 0px;
      height: 0px;
      border-color: #0a6067;
    }
    65% {
      width: 3.5vw;
      height: 3.5vw;
      border-color: #0a6067;
    }
    67% {
      width: 3.5vw;
      height: 3.5vw;
      border-color: #ededea;
    }
    70% {
      width: 0vw;
      height: 0vw;
      border-color: #ededea;
    }
  }
  @keyframes medium-bubble {
    0% {
      border-color: #ededea;
    }
    29% {
      border-color: #ededea;
    }
    30% {
      width: 0px;
      height: 0px;
      border-color: #0a6067;
    }
    59% {
      width: 8vw;
      height: 8vw;
      border-color: #0a6067;
    }
    60% {
      width: 8vw;
      height: 8vw;
      border-color: #ededea;
    }
    65% {
      width: 0vw;
      height: 0vw;
      border-color: #ededea;
    }
  }
}
@media screen and (max-width: 1000px), (max-height: 495px) {
  .block .content h1 {
    font-size: 8vw;
  }

  .block .content h2 {
    font-size: 4em;
  }

  .block .text {
    padding: 5vh 0 7vh 0;
    line-height: 1.6em;
  }

  .s-block .text {
    padding: 5vh 0;
    line-height: 1.6em;
  }

  .block button, .block .btn-second, .block .custom-file-upload, .block button.prm, .s-block button.prm {
    font-size: 1em;
    float: left;
    width: auto;
  }

  .block button, .block button.prm, .s-block button.prm {
    padding: 0.9em 3em 1em 3em;
  }

  .block .btn-second {
    padding: 1em 3em;
  }

  .block button, .block .btn-second, .block button.prm {
    padding-left: 3em;
    padding-right: 3em;
  }

  .block .custom-file-upload {
    padding: 1.06em 2.5em;
    padding-left: 2.5em;
    padding-right: 2.5em;
    margin-top: 2.5em;
    margin-right: 1.3em;
  }

  p, ul li, ol li, .s-block .s-content .text h1, .s-block .s-content .text h2, .s-block .s-content .text h3, .s-block .s-content .text h5, .s-block .s-content .text h6, .s-block .s-content .text blockquote {
    font-size: 1.2em;
    line-height: 1.6em;
  }

  .half {
    height: 100vh;
  }

  form label {
    font-size: 1.2em;
    display: block;
    padding: 1em 0 0.5em;
  }

  form input {
    padding: 0.6em 0.8em;
  }

  .select2-container {
    font-size: 1em;
  }

  .first .s-content {
    margin: 15% auto;
  }

  .s-block .s-content h1 {
    font-size: 8.5vw;
  }

  .s-block .s-content h2 {
    font-size: 3.5em;
  }

  .t-text {
    font-size: 1em;
  }
}
@media screen and (max-width: 600px) {
  .block .content h1 {
    font-size: 2.8em;
  }

  .block .content h2 {
    font-size: 2em;
  }

  .block .text, .s-block .text {
    padding: 20px 0 30px 0;
  }

  .block button, .block .btn-second, .block .custom-file-upload, .block button.prm, .s-block button.prm {
    font-size: 0.9em;
    float: none;
    width: 99%;
    padding-left: 0;
    padding-right: 0;
  }

  .block .custom-file-upload {
    margin-top: 25px;
    margin-right: 0;
  }

  p, ul li, ol li, .s-block .s-content .text h1, .s-block .s-content .text h2, .s-block .s-content .text h3, .s-block .s-content .text h5, .s-block .s-content .text h6, .s-block .s-content .text blockquote {
    font-size: 0.9em;
    line-height: 1.5em;
  }

  .half {
    height: 60vh;
  }

  form label {
    font-size: 1em;
  }

  form input {
    padding: 0.5em 0.8em;
  }

  .select2-container {
    font-size: 0.9em;
  }

  .first .s-content {
    margin: 35% auto 20% auto;
  }

  .s-block .s-content h1 {
    font-size: 9.5vw;
  }

  .s-block .s-content h2 {
    font-size: 2em;
  }

  .t-text {
    font-size: 0.9em;
  }
}
@media screen and (max-width: 325px) {
  .block .content h1 {
    font-size: 2.3em;
  }

  .errorpage .text {
    margin-top: -65px;
  }
}
@media screen and (min-width: 1000px) and (max-height: 495px) {
  .block .content h1, .s-block .s-content h1 {
    font-size: 5vw;
  }

  .icons li {
    width: 5%;
    padding: 1.5% 1.9%;
  }
}
.inputfile {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}

#scroll-right .block {
  opacity: 0.3;
  transition: opacity 0.1s ease;
}

.text a {
  text-decoration: underline;
}
