html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
}

:root {
  --gap: 30px;
}

@font-face {
  font-family: "OpenSans";
  src: local("OpenSans-Regular"),
    url("../fonts/OpenSansRegular.woff2") format("woff2"),
    url("../fonts/OpenSansRegular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "OpenSans";
  src: local("OpenSans-Light"),
    url("../fonts/OpenSansLight.woff2") format("woff2"),
    url("../fonts/OpenSansLight.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "OpenSans";
  src: local("OpenSans-SemiBold"),
    url("../fonts/OpenSansSemiBold.woff2") format("woff2"),
    url("../fonts/OpenSansSemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

body {
  min-width: 320px;
  font-family: "OpenSans", sans-serif;
  font-weight: 400;
}

/* glob */
.list-reset {
  margin: 0;
  padding: 0;
  list-style: none;
}

.btn-reset {
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
}

.flex {
  display: flex;
}

.container {
  max-width: 1200px;
  padding: 0 15px;
  margin: 0 auto;
}

.section-title {
  margin: 0;
  margin-bottom: 40px;
  font-weight: 400;
  font-size: 36px;
  line-height: 130%;
  color: #1c1c1c;
}

.section-descr {
  margin: 0;
  margin-bottom: 50px;
  font-size: 16px;
  line-height: 22px;
  color: #787878;
}

.section-offset {
  padding-top: 87px;
  padding-bottom: 160px;
}

/* header */
.header {
  padding: 36px 0;
  border-bottom: 1px solid #C4C4C4;
  background-color: #fff
}

.header__nav .nav__link {
  position: relative;
  font-weight: 600;
  font-size: 15px;
  color: #1c1c1c;
  transition: color 0.3s ease-in-out;
}

.header__nav .nav__link:focus {
  outline-offset: 2px;
  outline: 1px solid #71a7e2;
}

.header__nav .nav__link:hover {
  color: #71a7e2;
}

.header__nav .nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #3474BA;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.header__nav .nav__link:active {
  color: #3172B9;
  outline: none;
}

.header__nav .nav__link:active::after {
  opacity: 1;
}

.header__container {
  align-items: center;
}

.header__logo {
  margin-right: auto;
}

.header__nav {
  margin-right: 52px;
}

.header__nav .nav__item:not(:last-child) {
  margin-right: 52px;
}

.btn {
  position: relative;
  outline: none;
  padding: 15px 35px;
  border-radius: 3px;
  font-family: inherit;
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  color: #fff;
  background-color: #3172b9;
  transition: background-color 0.3s ease-in-out;
}

.btn::after {
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  bottom: -3px;
  right: -3px;
  border-radius: inherit;
  border: 1px solid #3172B9;
  outline: none;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.btn:focus::after {
  opacity: 1;
}

.btn:hover {
  background-color: #71A7E2;
}

.btn:active {
  background-color: #0E3B6C;
}

.btn:active::after {
  opacity: 0;
}

/* hero */
.hero {
  padding-top: 100px;
  padding-bottom: 150px;
  background-image: url("../img/hero-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.hero__content {
  max-width: 50%;
  flex-direction: column;
  align-items: flex-start;
}

.hero__title {
  margin: 0;
  margin-bottom: 25px;
  font-weight: 300;
  font-size: 40px;
  line-height: 130%;
}

.hero__descr {
  margin: 0;
  margin-bottom: 34px;
  font-size: 16px;
  line-height: 155%;
  color: #787878;
}

.hero__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero__btn {
  margin-bottom: 14px;
  min-width: 250px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.hero__secure {
  padding-left: 30px;
  font-size: 11px;
  line-height: 155%;
  text-transform: uppercase;
  background-image: url("../img/secure.svg");
  background-position: left center;
  background-size: 14px 17px;
  background-repeat: no-repeat;
  color: #787878;
}

/* services */
.services {
  border-bottom: 1px solid #dadada;
}

.services__title {
  text-align: center;
}

.services__descr {
  text-align: center;
}

.list__item {
  flex-direction: column;
  align-items: center;
  padding: 60px 30px;
  width: calc((100% - (var(--gap) * 3)) / 4);
  border: 1px solid #E4E4E4;
  border-radius: 5px;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.list__item:hover {
  border-color: #3172B9;
  background-color: #3172B9;
}

.list__item:not(:nth-child(4n)) {
  margin-right: var(--gap);
}

.list__icon {
  fill: #3172B9;
  margin-bottom: 25px;
  transition: fill 0.3s ease-in-out;
}

.list__item:hover .list__icon {
  fill: #fff;
}

.list__title {
  margin: 0;
  margin-bottom: 15px;
  font-weight: 600;
  font-size: 20px;
  line-height: 130%;
  text-align: center;
  color: #1c1c1c;
  transition: color 0.3s ease-in-out;
}

.list__item:hover .list__title {
  color: #fff;
}

.list__descr {
  margin: 0;
  text-align: center;
  font-size: 14px;
  line-height: 150%;
  color: #787878;
  transition: color 0.3s ease-in-out;
}

.list__item:hover .list__descr {
  color: #fff;
}

/* articles */
.articles {
  border-bottom: 1px solid #dadada;
}

.articles__list {
  flex-wrap: wrap;
}

.articles__item {
  width: calc((100% - (var(--gap) * 1)) / 2);
  margin-bottom: 30px;
}

.articles__item:not(:nth-child(2n)) {
  margin-right: var(--gap);
}

.blog-preview {
  overflow: hidden;
  border: 1px solid #E4E4E4;
  border-radius: 5px;
}

.blog-preview__image {
  object-fit: cover;
}

.blog-preview__text {
  padding: 30px;
}

.blog-preview__time {
  display: block;
  margin-bottom: 5px;
  font-size: 10px;
  line-height: 150%;
  color: #787878;
  transition: color 0.3s ease-in-out;
}

.blog-preview__title {
  margin: 0;
  margin-bottom: 15px;
  font-size: 20px;
  line-height: 130%;
  color: #1c1c1c;
  transition: color 0.3s ease-in-out;
}

.blog-preview__descr {
  margin: 0;
  max-width: 210px;
  font-size: 14px;
  line-height: 150%;
  color: #787878;
  transition: color 0.3s ease-in-out;
}

.blog-preview__link {
  display: flex;
  position: relative;
  width: 100%;
  transition: background-color 0.3s ease-in-out;
}

.blog-preview__link:focus {
  background-color: #71A7E2;
}

.blog-preview__link:focus .blog-preview-title {
  color: #fff;
}

.blog-preview__link:focus .blog-preview-descr {
  color: #fff;
}

.blog-preview__link:focus .blog-preview-time {
  color: #fff;
}

.blog-preview__link:hover {
  background-color: #3172B9;
}

.blog-preview__link:hover .blog-preview-title {
  color: #fff;
}

.blog-preview__link:hover .blog-preview-descr {
  color: #fff;
}

.blog-preview__link:hover .blog-preview-time {
  color: #fff;
}

.blog-preview__link:active {
  background-color: #0E3B6C;
}

.blog-preview__link:active .blog-preview-title {
  color: #fff;
}

.blog-preview__link:active .blog-preview-descr {
  color: #fff;
}

.blog-preview__link:active .blog-preview-time {
  color: #fff;
}

/* clients */
.clients {
  border-bottom: 1px solid #dadada;
}

.clients__item {
  flex-direction: column;
  width: calc((100% - (var(--gap) *2)) / 3);
  padding: 50px 36px;
  padding-bottom: 30px;
  border: 1px solid #E4E4E4;
}

.clients__item:not(:nth-child(3n)) {
  margin-right: var(--gap);
}

.clients__descr {
  margin: 0;
  margin-bottom: 30px;
  font-size: 14px;
  line-height: 180%;
  color: #787878;
}

.clients__user {
  margin-top: auto;
  padding-top: 28px;
  align-items: center;
  border-top: 1px solid #dadada;
  width: 100%;
}

.clients__avatar {
  flex-shrink: 0;
  width: 67px;
  margin-right: 17px;
}

.clients__avatar img {
  width: 100%;
  height: 100%;
  border: 2px solid #317289;
  border-radius: 100%;
}

.clients__name {
  margin-bottom: 5px;
  font-weight: 600;
  font-size: 17px;
  line-height: 180%;
  color: #1c1c1c;
}

.clients__post {
  font-size: 14px;
  line-height: 180%;
  color: #787878;
}

/* Contacts */
.contacts {
  border-bottom: 1px solid #dadada;
}

.contacts__address {
  font-style: normal;
}

.contacts__item {
  flex-direction: column;
  align-items: flex-start;
  padding-top: 48px;
  width: calc((100% - (var(--gap) *2)) / 3);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 29px 29px;
}

.contacts-item-address {
  background-image: url("../img/location_on.svg");
}

.contacts-item-call {
  background-image: url("../img/phone.svg");
}

.contacts-item-mail {
  background-image: url("../img/mail.svg");
}

.contacts__item:not(:nth-child(3n)) {
  margin-right: var(--gap);
}

.contacts__caption {
  margin-bottom: 30px;
  font-weight: 600;
  font-size: 17px;
  line-height: 180%;
  color: #1c1c1c;
}

.contacts__text {
  margin: 0;
  max-width: 215px;
  font-size: 14px;
  line-height: 180%;
  color: #787878;
}

.contacts__link {
  font-size: 14px;
  line-height: 180%;
  color: #787878;
  transition: color 0.3s ease-in-out;
}

.contacts__link:focus {
  outline: 1px solid #71A7E2;
}

.contacts__link:hover {
  color: #71A7E2;
}

.contacts__link:active {
  outline: none;
  color: #0E3B6C;
}

/* Joun us */
.join-us {
  border-bottom: 1px solid #dadada;
}

.join-us__title {
  text-align: center;
}

.join-us__descr {
  margin-bottom: 30px;
  text-align: center;
}

.form {
  padding-left: 55px;
  padding-right: 55px;
}

.form__input {
  margin-bottom: 19px;
  padding: 16px 28px;
  box-sizing: border-box;
  border: 1px solid #DADADA;
  border-radius: 50px;
  width: 251px;
  height: 60px;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.form__input:focus {
  outline: none;
  border-color: #71A7E2;
  background-color: rgba(113, 167, 226, 0.2);
}

.form__input:hover {
  border-color: #71a7e2;
}

.form__input:active {
  border-color: #0E3B6C;
}

.form__select {
  padding: 16px 28px;
  box-sizing: border-box;
  border: 1px solid #DADADA;
  border-radius: 50px;
  width: 251px;
  height: 60px;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.form__select:focus {
  outline: none;
  border-color: #71A7E2;
  background-color: rgba(113, 167, 226, 0.2);
}

.form__select:hover {
  border-color: #71a7e2;
}

.form__select:active {
  border-color: #0E3B6C;
}

.form__textarea {
  padding: 16px 28px;
  box-sizing: border-box;
  border: 1px solid #DADADA;
  border-radius: 20px;
  resize: none;
  width: 100%;
  height: 100%;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.form__textarea:focus {
  outline: none;
  border-color: #71A7E2;
  background-color: rgba(113, 167, 226, 0.2);
}

.form__textarea:hover {
  border-color: #71a7e2;
}

.form__textarea:active {
  border-color: #0E3B6C;
}

.form__top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 19px;
}

.form__left {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 49%;
}

.form__right {
  width: 49%;
}

.form__bottom {
  display: flex;
  justify-content: flex-end;
}

.form__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.form__btn {
  margin-bottom: 9px;
  padding-top: 20px;
  padding-bottom: 20px;
  min-width: 230px;
  border-radius: 50px;
}

.form__check {
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #787878;
}

.form__check input {
  margin-right: 8px;
}

.form__check a {
  color: #3172B9;
  border-bottom: 1px solid #3172B9;
}


/* footer */
.footer {
  padding: 42px 0;
}

.footer__copy {
  font-size: 12px;
  line-height: 16px;
  color: #787878;
}

.footer__nav .nav__link {
  font-weight: 600;
  font-size: 15px;
  line-height: 20px;
  color: #787878;
  transition: color 0.3s ease-in-out;
}

.footer__nav .nav__link:focus {
  outline-offset: 2px;
  outline: 1px solid #71a7e2;
}

.footer__nav .nav__link:hover {
  color: #71a7e2;
}

.footer__nav .nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #3474BA;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.footer__nav .nav__link:active {
  color: #3172B9;
  outline: none;
}

.footer__nav .nav__link:active::after {
  opacity: 1;
}

.footer__container {
  align-items: center;
  justify-content: space-between;
}

.footer__left,
.footer__right {
  align-items: center;
}

.footer__logo {
  margin-right: 25px;
}

.footer__nav .nav__item:not(:last-child) {
  margin-right: 28px;
}

.footer__nav {
  margin-right: 56px;
}

.social__item:not(:last-child) {
  margin-right: 32px;
}

.social__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

.social__link svg {
  fill: #000;
  transition: fill 0.3s ease-in-out;
}

.social-link-mail svg {
  fill: transparent;
  stroke: #000;
  transition: stroke 0.3s ease-in-out;
}

.social__link:focus {
  outline-offset: 2px;
  outline: 1px solid #71A7E2;
}

.social__link:hover svg {
  fill: #71A7E2;
}

.social-link-mail:hover svg {
  fill: transparent;
  stroke: #71A7E2;
}

.social__link:active svg {
  fill: #3172B9;
}

.social-link-mail:active svg {
  fill: transparent;
  stroke: #3172B9;
}

.burger {
  display: none;
}
