.contact {
   padding: 30px 0px 150px;
}

.contact__inner {
   display: flex;
   gap: 57px;
   justify-content: space-between;
}

.contact__form {
   max-width: 645px;
   width: 100%;
   padding: 30px 44px;
   box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
}

.contact__from-inner {
   display: flex;
   flex-direction: column;
   gap: 15px;
}

.contact__form-textarea {
   margin-top: 12px;
   font-weight: 700;
   font-size: 30px;
   line-height: 36px;
   color: #808080;
   padding: 11px 30px;
   border: none;
   background: #F0EEEE;
   resize: none;
   margin-bottom: 30px;
}

.contact__form-input {
   
   padding: 30px;
   border: none;
   font-weight: 700;
   font-size: 30px;
   line-height: 36px;
   color: #808080;
   background-color: #fff;
   background: #F0EEEE;
}

.contact__form-btn {
   width: 100%;
   font-weight: 700;
   font-size: 30px;
   line-height: 36px;
   cursor: pointer;
}

.contact__info-title {
   font-weight: 700;
   font-size: 40px;
   line-height: 48px;
   color: #32AF4A;
   margin-bottom: 24px;
}

.contact__info-phone {
   font-size: 40px;
   line-height: 48px;
   font-weight: 700;
   display: block;
   margin-bottom: 12px;
   color: inherit;
   text-decoration: none;
}

.contact__info-address {
   font-size: 40px;
   line-height: 48px;
   font-weight: 700;
   display: block;
   margin-bottom: 35px;
}

.contact__info {
   display: flex;
   flex-direction: column;
}

.contact__info-map {
   height: 100%;
   width: 100%;
}

.contact__form-title {
   margin-bottom: 35px;
   color: #32AF4A;
   font-size: 40px;
   line-height: 48px;
}

.first {
   padding: 120px 0px;
   background: url('../img/first-bg.png');
   background-size: cover;
   background-repeat: no-repeat;
   background-position: bottom center;
   text-align: center;
}

.first__title {
   text-align: center;
   font-weight: 700;
   font-size: 65px;
   line-height: 78px;
   text-transform: uppercase;
   color: #FB8906;
   margin-bottom: 5px;
}

.first__subtitle {
   display: inline-block;
   font-weight: 300;
   font-size: 18px;
   line-height: 21px;
   color: #FFFFFF;
   font-family: 'Roboto', sans-serif;
}

.location {
   padding: 50px 0px;
}

.location__title {
   display: flex;
   align-items: center;
   gap: 20px;
   font-weight: 700;
   font-size: 65px;
   line-height: 78px;
   text-transform: uppercase;
   color: #FB8906;
   margin-bottom: 25px;
}

.location__list {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   padding: 0px 25px;
   list-style: none;
   margin-bottom: 30px;
   grid-row-gap: 7px;
   grid-column-gap: 50px;
}

.location__item {
   padding-left: 20px;
   position: relative;
   font-size: 40px;
   line-height: 48px;
}

.location__item::after {
   content: '';
   position: absolute;
   left: 0;
   width: 8px;
   height: 8px;
   background-color: #000;
   border-radius: 50%;
   top: 50%;
   transform: translateY(-50%);
}
   
.location__img {
   max-width: 55px;
}

@media (max-width: 1450px) {
   .location__list {
      grid-template-columns: 1fr 1fr;
   }
}

@media (max-width: 1400px) {
   .contact__inner {
      flex-direction: column;
   }

   .contact__form {
      max-width: 800px;
      margin: 0 auto;
   }

   .contact {
      padding: 30px 0px 0px;
   }

   .contact__info-map {
      width: calc(100% + 28px);
      margin-left: -14px;
      min-height: 400px;
   }
}

@media (max-width: 900px)  {
   .location__list {
      grid-template-columns: 1fr;
   }

   .location__item {
      font-size: 24px;
      line-height: 28px;
   }
}

@media (max-width: 800px) {
   .contact__form {
      box-shadow: none;
      padding: 0px;
   }

   .contact__form-title {
      text-align: center;
   }

   .contact__info-title {
      text-align: center; 
   }

   .contact__info-phone, .contact__info-address {
      font-size: 25px;
      line-height: 30px;
   }

   .first__title {
      font-size: 50px;
      line-height: 55px;
   }

   .first__subtitle {
      transform: translateX(0);
   }

   .location__title {
      font-size: 45px;
      line-height: 50px;
      gap: 15px;
   }
}