.content-block {
  position: relative;
}
.content-block .content-block__heading {
  margin: 0 0 30px;
}
.content-block .content-block__heading h1, .content-block .content-block__heading h2, .content-block .content-block__heading h3, .content-block .content-block__heading h4, .content-block .content-block__heading h5, .content-block .content-block__heading h6 .h1,
.content-block .content-block__heading .h2, .content-block .content-block__heading .h3, .content-block .content-block__heading .h4, .content-block .content-block__heading .h5, .content-block .content-block__heading .h6 {
  margin: 0;
}
.content-block.content-block--space-before-0:before {
  content: "";
  display: block;
  width: 100%;
  height: 0px;
}
.content-block.content-block--space-after-0:after {
  content: "";
  display: block;
  width: 100%;
  height: 0px;
}
.content-block.content-block--space-before-10:before {
  content: "";
  display: block;
  width: 100%;
  height: 10px;
}
.content-block.content-block--space-after-10:after {
  content: "";
  display: block;
  width: 100%;
  height: 10px;
}
.content-block.content-block--space-before-20:before {
  content: "";
  display: block;
  width: 100%;
  height: 20px;
}
.content-block.content-block--space-after-20:after {
  content: "";
  display: block;
  width: 100%;
  height: 20px;
}
.content-block.content-block--space-before-25:before {
  content: "";
  display: block;
  width: 100%;
  height: 25px;
}
.content-block.content-block--space-after-25:after {
  content: "";
  display: block;
  width: 100%;
  height: 25px;
}
.content-block.content-block--space-before-50:before {
  content: "";
  display: block;
  width: 100%;
  height: 50px;
}
.content-block.content-block--space-after-50:after {
  content: "";
  display: block;
  width: 100%;
  height: 50px;
}
.content-block.content-block--space-before-80:before {
  content: "";
  display: block;
  width: 100%;
  height: 80px;
}
.content-block.content-block--space-after-80:after {
  content: "";
  display: block;
  width: 100%;
  height: 80px;
}
.content-block.content-block--space-before-100:before {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
}
.content-block.content-block--space-after-100:after {
  content: "";
  display: block;
  width: 100%;
  height: 100px;
}

/**
 * ----------------------------------------
 * animation rotate-center
 * ----------------------------------------
 */
@keyframes rotate-center {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.hero {
  position: relative;
  height: calc(100vh - 180px);
}
@media only screen and (max-width: 992px) {
  .hero {
    height: initial;
  }
}
.hero .hero__background {
  position: relative;
  display: block;
  height: 100%;
}
.hero .hero__background .hero__image {
  height: 100%;
}
.hero .hero__background picture {
  display: block;
  height: 100%;
}
.hero .hero__background picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.hero .hero__content {
  position: absolute;
  bottom: 100px;
  left: 0;
  width: 100%;
}
@media only screen and (max-width: 992px) {
  .hero .hero__content {
    position: relative;
    bottom: initial;
    left: initial;
  }
}
.hero .hero__content .hero__title {
  background-color: #00afff;
  display: inline-block;
  padding: 30px 25px 20px 0;
  border-radius: 0 20px 20px 0;
  position: relative;
  width: calc(50% + 20px);
}
@media only screen and (max-width: 1200px) {
  .hero .hero__content .hero__title {
    width: calc(75% + 20px);
  }
}
@media only screen and (max-width: 992px) {
  .hero .hero__content .hero__title {
    width: calc(90% + 20px);
  }
}
@media only screen and (max-width: 576px) {
  .hero .hero__content .hero__title {
    width: 100%;
    padding: 30px 25px 20px 25px;
    border-radius: 20px 20px 0 0;
    margin: -20px 0 0 0;
  }
}
.hero .hero__content .hero__title:before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background-color: #00afff;
}
@media only screen and (max-width: 576px) {
  .hero .hero__content .hero__title:before {
    display: none;
  }
}
.hero .hero__content .hero__title h1, .hero .hero__content .hero__title h2, .hero .hero__content .hero__title h3, .hero .hero__content .hero__title h4, .hero .hero__content .hero__title h5 {
  margin: 0;
  color: #ffffff;
}
.hero .hero__content .hero__description {
  width: 50%;
  background-color: #ffffff;
  padding: 25px 25px 25px 0;
  border-radius: 0 0 20px 0;
  position: relative;
}
@media only screen and (max-width: 1200px) {
  .hero .hero__content .hero__description {
    width: 75%;
  }
}
@media only screen and (max-width: 992px) {
  .hero .hero__content .hero__description {
    width: 90%;
    background-color: #efefef;
  }
}
@media only screen and (max-width: 576px) {
  .hero .hero__content .hero__description {
    width: 100%;
    background-color: #efefef;
    padding: 25px;
    border-radius: 0 0 20px 20px;
  }
}
.hero .hero__content .hero__description:before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  right: 100%;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
}
@media only screen and (max-width: 992px) {
  .hero .hero__content .hero__description:before {
    background-color: #efefef;
  }
}
@media only screen and (max-width: 576px) {
  .hero .hero__content .hero__description:before {
    display: none;
  }
}
.hero .hero__content .hero__description p {
  margin: 0;
}