.footer{
  border-top:1px solid #e0eaf7;
}

.footer__top{
  display:grid;
  gap:1rem;
  grid-template-areas:"logo location" ". ." "social social" "buttons buttons";
  padding:3.75rem 0 1.875rem;
}
@media screen and (min-width:768px){
  .footer__top{
    gap:1.875rem;
    grid-template-areas:"logo location" "social buttons";
  }
}
@media screen and (min-width:1200px){
  .footer__top{
    grid-template-areas:"logo location clinics social buttons";
    padding:1.875rem 0;
  }
}

.footer__logo{
  display:flex;
  grid-area:logo;
  justify-content:flex-start;
}

.footer__logo-link{
  align-items:center;
  display:flex;
  gap:12px;
  justify-content:center;
}

.footer__logo-img--icon{
  height:1.875rem;
  width:auto;
}
@media screen and (min-width:768px){
  .footer__logo-img--icon{
    height:2.5rem;
  }
}

.footer__logo-img--text{
  height:1.875rem;
  width:auto;
}
@media screen and (min-width:768px){
  .footer__logo-img--text{
    height:2.5rem;
  }
}

.footer__location{
  align-items:center;
  display:flex;
  gap:.5rem;
  grid-area:location;
  justify-content:flex-end;
}
@media screen and (min-width:1200px){
  .footer__location{
    justify-content:center;
  }
}

.footer__clinics{
  display:none;
  grid-area:clinics;
}
@media screen and (min-width:1200px){
  .footer__clinics{
    display:inherit;
  }
}

.footer__phone{
  display:none;
}
@media screen and (min-width:1200px){
  .footer__phone{
    align-items:center;
    display:flex;
    justify-content:center;
  }
}

.footer__social{
  align-items:center;
  display:flex;
  gap:.5rem;
  grid-area:social;
  justify-content:start;
}
@media screen and (min-width:1200px){
  .footer__social{
    justify-content:end;
  }
}

.footer__info-list{
  align-items:center;
  display:flex;
  flex:1;
  flex-direction:column;
  gap:1rem;
  justify-content:left;
  list-style:none;
  margin:0;
  padding:0;
  text-align:center;
}
@media screen and (min-width:1200px){
  .footer__info-list{
    flex-direction:row;
    gap:2rem;
  }
}

.footer__info-item{
  align-items:center;
  display:flex;
  gap:.5rem;
  justify-content:center;
}

.footer__info a{
  text-decoration:none;
}

.footer__controls{
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1rem;
  justify-content:center;
}
@media screen and (min-width:1200px){
  .footer__controls{
    flex-direction:row;
    justify-content:flex-end;
  }
}

.footer__controls a{
  text-decoration:none;
}

.footer__buttons{
  align-items:center;
  display:flex;
  gap:.5rem;
  grid-area:buttons;
  justify-content:center;
}
@media screen and (min-width:768px){
  .footer__buttons{
    justify-content:flex-end;
  }
}

.footer__buttons .component-button__item{
  padding:13px 20px;
}
@media screen and (min-width:768px){
  .footer__buttons .component-button__item{
    padding:13px 30px;
  }
}

.footer__bottom{
  background-color:#f4f8fd;
  padding:1rem 0;
}
@media screen and (min-width:1200px){
  .footer__bottom{
    padding:2.5rem 0;
  }
}

.footer__content{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
@media screen and (min-width:1200px){
  .footer__content{
    flex-direction:row;
  }
}

.footer__contacts{
  width:100%;
}
@media screen and (min-width:1200px){
  .footer__contacts{
    width:35%;
  }
}

.footer__contacts-title{
  font-size:1rem;
  font-weight:700;
}
@media screen and (min-width:1200px){
  .footer__contacts-title{
    font-size:1.125rem;
  }
}

.footer__contacts-item-block:not(:last-child){
  margin-bottom:.5rem;
}

.footer__contacts-block{
  padding:1rem 0;
}

.footer__contacts-item,.footer__list-sub-menu-item{
  font-size:.875rem;
}
@media screen and (min-width:1200px){
  .footer__contacts-item,.footer__list-sub-menu-item{
    font-size:1rem;
  }
}

.footer__contacts-item{
  margin-bottom:.375rem;
}

.footer__contacts-item-phone{
  font-size:1.125rem;
  font-weight:700;
}
@media screen and (min-width:1200px){
  .footer__contacts-item-phone{
    font-size:1.375rem;
  }
}

.footer__contacts-item-phone:last-child{
  margin-bottom:1rem;
}

.footer__menu-list{
  display:grid;
  grid-template-columns:1fr;
  list-style:none;
  margin:0;
  padding:0;
}
@media screen and (min-width:1200px){
  .footer__menu-list{
    -moz-column-gap:3.375rem;
         column-gap:3.375rem;
    grid-template-columns:repeat(2, 1fr);
    row-gap:1.5rem;
  }
}

.footer__menu-item{
  border-top:1px solid #e0eaf7;
  padding:1rem 0;
  position:relative;
}
@media screen and (min-width:1200px){
  .footer__menu-item{
    border-top:none;
    padding:0;
  }
}

.footer__menu-item-link{
  cursor:pointer;
  display:block;
  font-family:var(--font-medium);
  font-size:1.125rem;
  position:relative;
}

.footer__menu-item-link:after{
  content:"+";
  font-size:1.8rem;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}

.footer__menu-item.active .footer__menu-item-link:after{
  content:"-";
}

.footer__list-sub-menu{
  color:transparent;
  line-height:0;
  list-style:none;
  margin:0;
  max-height:0;
  overflow:hidden;
  transition:line-height .3s ease,max-height .3s ease,color .5s ease;
}

.footer__menu-item.active .footer__list-sub-menu{
  color:currentColor;
  line-height:1.25;
  max-height:1000px;
  padding:1rem 0 0;
}

.footer__list-sub-menu-item:not(:last-child){
  margin-bottom:.375rem;
}

.footer__list-sub-menu-item-link{
  display:block;
}

.footer__legal{
  font-size:.875rem;
  margin-bottom:70px;
  padding:1.5rem 0;
}
@media screen and (min-width:1200px){
  .footer__legal{
    font-size:.875rem;
    margin-bottom:0;
  }
}

.footer__legal-text:not(:last-child){
  margin-bottom:.5rem;
}

.footer__legal-bottom{
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
@media screen and (min-width:1200px){
  .footer__legal-bottom{
    align-items:center;
    flex-direction:row;
    justify-content:space-between;
  }
}

.footer__legal-link{
  color:#252525;
  text-decoration:underline;
}

.footer-contactbar{
  align-items:center;
  background:#fff;
  border-top:1px solid #e0eaf7;
  bottom:0;
  display:flex;
  gap:.5rem;
  justify-content:space-around;
  opacity:1;
  padding:.75rem;
  position:fixed;
  transition:top .3s;
  width:100%;
  z-index:100;
}
@media screen and (min-width:1200px){
  .footer-contactbar{
    display:none;
  }
}

.footer-contactbar__social-link{
  align-items:center;
  color:#515458;
  display:flex;
  font-size:1.5rem;
  justify-content:center;
}

.footer-contactbar__social-link:hover{
  color:#515458;
}

.footer-contactbar__title{
  font-size:.7em;
}

.footer-contactbar__block{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  justify-content:space-between;
}
.footer-contactbar__block:last-child{
  margin-right:0;
}

.scrollup{
  align-items:center;
  background:#f4f8fd;
  border:1px solid #e0eaf7;
  border-radius:2.5rem;
  bottom:95px;
  color:#15a8f1;
  cursor:pointer;
  display:flex;
  font-size:1.25rem;
  justify-content:center;
  padding:10px;
  position:fixed;
  right:20px;
  text-align:center;
  z-index:100;
}
@media screen and (min-width:1200px){
  .scrollup{
    bottom:20px;
  }
}

.scrollup:hover{
  background:#15a8f1;
  color:#fff;
}

@keyframes pulse-social-link-img{
  0%,to{
    filter:brightness(60%) saturate(0) contrast(100%);
  }
  50%{
    filter:brightness(100%) saturate(100%) contrast(100%);
  }
}
@keyframes pulse-social-link-text{
  0%{
    color:#515458;
  }
  50%{
    color:#15a8f1;
  }
  to{
    color:#515458;
  }
}
.footer-contactbar__block--animated .footer-contactbar__social-link--animated{
  transition:color .3s ease,filter .3s ease;
}
.footer-contactbar__block--animated .footer-contactbar__social-link--animated img{
  animation:pulse-social-link-img 5s ease-in-out infinite;
  transition:filter .3s ease;
}
.footer-contactbar__block--animated .footer-contactbar__social-link--animated:focus img,.footer-contactbar__block--animated .footer-contactbar__social-link--animated:hover img{
  animation-play-state:paused;
}
.footer-contactbar__block--animated .footer-contactbar__title{
  animation:pulse-social-link-text 5s ease-in-out infinite;
  transition:color .3s ease;
}
.footer-contactbar__block--animated:focus-within .footer-contactbar__title,.footer-contactbar__block--animated:hover .footer-contactbar__title{
  animation-play-state:paused;
}

.footer__button-action{
  color:#15a8f1;
}