.animation-element .animation-default {
  transform: translateY(50px);
  opacity: 0;
  transition: opacity 1s, transform 1s; }

.animation-element .animation-mask {
  overflow: hidden; }
  .animation-element .animation-mask span {
    padding: 11px 0;
    display: block;
    transform: translateY(100%);
    transition: transform 1s;
    will-change: transform; }

.animation-element .animation-fade {
  opacity: 0;
  transition: opacity 2s; }

.animation-element .animation-btn::before, .animation-element .animation-btn::after {
  width: 0;
  transition-delay: 1s; }

.animation-element .animation-btn > span > span {
  display: block;
  transform: translateY(100%);
  opacity: 0;
  transition: opacity 0.5s, transform 1s;
  will-change: transform; }

.animation-element .animation-btn > span::before, .animation-element .animation-btn > span::after {
  height: 0; }

.animation-element .animation-transform {
  opacity: 0;
  transform: translateY(0);
  transition: transform 1s, opacity 0.5s; }

.animation-element .animation-img {
  position: relative;
  clip-path: inset(100% 0 0 0);
  transition: clip-path 1.5s;
  transition-delay: 0.5s; }
  .animation-element .animation-img::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #191b29;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 10; }

.animation-element.in-view .animation-default {
  opacity: 1;
  transform: translateY(0); }

.animation-element.in-view .animation-mask span {
  transform: translateY(0); }

.animation-element.in-view .animation-img {
  opacity: 1;
  clip-path: inset(0 0 0 0); }
  .animation-element.in-view .animation-img::before {
    animation: imgAnimation 2s ease-in-out forwards; }

.animation-element.in-view .animation-fade {
  opacity: 1; }

.animation-element.in-view .animation-btn::before {
  transition-delay: 1.4s; }

.animation-element.in-view .animation-btn::after {
  transition-delay: 1s; }

.animation-element.in-view .animation-btn::before, .animation-element.in-view .animation-btn::after {
  width: 100%; }

.animation-element.in-view .animation-btn > span > span {
  opacity: 1;
  transform: translateY(0); }

.animation-element.in-view .animation-btn > span::before {
  transition-delay: 1.6s; }

.animation-element.in-view .animation-btn > span::after {
  transition-delay: 1.2s; }

.animation-element.in-view .animation-btn > span::before, .animation-element.in-view .animation-btn > span::after {
  height: 100%; }

.animation-element.in-view .animation-transform {
  opacity: 1;
  transform: translateY(-50%); }

@keyframes imgAnimation {
  0% {
    height: 100%; }
  50% {
    height: 100%;
    bottom: auto;
    top: 0; }
  100% {
    height: 0%;
    bottom: auto;
    top: 0; } }

.footer-contacts__item:not(:last-child) {
  margin-bottom: 30px; }

.footer-contacts__item-title {
  display: block;
  font-weight: normal;
  font-size: 12px;
  line-height: 20px;
  color: #666666;
  margin-bottom: 10px; }

.footer-contacts__item-val {
  display: block;
  font-style: normal;
  font-weight: normal;
  font-size: 20px;
  line-height: 30px;
  color: #202020; }

.footer-soc-links {
  display: flex; }
  .footer-soc-links__item {
    display: flex; }
    .footer-soc-links__item:not(:last-child) {
      margin-right: 20px; }
    .footer-soc-links__item a {
      font-size: 16px;
      line-height: 20px;
      color: #202020; }

.subscribe-box__title {
  font-weight: normal;
  font-size: 20px;
  line-height: 30px;
  color: #202020;
  margin-bottom: 30px; }
  .subscribe-box__title.done {
    margin-bottom: 10px;
    text-align: center; }

.subscribe-box .subscribe-form {
  width: 100%;
  position: relative;
  display: flex; }
  .subscribe-box .subscribe-form input {
    width: 100%;
    font-size: 16px;
    line-height: 20px;
    padding: 0 100px 10px 0;
    color: #202020;
    background: transparent;
    outline: none;
    border: none;
    border-bottom: 1px solid #202020; }
    .subscribe-box .subscribe-form input::placeholder {
      color: #a5a5a5; }
  .subscribe-box .subscribe-form .main-btn {
    margin: 0;
    padding: 0;
    display: inline-flex;
    background: none;
    outline: none;
    border: none;
    font-family: var(--font-primary);
    position: absolute;
    right: 0;
    font-family: var(--font-primary);
    text-transform: capitalize;
    letter-spacing: normal;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 20px;
    color: #202020; }
    .subscribe-box .subscribe-form .main-btn:after {
      background: transparent; }
    .subscribe-box .subscribe-form .main-btn:hover:after {
      background: transparent; }

.main-footer {
  padding: 76px 0 90px; }
  @media only screen and (max-width: 770px) {
    .main-footer {
      padding: 50px 0 120px; } }
  .main-footer > .container {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 770px) {
      .main-footer > .container {
        justify-content: center; }
        .main-footer > .container > div:not(.main-footer__col-3),
        .main-footer > .container .footer-contacts > div:not(:last-child),
        .main-footer > .container .footer-contacts__item-title {
          display: none; } }
  .main-footer__col-1 {
    display: flex;
    flex-direction: column; }
    .main-footer__col-1 img {
      display: block;
      max-width: 210px;
      margin-bottom: 11px; }
    .main-footer__col-1 .edeldorf-phrase {
      display: block;
      font-size: 16px;
      line-height: 20px;
      color: #202020;
      opacity: 0.5; }
    .main-footer__col-1 .copy-right {
      margin-top: auto;
      font-size: 16px;
      line-height: 20px;
      color: #202020; }
  .main-footer__col-4 {
    display: flex;
    flex-direction: column;
    justify-content: flex-end; }
    .main-footer__col-4 .subscribe-form {
      margin-bottom: auto; }
  @media only screen and (max-width: 1200px) {
    .main-footer .callback-widget {
      display: none; } }

.footer-link {
  font-size: 14px;
  line-height: 20px;
  color: #a5a5a5;
  font-weight: normal; }
  .footer-link:not(:last-child) {
    margin-bottom: 30px; }
  .footer-link span {
    margin-right: 5px; }

.footer-privacy-policy {
  display: flex;
  flex-direction: column; }
  .footer-privacy-policy a {
    font-size: 16px; }
    @media only screen and (max-width: 1200px) {
      .footer-privacy-policy a {
        font-size: 18px; } }

.mobile-footer {
  padding: 40px 20px 150px; }
  .mobile-footer .edeldorf-logo {
    max-width: 160px;
    margin-bottom: 40px; }
  .mobile-footer .subscribe-box {
    margin-bottom: 70px; }
    .mobile-footer .subscribe-box__title {
      max-width: 170px;
      margin-bottom: 25px;
      font-size: 20px;
      line-height: 28px;
      color: #202020; }
  .mobile-footer .contact-form__field-box {
    margin-bottom: 0; }
  .mobile-footer .footer-contacts {
    margin-bottom: 50px; }
    .mobile-footer .footer-contacts__item-title {
      margin-bottom: 5px; }
  .mobile-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .mobile-footer__bottom img {
      display: block; }

.by-rossery {
  display: flex;
  align-items: center; }
  .by-rossery span {
    margin-right: 10px; }

