.site-footer { color: #F8F8F8; }
.footer-main { min-height: 493px; background: #0A3D68; }
.footer-inner {
  display: grid;
  grid-template-columns: 272px 180px 240px 228px;
  justify-content: space-between;
  width: min(1202px, calc(100% - 48px));
  margin: 0 auto;
  padding-top: 60px;
}
.footer-brand { min-width: 0; }
.footer-logo { display: block; width: 247px; line-height: 0; }
.footer-logo img { display: block; width: 247px; height: 57px; }
.footer-heading {
  position: relative;
  margin: 62px 0 31px;
  font-family: "Anton", Impact, 'Arial Narrow', sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: .2px;
}
.footer-heading::after {
  position: absolute;
  bottom: -19px;
  left: 0;
  width: 35px;
  height: 2px;
  background: #2E9C91;
  content: '';
}
.footer-description {
  margin: 0;
  font-size: 16px;
  line-height: 30px;
  white-space: pre-line;
}
.footer-socials { display: flex; gap: 21px; margin-top: 24px; }
.footer-socials a { display: block; width: 45px; height: 45px; border-radius: 50%; transition: transform .2s ease; }
.footer-socials a:hover { transform: scale(1.06); }
.footer-socials img { display: block; width: 45px; height: 45px; }
.footer-column { min-width: 0; padding-top: 113px; }
.footer-column .footer-heading { margin: 0 0 31px; }
.footer-column ul { margin: 0; padding: 0; list-style: none; }
.footer-column li + li { margin-top: 15px; }
.footer-nav-link {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #F8F8F8;
  font-size: 16px;
  line-height: 22px;
  text-decoration: none;
  transition: color .2s ease;
}
.footer-nav-link img { display: block; flex: none; transition: filter .2s ease; }
.footer-nav-link:hover { color: #2E9C91; }
.footer-contact .footer-heading { margin-bottom: 31px; }
.footer-company { margin: 0 0 12px; font-size: 16px; line-height: 24px; }
.footer-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0 0 17px;
  color: #F8F8F8;
  font-size: 16px;
  line-height: 30px;
  text-decoration: none;
  transition: color .2s ease;
}
.footer-contact-row img { display: block; flex: none; margin-top: 6px; }
a.footer-contact-row:hover { color: #2E9C91; }
.footer-bottom { height: 60px; background: #1E1E1E; }
.footer-bottom-inner {
  display: flex;
  width: min(1202px, calc(100% - 48px));
  height: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin: 0 auto;
}
.footer-bottom p { margin: 0; font-size: 16px; line-height: 22px; }
.footer-credit { position: relative; display: block; width: 211.7px; height: 29px; flex: none; }
.footer-credit img { position: absolute; inset: 0; display: block; width: 211.7px; height: 29px; transition: opacity .2s ease; }
.footer-credit-hover { opacity: 0; }
.footer-credit:hover .footer-credit-default { opacity: 0; }
.footer-credit:hover .footer-credit-hover { opacity: 1; }
@media (max-width: 1050px) {
  .footer-main { min-height: 0; }
  .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 54px 72px; width: min(720px, calc(100% - 48px)); padding: 60px 0 68px; }
  .footer-column { padding-top: 0; }
  .footer-brand .footer-heading { margin-top: 48px; }
}
@media (max-width: 600px) {
  .footer-inner { grid-template-columns: minmax(0, 1fr); gap: 48px; width: calc(100% - 32px); padding: 50px 10px 56px; }
  .footer-nav-link { max-width: 280px; }
  .footer-brand .footer-heading { margin-top: 44px; }
  .footer-bottom { height: auto; }
  .footer-bottom-inner { flex-direction: column; width: calc(100% - 32px); gap: 16px; padding: 20px 0; text-align: center; }
  .footer-bottom p { font-size: 14px; }
}
@media (max-width: 360px) {
  .footer-logo { width: 76%; max-width: 247px; }
  .footer-logo img { width: 100%; height: auto; }
}
