

@font-face {
  font-family: OpenSans-Bold; /* Имя шрифта */
  src: url(.././fonts/OpenSans-Bold.ttf); /* Путь к файлу со шрифтом */
  font-display: swap;
}
@font-face {
  font-family: OpenSans-Regular; /* Имя шрифта */
  src: url(.././fonts/OpenSans-Regular.ttf); /* Путь к файлу со шрифтом */
  font-display: swap;
}
@font-face {
  font-family: OpenSans-SemiBold; /* Имя шрифта */
  src: url(.././fonts/OpenSans-SemiBold.ttf); /* Путь к файлу со шрифтом */
  font-display: swap;
}

.section_wrapper {
  width: 100%;
  display: grid;
  justify-items: center;
  background-color: #fff;
}


* {
  box-sizing: border-box;
  scroll-behavior: smooth;
}
.map_content {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  /*background: #fff;*/
  box-sizing: border-box;
}
header.header_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  height: auto;
  min-height: 718px;
  background-image: url(.././img/promyshlennyy-alpinizm.png);
  background-repeat: no-repeat;
  background-size: cover;
  font-family: OpenSans-Bold;
}
header.header_service {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-size: cover;
  font-family: OpenSans-Bold;
}
h2 {
  margin-top: 0;
}
h1.main_title {
  margin: 0;
  color: #fff;
  padding: 0;
  font-family: OpenSans-Bold;
  font-size: 15.27px;
  position: relative;
  margin: 0 0 0 20px;
}
h1.service_title {
  font-family: OpenSans-Bold;
  font-size: 25.27px;
  text-align: center;
  margin-bottom: 0;
  /* border-bottom: 3px solid #ff4400; */
  text-transform: uppercase;
}
h3 {
  font-family: OpenSans-Bold;
  font-size: 19px;
  text-align: center;
  /* border-bottom: 3px solid #ff4400; */
  text-transform: uppercase;
}
nav {
  display: flex;
  align-items: center;
}
.header_service .header_nav a {
  font-family: OpenSans-Bold;
  font-size: 19.27px;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  position: relative;
  display: block;
  margin: 0 0 0 45px;
}
.header_main .header_nav a {
  font-family: OpenSans-Bold;
  font-size: 19.27px;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  position: relative;
  display: block;
  margin: 0 0 0 45px;
}
.footer_nav a {
  color: #fff;
  font-family: OpenSans-Bold;
  font-size: 19.27px;
  text-decoration: none;
  text-transform: uppercase;
  position: relative;
  display: block;
  margin: 0 0 0 45px;
}
section {
  padding: 25px 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  justify-content: center;
  background: #000;
  padding: 45px 0;
}
.ip_info {
  display: block;
  margin: 3px 0 0 20px;
  color: #fff;
  font-size: 17px;
  font-family: OpenSans-Regular;
}

.pop_up {
  position: fixed;
  display: flex;
  visibility: hidden;
  justify-content: center;
  align-items: center;
  top: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,.8);
  z-index: 9999;
}
.pop_up_form {
  display: flex;
  position: relative;
  flex-direction: column;
}
.pop_up_input {
  margin: 0 0 5px 0;
  border-radius: 25px;
  padding: 15px 0;
  width: 300px;
  border: 0;
}
.close {
  cursor: pointer;
  position: absolute;
  right: -30px;
  top: -30px;
  color: #fff;
}

.header_main .top {
  border-top: 3px solid #ff4400;
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  height: auto;
  background: #000;
  padding: 19px 0;
  box-shadow: 0 10px 10px rgba(0,0,0,.3);
}
.header_service .top {
  border-top: 3px solid #ff4400;
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  height: auto;
  background: #000;
  padding: 19px 0;
  box-shadow: 0 10px 10px rgba(0,0,0,.3);
}
.header_main > .container {
  display: flex;
}
footer > .container {
  display: flex;
}
.top > .container {
  grid-auto-flow: column;
}
.container {
  display: grid;
  position: relative;
  width: 100%;
  max-width: 1180px;
  flex-grow: 1;
  font-family: OpenSans-Regular;
}

.justify_between {
  justify-content: space-between;
}
.flex_column {
  flex-direction: column;
}
.justify_center {
  justify-content: center;
}
.justify_item_center {
  justify-items: center;
}
.align_center {
  align-items: center;
}
.justify_end {
  justify-content: flex-end;
}

.logo_item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.pre_title {
  color: #fff;
  text-align: center;
  font-size: 19.27px;
  text-transform: uppercase;
}
.pre_phone {
  margin: 25px 0;
  color: #fff;
  text-align: center;
  font-size: 64.72px;
  text-decoration: none;
  padding: 0 105px;
  background: linear-gradient(to right, rgba(0,0,0,.0), rgba(255,68,0), rgba(0,0,0,.0));
}

.pre_form {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.input_block {
  display: flex;
}
.input_block > input {
  margin: 0 5px;
  border-radius: 25px;
  padding: 15px;
  width: 300px;
  border: 0;
}
.btn {
  border-radius: 25px;
  margin: 0 0 0 0;
  text-decoration: none;
  padding: 15px 45px;
  width: auto;
  border: 0;
  background: linear-gradient(to bottom, #ff5a21, #ff4421);
  color: #fff;
  font-family: OpenSans-Regular;
  box-shadow: 0 5px 8px rgba(255,68,33,.3);
  cursor: pointer;
  text-align: center;
}

.main_page_content {
  padding: 0 0 0 20px;
}
.main_page_content_img {
  position: relative;
  width: 100%;
}
.main_page_content p {
  margin-top: 0;
}

.sevices {
  /*background: #fff;*/
  display: grid;
  justify-items: center;
  margin-top: 76px;
  background-image: url(../img/main_page/rope_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: bottom;
}
.main_page_service_group {
  width: 100%;
  display: grid;
  justify-items: center;
}
.service_list {
  display: grid;
  gap: 5px;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 24px;
  row-gap: 90px;
  width: 100%;
  
}
.service_item {
  display: grid;
  align-items: start;
  align-content: start;
}
.service_list > .service_item:last-child {
  grid-column: 1/4;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 24px;
  grid-template-rows: unset
}
.service_item {
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-rows: 180px auto 1fr;
}
.service_item_list {
  border-left: 3px solid #FF5A21;
  margin: 0;
  padding: 0 0 0 20px;
}
.service_item_list a {
  color: #3A3A3A;
  font-family: OpenSans-SemiBold;
  font-size: 13px;
  text-decoration: none;
}
.service_item_list a:hover {
  color: #FF5A21;
  
}
.service_item_list > li {
  list-style-type: none;
  color: #3A3A3A;
  font-family: OpenSans-SemiBold;
  font-size: 13px;
  margin-bottom: 8px;
}
.service_item_list > li:last-child {
  margin-bottom: 0;
}
.service_item_content_wrapper .service_item_title {
  margin-top: 0;
}
.service_list > .service_item:last-child > img {
  grid-column: 1/3;
}
.service_item > img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service_item_content_wrapper {
  display: grid;
  grid-auto-flow: row;
}
.service_item_title {
  font-family: OpenSans-Regular;
  font-size: 25px;
  text-align: start;
  margin: 25px 0 15px 0;
  text-decoration: none;
}
.service_item_price {
  width: 80%;
  padding: 10px 0;
  box-sizing: border-box;
  text-align: center;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-family: OpenSans-Regular;

}
.form_send_wrapper {
  display: grid;
  justify-items: center;
}
.form_input_group {
  display: grid;
  gap: 20px;
  margin: 17px 0;
}
.form_input_group input {
  border-radius: 44px;
}
.form_send_wrapper > .form_input_group input[type=text] {
  padding: 15px 26px;
  border: 0;
}
.form_send_wrapper > .form_input_group input[type=submit] {
  background-color: #FF5A21;
  text-transform: uppercase;
  border: 0;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  padding: 15px 77px;
}
.form_send_wrapper span {
  text-align: center;
}
.form_send_title {
  text-align: center;
  font-family: OpenSans-SemiBold;
  font-size: 21px;
}
.form_send_title a {
  color: #FF5A21;
  text-decoration: none;
}
.form_send_title > span {
  font-family: OpenSans-SemiBold;
  font-size: 17px;
  margin-top: 15px;
  display: block;
}
.form_agreement {
  font-size: 10px;
}
.form_send_group {
  display: grid;
  background-image: url(../img/main_page/background_form.png);
  background-size: cover;
  border-radius: 20px;
  color: #fff;
  padding: 43px 0;
  margin: 54px 0;
}
.form_input_group {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.service_form {
  text-align: center;
  width: 100%;
  display: flex;
  position: relative;
  flex-direction: column;
}
.service_form_input {
  margin: 0 0 5px 0;
  border-radius: 25px;
  padding: 15px;
  border: 0;
  background: #e5e5e5;
}
.service_form > span {
  width: 100%;
  text-align: center;
  display: block;
  margin: 0 0 10px 0;
}

.content_box {
  position: relative;
  width: 100%;
  background: #fff;
}

.crumbs {
  margin: 25px 0 0 0;
  padding: 0;
  width: 100%;
  max-width: 851px;
  display: flex;
  justify-content: flex-start;
}
.crumbs > li {
  list-style-type: none;
}
.crumbs > li:after {
  content: '/';
  margin: 0 15px 0 15px;
}
.sevice_page {
  /*background: #fff;*/
}
.sevice_page p {
  width: 100%;
  display: block;
}
.sevice_page ul {
  padding: 0 0 0 16px;
  width: 100%;
  margin: 0 0 20px 0;
  background: #fff;
  display: block;
  max-width: 891px;
}
.sevice_page ol {
  padding: 0 0 0 16px;
  width: 100%;
  margin: 0;
  display: block;
  max-width: 851px;
}
.service_page_title {
  margin: 0;
  color: #fff;
  padding: 0;
  font-family: OpenSans-Bold;
  font-size: 15.27px;
  position: relative;
  margin: 0 0 0 20px;
}
.service_content {
  width: 100%;
  text-align: center;
  font-family: OpenSans-Regular;
  font-size: 17px;
}
.choose_service {
  padding: 15px 0;
  background: #e5e5e5;
  display: flex!important;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  width: 100%;
}
.main_img {
  width: 100%;
  margin: 20px 0 0 0;
}
.choose_service > li {
  cursor: pointer;
  font-size: 14px;
  font-family: OpenSans-Regular;
  list-style-type: none;
  padding: 15px 25px;
}
.choose_service > li:hover .choose_service > a {
  color: #fff;
  text-decoration: none;
}
.choose_service > li:hover:before {
  content: ">";
  margin: 0 10px 0 0;
  transition: 0.5s;
}
.choose_service > li:hover {
  background: #ff4400;
  color: #fff;
}
.price_blcok {
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  box-sizing: border-box;
  padding: 0 0 35px 0;
  margin: 0 0 0 0;
  background: #fff;
}
.included_price {
  margin: 0;
  padding: 0;
}
.included_price {
  list-style-type: none;
}
.price {
  text-align: center;
  font-size: 17px;
  width: 100%;
  display: block;
  font-weight: 600;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  margin: 0 0 25px 0;
  padding: 25px 0 25px 0;
}

.example {
  /* border-top: 1px solid #000; */
}
.portfolio_blok {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.portfolio_blok > a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 19%;
  margin: 0 0 1.5% 0;
  max-height: 200px;
  overflow: hidden;
}
.portfolio_blok > a:hover:before {
  margin: 0 0 0 100px;
  position: absolute;
  z-index: 2;
  width: 100px;
  left: 50%;
  margin-left: -50px;
  content: url(.././img/magnifier.png);
}
.portfolio_img {
  position: relative;
  width: 100%;
  min-width: 100%;
  min-height: 100%;
}

.about_us {
  overflow: hidden;
  padding-top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: auto;
  position: relative;
  background-size: contain;
  background-position: left;
  background-repeat: no-repeat;
}
.about_us_bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 40%;
}
.about_us_content {
  font-family: OpenSans-Regular;
  text-align: left;
  position: relative;
  height: auto;
  display: grid;
  padding-top: 40px;
  justify-items: start;
  align-items: start;
  width: 70%;
  margin-left: 30%;
  margin-bottom: 37px;
}
.about_us_content > p {
  margin: 0 0 16px 0;
}
.contacts_content {
  z-index: 1;
  width: 450px;
  font-family: OpenSans-Regular;
  text-align: center;
  position: relative;
  background: #fff;
  box-shadow: 0 0 10px rgba(0,0,0,.5);
  padding: 25px;
  height: 70vh;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-items: center;
  margin: 0;
}

.footer_phone {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer_phone > a {
  color: #fff;
  font-family: OpenSans-Bold;
  text-decoration: none;
  font-size: 27px;
}

.comment_block {
  width: 100%;
  margin: 0 0 25px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.comment_block_column {
  width: 100%;
  margin: 0 0 25px 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.comment_item {
  padding: 15px;
  position: relative;
  width: 24%;

  text-align: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.comment_item_100 {
  padding: 15px;
  margin: 10px 0;
  position: relative;
  width: 100%;
  text-align: center;
  background: #fff;
  border-bottom: 1px dotted rgba(0,0,0,.3);
}
.comment_item_100 > a {
  color: #000;
  font-size: 14px;
  text-decoration: none;
  font-weight: bold;
}
.comment_title {
  font-style: italic;
  font-size: 22px;
  color: #000;
  text-decoration: none;
  font-weight: bold;
}
.quiz_btn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2;
}
.soc_icons {
  position: fixed;
  top: 50%;
  margin-top: -50px;
  right: 3%;
  display: grid;
  grid-auto-flow: row;
  z-index: 3;
  gap: 10px;
}
.soc_icons img {
  width: 50px;
  height: 50px;
}


.advantages_section {
  background-image: url(../img/advantages_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}
.advantages_group {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin: 38px 0;
}
.advantages_title {
  font-size: 24px;
}
.advantages_item {
  display: grid;
  align-items: start;
  justify-items: center;
  align-content: start;
  gap: 10px;
  text-align: center;
}
.advantages_item p b {
  font-family: OpenSans-Bold;
}
.advantages_item > hr {
  width: 76px;
  height: 3px;
  background-color: #FF5A21;
  border: 0;
  margin: 0;
}
.advantages_group p {
  text-align: center;
  font-family: OpenSans-SemiBold;
  margin: 0;
  font-size: 13px;
}
.nubmber_advantage {
  width: 50px;
  height: 50px;
  color: #fff;
  font-weight: bold;
  background-color: #ff5a21;
  border-radius: 50%;
  display: grid;
  justify-items: center;
  align-items: center;
}

.swiper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  height: 300px!important;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

ol.breadcrumb {
  display: flex;
  gap: 10px;
  padding: 0;
}
ol.breadcrumb > li {
  list-style-type: none;
}
ol.breadcrumb > li > a {
  text-decoration: none;
  background-color: #ff5a21;
  color: #fff;
  padding: 0 10px;
  border-radius: 3px;
}
ol.breadcrumb > li > a:hover {
  text-decoration: underline;
}


.map_section {
  position: relative;
  padding: 0;
}



@media(max-width: 960px) {
  .about_us_bg {
    width: 80%;
    opacity: 0.3;
  }
  .about_us_content {
    width: 100%;
    margin-left: 0;
  }
  .service_list {
    grid-template-columns: 1fr 1fr;
  }
  .service_list > .service_item:last-child {
    grid-column: 2/3;
    grid-template-columns: 1fr;
    grid-template-rows: 180px auto 1fr;
  }
  .service_item_content_wrapper .service_item_title {
    margin-top: 25px;
  }
  .advantages_group {
    gap: 25px;
  }
  .form_input_group {
    grid-template-columns: 1fr;
    width: 80%;
  }
  .advantages_group {
    grid-template-columns: 1fr 1fr!important;
  }
  .container {
    padding: 0 20px!important;
  }
  
  .header_nav {
    display: flex!important;
    flex-wrap: wrap!important;
    padding: 15px 0 0 0!important;
    justify-content: space-around!important;
    align-items: center!important;
  }
  .header_nav a {
    font-size: 2.5vw!important;
    border-top: 1px solid #fff!important;
    border-bottom: 1px solid #fff!important;
    margin: 0 5px 0 5px!important;
  }
  .footer_nav {
    display: none!important;
  }
  .pre_title {
    font-size: 3vw!important;
  }
  .pre_phone {
    font-size: 8vw!important;
    padding: 10px 0!important;
  }
  .input_block {
    flex-direction: column!important;
  }
  .logo_item {
    width: 100%!important;
    flex-direction: column!important;
    justify-content: center!important;
    align-items: center!important;
  }
  .logo_item > img {
    width: 44px!important;
  }
  .main_title {
    margin: 0!important;
    text-align: center!important;
  }
  .service_page_title {
    margin: 0!important;
    text-align: center!important;
  }
  .service_title  {
    font-size: 5vw!important;
  }
  h3 {
    font-size: 5vw!important;
  }
  .top > .container {
    grid-auto-flow: row;
    justify-content: center;
    flex-direction: column!important;
  }
  .service_item {
    /*width: 48%!important;*/
  }
  footer > .container {
    flex-direction: column!important;
  }
  .portfolio_blok > a {
    width: 48%!important;
  }
  .input_block > input {
    margin: 0 0 5px 0!important;
  }
  .ip_info {
    margin: 3px 0 0 0!important;
    text-align: center!important;
  }
  .comment_item {
    width: 48%!important;
    margin: 0 0 2% 0!important;
  }
}
@media(max-width: 767px) {
  .form_send_group {
      padding: 20px;
  }
  .form_input_group {
    width: 100%;
  }
  .form_send_wrapper > .form_input_group input[type=submit] {
    padding: 15px 20px;
  }
  .service_list {
    grid-template-columns: 1fr;
  }
  .service_item {
    grid-template-rows: 280px auto 1fr;
  }
  .service_list > .service_item:last-child {
    grid-column: 1;
    grid-template-rows: 280px auto 1fr;
  }
  .advantages_group {
    grid-template-columns: 1fr!important;
  }
  .main_page_service_group {
    grid-template-columns: 1fr!important;
  }
  .main_page_content {
    padding: 0!important;
    margin: 20px 0 0 0!important;
  }
  .service_item {
    width: 100%!important;
  }
  .service_content {
    font-size: 13px!important;
  }
  .about_us_content > p {
    font-size: 13px!important;
  }
  .portfolio_blok > a:hover:before {
    margin: 0 0 0 50px!important;
    width: 50px!important;
    margin-left: -25px!important;
    content: url(.././img/magnifier50.png)!important;
  }
  .map_content {
    flex-direction: column!important;
  }
  .contacts_content {
    width: 100%!important;
  }
  .comment_item {
    width: 100%!important;
  }
}