/* USER VARIABLES SECTION */
:root {
  --accent: orange;
  --text: #000;
  --regular-text: 16px;
  --lineheight: 1.65;
  --userfont: "Golos Text";
  --systemfont: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
}

/* BOOTSTRAP SETTINGS SECTION */
/* gutter 20px (10px + 10px). Comment this code for default gutter start at 1.5rem (24px) wide. */
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
  --bs-gutter-x: .625rem;
}

.row, .row > * {
  --bs-gutter-x: 1.25rem;
}

/* FONTS LOAD SECTION */
@font-face {
  font-family: "Golos Text";
  src: url("../fonts/GolosText-Medium.woff2") format("woff2"), url("../fonts/GolosText-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Golos Text";
  src: url("../fonts/GolosText-Bold.woff2") format("woff2"), url("../fonts/GolosText-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Golos Text";
  src: url("../fonts/GolosText-Regular.woff2") format("woff2"), url("../fonts/GolosText-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/* GENERAL CSS SETTINGS */
::-webkit-input-placeholder {
  color: #666;
}
::-moz-placeholder {
  color: #666;
}
:-ms-input-placeholder {
  color: #666;
}
::-ms-input-placeholder {
  color: #666;
}
::placeholder {
  color: #666;
}

::-moz-selection {
  background-color: var(--accent);
  color: #fff;
}

::selection {
  background-color: var(--accent);
  color: #fff;
}

input, textarea {
  outline: none;
}

input:focus:required:invalid, textarea:focus:required:invalid {
  border-color: red;
}

input:required:valid, textarea:required:valid {
  border-color: green;
}

body {
  font-family: var(--userfont);
  font-size: var(--regular-text);
  line-height: 1.6;
  background: #e5e3e6;
  color: var(--text);
  min-width: 320px;
  position: relative;
  overflow-x: hidden;
  padding: 0;
  margin: 0;
}
body.noscroll {
  overflow: hidden;
}

:active, :hover, :focus {
  outline: 0;
  outline-offset: 0;
}

ul, p, li {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}

.clear {
  clear: both;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

a {
  color: #000;
  text-decoration: none;
}

/* USER STYLES */
.image {
  max-width: 100%;
  margin-bottom: var(--bs-gutter-x);
  border-radius: 4px;
}

.accent {
  color: var(--accent);
  font-weight: bold;
}

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

section.mainblock {
  min-height: 1310px;
  background: url(../images/main-bg.png) no-repeat center center;
  background-position: top center;
  position: relative;
  z-index: 2;
}
section.mainblock .head {
  background: rgba(255, 255, 255, 0.5019607843);
  height: 127px;
}
section.mainblock .head .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 34px 15px;
}
section.mainblock .head .logo {
  max-width: 280px;
}
section.mainblock .head .logo img {
  max-width: 100%;
  display: block;
}
section.mainblock .head .menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
section.mainblock .head .menu ul li {
  list-style: none;
  position: relative;
}
section.mainblock .head .menu ul li:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 0%;
  opacity: 0;
  border: 2px solid #000;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
section.mainblock .head .menu ul li:hover:after {
  width: 100%;
  opacity: 1;
}
section.mainblock .head .menu a {
  font-size: 14px;
  text-transform: uppercase;
}
section.mainblock .head .contacts {
  font-size: 14px;
  text-transform: uppercase;
}
section.mainblock .head .socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
section.mainblock .head .socials a {
  padding: 0px 5px;
}
section.mainblock .head .socials a svg {
  display: block;
}
section.mainblock .head .socials a.rutube {
  margin-top: -4px;
}
section.mainblock .head .call a.call-btn {
  font-size: 26px;
  border: 2px solid #000;
  border-radius: 50px;
  padding: 11px 30px;
  font-weight: bold;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
section.mainblock .head .call a.call-btn:hover {
  background: #000;
  color: #fff;
}
section.mainblock .head .menu-btn {
  display: none;
}
section.mainblock .head .menu-btn svg {
  display: block;
}
section.mainblock .title1 {
  display: none;
  font-size: 68px;
  color: #fff;
  margin-top: 350px;
}
section.mainblock .title2 {
  display: none;
  color: #fff;
  font-size: 155px;
  font-weight: bold;
  margin-top: 10px;
  line-height: 1;
}
section.mainblock .subtitle {
  margin-top: 650px;
  font-size: 14px;
  line-height: 1.6;
  text-transform: uppercase;
}
section.mainblock .btn {
  margin-top: 45px;
  font-size: 24px;
  font-weight: 500;
  background: #f01e1d;
  color: #fff;
  text-transform: uppercase;
  padding: 19px 105px;
  display: inline-block;
  border-radius: 50px;
}

div#mobile_menu {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  z-index: 10;
  padding: 40px 25px;
}
div#mobile_menu.open {
  display: block;
}
div#mobile_menu .close {
  position: absolute;
  top: 49px;
  right: 25px;
}
div#mobile_menu .close svg {
  display: block;
  width: 30px;
}
div#mobile_menu .title {
  font-size: 34px;
  line-height: 1;
  width: 226px;
}
div#mobile_menu .title img {
  max-width: 100%;
}
div#mobile_menu .menu {
  margin-top: 30px;
}
div#mobile_menu .menu li a {
  padding: 4px 0;
}
div#mobile_menu a.call-btn {
  font-size: 18px;
  border: 2px solid #000;
  border-radius: 50px;
  padding: 10px 20px;
  font-weight: bold;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  display: inline-block;
}
div#mobile_menu a.call-btn:hover {
  background: #000;
  color: #fff;
}
div#mobile_menu .contacts,
div#mobile_menu .call {
  margin-top: 15px;
}

section.quality {
  margin-top: -143px;
  background: radial-gradient(#f7f6f7, #dcd8dd);
  position: relative;
  z-index: 1;
  min-height: 680px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}
section.quality:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/photo.Forma1.png) no-repeat center center;
  background-size: cover;
  z-index: -1;
  height: 683px;
  width: 646px;
}
section.quality:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background: url(../images/photo.Forma2.png) no-repeat center center;
  background-size: cover;
  z-index: -1;
  height: 683px;
  width: 646px;
}
section.quality .content {
  font-weight: 500;
  text-transform: uppercase;
  font-size: 18px;
}
section.quality .content img {
  display: block;
  max-width: 270px;
  margin: 20px auto;
}

section.sportcat {
  padding: 182px 0 30px;
}
section.sportcat .block_subtitle {
  font-size: 14px;
  text-transform: uppercase;
  text-align: center;
}
section.sportcat .h2 {
  text-align: center;
  text-transform: uppercase;
  font-size: 72px;
  font-weight: bold;
  line-height: 1.1;
  padding-top: 12px;
}
section.sportcat .categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-top: 109px;
}
section.sportcat .categories .item {
  width: 16.6666666667%;
  height: 665px;
  position: relative;
  text-transform: uppercase;
}
section.sportcat .categories .item .title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  background: rgba(92, 131, 155, 0.768627451);
  color: #fff;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
section.sportcat .categories .item .title:hover {
  opacity: 1;
}
section.sportcat .categories .item .title span {
  font-size: 60px;
  font-weight: bold;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  display: block;
  border: 4px solid #fff;
  padding: 15px 60px;
  border-radius: 100px;
}

section.infoblock {
  padding: 180px 0 240px;
  background: url(../images/photoBLOK5.png) no-repeat center center;
}
section.infoblock .subtitle {
  font-size: 24px;
  margin-bottom: 7px;
}
section.infoblock .logo {
  display: block;
  max-width: 410px;
  margin-right: 8px;
}
section.infoblock .logo img {
  max-width: 100%;
}
section.infoblock .title {
  font-size: 60px;
  font-weight: bold;
  max-width: 950px;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 45px;
}
section.infoblock p {
  font-size: 14px;
  margin-bottom: 30px;
  max-width: 800px;
  text-transform: uppercase;
  line-height: 1.4;
}
section.infoblock p img {
  max-width: 120px;
  vertical-align: sub;
}
section.infoblock a.btn {
  font-size: 24px;
  font-weight: bold;
  color: #f01e1d;
  border: 2px solid #f01e1d;
  padding: 20px 100px;
  border-radius: 50px;
  margin-top: 40px;
  display: inline-block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
section.infoblock a.btn:hover {
  background: #f01e1d;
  color: #fff;
}

section.howwework {
  background: url(../images/infoBg.jpg);
  padding: 140px 0 172px;
  background-size: cover;
}
section.howwework .h2 {
  font-size: 75px;
  font-weight: bold;
  text-align: center;
  background: -webkit-gradient(linear, left bottom, left top, from(#fff), to(#dbdbdb));
  background: linear-gradient(0deg, #fff, #dbdbdb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
section.howwework .blockwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  margin-top: 80px;
}
section.howwework .blockwrap .item {
  border: 2px solid #fff;
  width: calc(50% - 20px);
  padding: 20px 60px;
  color: #fff;
  font-size: 16px;
  border-radius: 100px;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 16px;
  min-height: 235px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
section.howwework .blockwrap .item a {
  color: #fff;
  text-decoration: underline;
}
section.howwework .blockwrap .item .logo {
  display: inline-block;
  width: 110px;
  height: 20px;
  background: url(../images/logo_white.png) no-repeat left center;
  background-size: cover;
  vertical-align: text-bottom;
}
section.howwework .blockwrap .item:hover {
  background: url(../images/howwework_item_hover.jpg);
  color: #235579;
}
section.howwework .blockwrap .item:hover a {
  color: #235579;
}
section.howwework .blockwrap .item:hover .logo {
  background: url(../images/logo_blue.png) no-repeat left center;
  background-size: cover;
}

section.about {
  padding: 155px 0px 192px;
  background: url(../images/photoBLOK7.png) center center no-repeat;
}
section.about .subtitle {
  font-size: 24px;
  margin-bottom: 14px;
  text-transform: uppercase;
}
section.about .logo {
  display: block;
  max-width: 430px;
  margin-bottom: 7px;
}
section.about .title {
  font-size: 60px;
  font-weight: bold;
  max-width: 950px;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 60px;
}
section.about p {
  font-size: 14px;
  margin-bottom: 30px;
  max-width: 780px;
  text-transform: uppercase;
  line-height: 1.4;
}
section.about p img {
  max-width: 120px;
  vertical-align: sub;
}
section.about a.btn {
  font-size: 24px;
  font-weight: bold;
  color: #f01e1d;
  border: 2px solid #f01e1d;
  padding: 20px 100px;
  border-radius: 50px;
  margin-top: 40px;
  display: inline-block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
section.about a.btn:hover {
  background: #f01e1d;
  color: #fff;
}

section.catalog {
  text-align: center;
  padding: 170px 0 100px;
}
section.catalog .subtitle {
  font-size: 14px;
  text-transform: uppercase;
}
section.catalog .h2 {
  font-size: 72px;
  font-weight: bold;
  text-transform: uppercase;
}
section.catalog .catalog_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 60px;
}
section.catalog .catalog_wrap .item {
  height: 490px;
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
section.catalog .catalog_wrap .item .btn {
  border-radius: 50px;
  font-size: 24px;
  color: #fff;
  text-transform: uppercase;
  border: 2px solid #fff;
  padding: 12px 50px;
  background: rgba(255, 255, 255, 0.231372549);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: 500;
}
section.catalog .catalog_wrap .item .btn:hover {
  background: #fff;
  color: #000;
}

section.ekipblock {
  padding: 200px 0 150px;
  background-image: url(../images/photoBLOK9.png);
  background-position: center center;
  background-repeat: no-repeat;
}
section.ekipblock .container {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
section.ekipblock .container .wrap {
  text-align: right;
}
section.ekipblock .container .wrap .subtitle {
  text-transform: uppercase;
  font-size: 24px;
}
section.ekipblock .container .wrap .h2 {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 60px;
}
section.ekipblock .container .wrap a.btn {
  font-size: 24px;
  font-weight: bold;
  color: #f01e1d;
  border: 2px solid #f01e1d;
  padding: 20px 100px;
  border-radius: 50px;
  margin-top: 40px;
  display: inline-block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
section.ekipblock .container .wrap a.btn:hover {
  background: #f01e1d;
  color: #fff;
}
section.ekipblock .container .wrap p {
  text-transform: uppercase;
}
section.ekipblock .container .wrap b {
  font-weight: bold;
  font-size: 18px;
}

footer {
  background: #000;
  padding: 100px 0 80px;
  color: #fff;
}
footer a {
  color: #fff;
}
footer .footer_line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-transform: uppercase;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
footer .footer_line .logo {
  max-width: 675px;
  padding-right: 20px;
}
footer .footer_line .logo img {
  max-width: 400px;
}
footer .footer_line .title {
  font-weight: 500;
  font-size: 16px;
}
footer .footer_line p {
  font-size: 14px;
  margin-bottom: 50px;
}
footer .footer_line .socials_icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
footer .footer_line .socials_icons a {
  padding: 0px 5px;
}
footer .footer_line .socials_icons a svg {
  display: block;
}
footer .footer_line .socials_icons a.rutube {
  margin-top: -4px;
}
footer .footer_bottom a {
  text-decoration: underline;
  text-transform: uppercase;
}