.footer-widget {
  margin-bottom: 40px;

  &,
  .widget {
    padding: 0;
    border: none;
    padding-bottom: 0;
    background-color: transparent;
  }

  .widget_title {
    margin: 0 0 27px 0;
  }

  &.widget_meta,
  &.widget_pages,
  &.widget_archive,
  &.widget_categories,
  &.widget_nav_menu {
    margin-bottom: 40px;

    a {
      width: max-content;
      display: block;
      border: none;
      font-size: 16px;
      font-weight: 400;
      margin-bottom: 16px;
      max-width: 100%;
      padding: 0;

      &:hover {
        background-color: transparent;
        color: $theme-color;
      }

      &:before {
        display: none;
      }
    }

    li {
      >span {
        @include equal-size(auto);
        position: relative;
        background-color: transparent;
        color: $body-color;
        line-height: 1;
      }

      // &:last-child {
      //   a {
      //     margin-bottom: 0;
      //   }
      // }
    }
  }

  .footer-links {
    >ul {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
    }

    a {
      margin-bottom: 21px;
    }
  }

}

.two-column .menu,
.footer-widget .footer-links>ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 20px;

  a {
    margin-bottom: 21px;
  }
}


.footer-logo {
  margin-bottom: 15px;

  img {
    max-width: 220px;
  }
}

.footer-text {
  margin: -0.3em 0 25px 0;
  max-width: 285px;
}

.footer-info {
  display: flex;

  &_group {
    display: flex;
    justify-content: center;
    border-right: 1px solid #152B54;
    padding: 60px 0 60px 0;

    &:last-child {
      border-right: none;
    }

    &.style2 {
      border: none;

      .footer-info_icon {
        background-color: transparent;
        border: 1px solid #35496F;
      }
    }
  }

  &_icon {
    width: 85px;
    height: 85px;
    line-height: 85px;
    text-align: center;
    background-color: #152B54;
    color: $white-color;
    font-size: 30px;
    margin: 0 25px 0 0;
    display: inline-block;
    border-radius: 5px;
  }

  &_label {
    color: $white-color;
    font-size: 16px;
    font-weight: 600;
    font-family: $title-font;
    text-transform: uppercase;
    display: block;
    margin: 0 0 5px 0;
  }

  &_link {
    max-width: 190px;
    color: #8A99B4;
    margin: 0 0 -0.15em 0;

    a {
      color: inherit;

      &:hover {
        color: $theme-color;
      }
    }
  }
}


.footer-number {
  border-top: 1px solid #14284F;
  padding: 43px 0 0 0;
  margin: 34px 0 0 0;
  position: relative;

  &:before {
    content: '';
    position: absolute;
    top: -1px;
    left: -60px;
    width: 9999px;
    height: 1px;
    border: inherit;
  }

  .info {
    color: $body-color;
    margin: 0;
    line-height: 1;
    display: inline-block;

    &:hover {
      color: $theme-color;
    }
  }

  .title {
    margin: 0 0 7px 0;
  }
}

.footer-map {
  max-width: 400px;
  width: 100%;

  frame {
    max-width: 100%;
  }
}

.footer-social {
  .social-title {
    font-family: $title-font;
    color: $title-color;
    font-size: 20px;
    display: inline-block;
    margin-right: 20px;
    font-weight: 700;
  }

  a {
    display: inline-block;
    width: 45px;
    height: 45px;
    line-height: 45px;
    font-size: 16px;
    margin: 0 5px 0 0;
    color: $white-color;
    background-color: #15284C;
    text-align: center;
    border-radius: 5px;

    &:last-child {
      margin-right: 0;
    }

    &:hover {
      background-color: $theme-color;
      color: $white-color;
    }
  }

  &.style2 {
    a {
      background-color: $white-color;
      outline: 2px solid #e7e8ec;
      outline-offset: -2px;
      color: $body-color;
      box-shadow: 8px 13.856px 30px 0px rgba(132, 137, 154, 0.1);

      &:hover {
        background-color: $theme-color;
        color: $white-color;
        outline-color: transparent;
      }
    }
  }
}

.footer-newsletter {
  display: flex;

  input {
    background-color: transparent;
    border-radius: 5px 0 0 5px;
    border: 1px solid #14284F;
    height: 55px;
    color: $white-color;
    flex: 1;

    @include inputPlaceholder {
      color: $white-color;
    }
  }

  .vs-btn {
    border-radius: 0 5px 5px 0;

    &:hover {
      background-color: $theme-color;
      color: $white-color;
    }

    &:after,
    &::before {
      display: none;
    }
  }
}


.footer-schedule {
  table {
    border: none;
    margin: -0.3em 0 0 0;
  }

  th,
  td {
    padding: 0 0 10px 0;
    color: $body-color;
    border: none;
    font-weight: 400;
  }
}

.footer-number1 {
  font-size: 30px;
  font-weight: 700;
  color: $body-color;
  font-family: $title-font;
  margin-bottom: 25px;
  display: block;
  width: max-content;
}

.footer-mail1,
.footer-address1 {
  padding-left: 25px;
  position: relative;

  >i:first-child {
    position: absolute;
    left: 0;
    top: 4px;
  }
}


.footer-address1 {
  max-width: 250px;
}

.footer-mail1 {
  color: $body-color;
  text-decoration: underline;

  i:first-child {
    top: 2px;
  }
}

.footer-info-list {
  margin: 35px 0 22px 0;

  .info {
    position: relative;
    margin-bottom: 21px;
    padding-left: 30px;
    max-width: 250px;

    i:first-child {
      position: absolute;
      left: 0;
      top: 4px;
      color: $theme-color;
    }

    a {
      @extend .text-inherit;
    }
  }


}

.newsletter-form2 {
  .form_text {
    margin: -0.3em 0 22px 0;
    display: block;
    max-width: 300px;
  }

  input {
    background-color: #ebecf1;
    margin-bottom: 15px;
    border-radius: 7px;
    border: none;
    padding-left: 20px;
    padding-right: 20px;
    height: 55px;
  }
}

.info-style1 {
  position: relative;
  display: flex;
  flex: 1;
  align-items: center;
  margin: 0 0 23px 0;
  padding: 0 0 0 65px;
  height: 44px;
  max-width: 330px;
  color: $white-color;

  &:last-child {
    margin-bottom: 0;
  }

  a {
    color: inherit !important;

    &:hover {
      color: $theme-color !important;
    }
  }

  i {
    display: inline-block;
    width: 46px;
    height: 46px;
    line-height: 46px;
    text-align: center;
    background-color: $theme-color;
    color: $white-color;
    position: absolute;
    left: 0;
    top: 50%;
    border-radius: 50%;
    transform: translateY(-50%);
  }
}

.copyright-text2 {
  color: #fff;
  margin: 0;
  font-size: 14px;

  a {
    color: inherit;
    text-decoration: underline;

    &:hover {
      color: $theme-color;
    }
  }
}

.copyright-text3 {
  margin: 0;
  font-size: 16px;
}

.footer-layout7,
.footer-layout6 {

  .footer-number2,
  .footer-number {
    font-size: 30px;
    font-weight: 500;
    display: inline-block;
    margin: 15px 0 0 0;

    i {
      margin-right: 10px;
    }
  }

  .footer-number2 {
    margin: 5px 0 1px 0;
    margin: -0.05em 0 20px 0;
    font-size: 26px;
  }

  .footer-address {
    max-width: 300px;
    position: relative;
    // padding: 0 0 0 34px;
    padding: 0 0 0 0;
    margin-top: 0;
    margin-bottom: 15px;
    color: #65666d;
    font-weight: 500;
    letter-spacing: 0.02em;

    i {
      position: relative;
      top: 1px;
      font-size: 18px;
      width: 23px;
      text-align: center;
      display: inline-block;
    }
  }

  .footer-location,
  .footer-mail {
    font-size: 16px;
    color: $body-color;
    display: block;
    margin-bottom: 14px;
    color: $title-color;
    position: relative;
    padding-left: 35px;

    i {
      position: absolute;
      left: 0;
      top: 3px;
      width: 23px;
      text-align: center;
      display: inline-block;
      font-size: 18px;
      margin-right: 10px;
    }
  }

  .elementor a.footer-mail,
  .footer-mail {
    padding-left: 0;
    color: $title-color;
    font-size: 18px;
    font-weight: 500;
    text-decoration: underline;
    width: max-content;

    &:hover {
      color: $theme-color;
    }

    i {
      position: relative;
      top: 1px;
    }
  }
}

.footer-layout7 {
  .footer-number {
    padding-top: 0;
    margin-top: 0;
    border: none;

    &:before {
      display: none;
    }
  }
}

@include ml {
  .menu-all-pages-container.footer-links {
    width: 330px;
    max-width: 100%;
  }

  .footer-number:before {
    display: none;
  }
}

@include lg {
  .info-style1 {
    max-width: 250px;
  }
  
  .footer-widget {
    margin-bottom: 40px;

    .widget_title {
      font-size: 26px;
    }
  }

  .footer-number {
    padding: 27px 0 0 0;
    margin: 17px 0 0 0;
  }

  .footer-info {
    display: block;
    text-align: center;

    &_icon {
      margin: 0 0 20px 0;
    }

    &_group {
      padding: 0;
      border: none;
    }
  }
}


@media (min-width: $md) and (max-width: $ml) {
  .footer-newsletter {
    display: block;

    input {
      border-radius: 5px;
      margin-bottom: 20px;
    }

    .vs-btn {
      border-radius: 5px;
    }
  }
}

@include md {
  .footer-widget {
    .widget_title {
      font-size: 22px;
    }
  }

  // .footer-layout1 {
  //   .footer-widget.widget_meta a,
  //   .footer-widget.widget_pages a,
  //   .footer-widget.widget_archive a,
  //   .footer-widget.widget_categories a,
  //   .footer-widget.widget_nav_menu a {
  //     margin-left: auto;
  //     margin-right: auto;
  //   }
  // }
}

@include sm {
  .info-style1 {
    max-width: 100%;
  }

  .footer-widget {
    &.widget_meta,
    &.widget_pages,
    &.widget_archive,
    &.widget_categories,
    &.widget_nav_menu {
      a {
        font-size: 14px;
      }
    }
  }



  .footer-newsletter {
    display: block;

    input {
      border-radius: 5px;
      margin-bottom: 20px;
    }

    .vs-btn {
      border-radius: 5px;
    }
  }

  .footer-layout7,
  .footer-layout6 {
    .footer-number2,
    .footer-number {
      font-size: 20px;
    }
  }

}