h1,h2,h3 {
    font-size: 32px;
  font-weight: 700;
}
h4 {
  font-size:20px;  
}
h5 {
    font-size:16px;
}
.gray {
    padding-top: 35px;
}
.top_title {
    display:grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    margin-top: 40px;
}
.top_title .meta{
    align-items: center;
}
.top_title .meta>div {margin-right:15px;}
.top_title .meta .stars, h3 .stars {
    fill: #F8A400;
}
.top_title .meta .stars svg, h3 .stars svg {
    margin-right:2px;
}
.top_title .meta .rating span:nth-child(2) {
    color:#fff;
    display:inline-block;
    padding:2px 4px;
    border-top-right-radius:6px;
    background:#2D992F;
    margin-left:3px;
}
.top_title .meta .reviews a {
    font-weight:600;
    color:#068ACF;
}
.top_title .title {
    align-items: baseline;
    margin-top:10px;
}
.top_title .title span {
    margin-left:15px;
    display: flex;
  gap: 5px;
  align-items: center;
}
.top_title .tour_price, .order .tour_price {
    font-size:14px;
}
.top_title .tour_price .big, .order .tour_price .big{
    font-size: 22px;
    font-weight: 500;
    display:inline-block;
    margin-left:6px;
}
.top_title .request, .order .request {
    align-items:center;
    margin-top:6px;
}
.top_title .request a, .order .request a {
    margin-left: 10px;
    border: 1px solid;
    padding: 7px 15px;
    border-radius: 10px;
    background: #068ACF;
    color: #fff;
}
.request a:hover  {
    background:linear-gradient(to right, #FFD338 0%, #068ACF 18%, #18A2EA 100%);
}
.top_title .request svg {
    color:#068ACF;
    cursor:pointer;
}
.top_title .request svg:hover {
    color:#000;
}
@media (min-width:551px) {
    .top_title .second {
        text-align:right;
    }
}
.main_gallery .wrapper > a {
    position:relative;
}
.main_gallery .wrapper > a .special {
  position: absolute;
  top: 15px;
  left: 15px;
  width: 25px;
  height: 25px;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
}

.main_gallery .wrapper > a .discount {
    position: absolute;
    top: 15px;
   right: 0px;
  width: 60px;
  height: 30px;
  background: #fcfc06;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
z-index: 1;
font-weight: 600;
box-shadow: 0 0 6px #00000030;
}

/* main gallery */

.main_gallery {
    margin-top: 30px;
}
.main_gallery .wrapper {
    display:grid;
    grid-template-columns: 60% 1fr;
    gap: 5px;
    height:364px;
    border-radius: 20px;
    overflow: hidden;
}
.main_gallery .sub_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    grid-auto-rows: 182px;
}
.main_gallery a {
    width:100%;
    height:100%;
    overflow: hidden;
}
.main_gallery a:hover .img_fon {
    height:105%;
    width:105%;
}
.main_gallery .sub_wrapper .pic:last-child {
    position:relative;
}
.main_gallery .sub_wrapper .all {  
    position: absolute;
    top: 0;
    left:0;
    height: 100%;
    width: 100%;
    background: #00000070;
    display: flex;
    align-items: center;
    color: #fff;
    padding: 0 30px 0 40px;
    font-weight: 600;

}
.main_gallery .sub_wrapper .all svg {
    margin-right: 10px;
}

/* оглавление */

.fastlinks {
    margin-top: 30px;
  padding: 15px 30px;
  font-size: 14px;
  font-weight: 500;
  box-shadow: 0 4px 10px #00000010;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.fastlinks a {
    display:inline-block;
    margin-right:25px;
}
.functional_btns {
    display: inline-flex;
    gap: 10px;
}
.functional_btns button {
    display: inline-flex;
  align-items: center;
  gap: 10px;
  background: none;
  border: none;
  color: #404040;
}
.functional_btns .dropdown_box > div{
    background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  color: #000;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  padding: 15px;
}
.functional_btns .dropdown .dropdown_box {
    left:unset;
    right:0;
}
.details {
    border-radius:20px;
    background:#EBEBEB;
    display:grid;
    grid-template-columns:1fr 35%;
    /* overflow:hidden; */
    margin-top:30px;
}
.details .info {
    padding:25px 30px;
}
.details .map {
    background:url(/assets/almaris/images/map.webp) no-repeat 0 0;
    background-size:cover;
    align-items: center;
    justify-content: center;
    cursor:pointer;
}
.details .map .shadow {
    padding: 7px 20px;
    align-items: center;
    border-radius: 10px;
    border: 1px solid #000;
    font-weight: 500;
}
.details .map .shadow span {
    margin-left:15px;
}
.details .table {
    margin-top:20px;
}
.details .table > div {
    padding: 2px 0 2px 20px;
  border-left: 1px solid #B4B4B4;
  margin:0 0 0 20px;;
}
.details .table > div:first-child {
    padding-left:0;
    margin-left:0;
    border:none;
}
.details .table span {
    font-weight:300;
    font-size:12px;
}
.details .table span:first-child {
    color:#068ACF;
    font-weight:600;
    display:flex;
    font-size: 18px;
}
.date.dropdown .dropdown_box {
    width: 108px;
    top: 15px;
    left: 0;
}
.date.dropdown .box {
    background: #fff;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0px 2px 3px #00000033;
    display: grid;
    gap: 5px;
    font-size:14px;
}
.date.dropdown .box div {
    border-bottom: 1px dashed #565656;
    padding-bottom: 5px;
}

.transport .bus {
    height:23px;
}
.details .table > div:last-child span:first-child {
    text-decoration:underline;
}

/* 2 колонки с липким блоком */

.main_two_block {
    margin-top:40px;
    padding-bottom:40px;
    display: grid;
  grid-template-columns: 1fr 275px;
  gap: 40px;
}
p.tur_descr_text {
    font-size:16px;
    padding-left: 25px;
}
.content h3 {
    margin-top: 30px;
    margin-bottom: 20px;
    padding-left: 25px;
}
.shadow-radius {
    margin-bottom: 15px;
    padding: 25px;
    box-shadow: 0 4px 10px #00000010;
    border-radius: 20px;
}
.tur_program p {
    margin-top: 10px;
}
.program_extra.hide {
    display:none;
}
.show_all {
    text-align: center;
    margin-top: 10px;
}
.show_all a {
    font-weight: 500;
    border-bottom: 1px dashed #000;
    position:relative;
    cursor:pointer;
}
.show_all a:hover {
    border-bottom:1px solid ;
}
.show_all a:after, .allbtn:after, .reviws_box .item .show span:after {
    content: '';
  display: inline-block;
  margin-left: 8px;
  width: 13px;
  height: 21px;
  background: url(/assets/almaris/icons/arrow_down.svg) no-repeat center center;
    background-size: auto;
  background-size: contain;
  position: absolute;
  top: 0;
  right: -25px;
  transition:all 0.5s ease;
}
.show_all a.top:after, 
.active .allbtn:after, 
.reviws_box .item.active .show span:after {
    transform:rotate(180deg);
}

.main_two_block .sticky {
    position: sticky;
  height: 632px;
  top: 100px;
}
.consultant, .weather {
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    box-shadow: 0 4px 10px #00000010;
}
.consultant .img {
    width:100%;
    height:172px;
    overflow:hidden;
}
.consultant .title {
    padding:20px;
    color:#fff;
    font-weight:500;
    background:linear-gradient(to right, #8CC92A 0%,  #5E8A16 100%);
}
.consultant .contact {
    padding:20px 20px;
}
.consultant .contact .tel {
    font-weight:500;
    font-size:20px;
    margin-bottom:15px;
}
.consultant .contact .email {
    color:#626464;
    margin-bottom: 20px;
}
.consultant .contact .btn a {
    display:block;
    border:1px solid #000;
    border-radius:10px;
    width:100%;
    padding:10px 0;
    text-align:center;
    font-weight: 500;
}
.weather {
    padding:20px 20px;
    margin-top:20px;
}
.weather .wrapper {
    margin-top:20px;
}
.weather .title,.weather .extra {
    color:#626464
}
.weather .title b,.weather .extra b {
    color:#000;
}
.weather .icon {
    background-size:contain !important;
    margin-right:10px;
    width: 60px;
  height: 60px;
} 
.weather .degree {
    font-weight:600;
}
.weather .degree span:first-child {
    font-size:30px;
    display:block;
} 
.weather .extra {
     margin-top: 20px;
}

/* Hotel descr */

h3.mtop60 {
    margin-top: 60px;
}
.hotel_gallery {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    border-radius:20px;
    gap:5px;
    height:220px;
    grid-auto-rows: 50%;
    overflow: hidden;
    margin-bottom: 40px;
}
.tags {
    margin-top:40px;
}
.tags .tabs {
    display: flex;
    cursor: pointer;
    justify-content: space-between;
}
.tags .tab {
    padding: 8px 15px;
    color:#626464;
    border:1px solid #acacac;
    border-radius: 20px;
    font-weight:600;
}
.tags .tab_content {
    display: none;
    padding: 10px;
    margin-top:20px;
}
.tags .active-tab {
    background-color: #fff;
    color:#000;
    border:1px solid #000;
}
.tags .active-content {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr 1fr;
   gap: 10px 15px;
   align-items: start;
}
.tags .tab_content span {
    display:flex;
    align-items:start;
}
.tags .tab_content span:before {
    content:'';
    display:block;
    width:13px;
    height:14px;
    background:url(/assets/almaris/icons/ok.svg) no-repeat 0 0;
    background-size:contain;
    margin-right:10px;
    flex-shrink: 0;
}

/* ОТзывы */

.reviws_box {
    border-radius:20px;
    padding:25px;
    margin-top:40px;
}
.reviws_box h3 {
    margin-top:0;
    padding-left:0;
    margin-bottom: 10px;
}
.reviws_box .wrapper {
    justify-content: space-between;
    align-items: center;
}
.reviws_box .review_btn {
    border: 1px solid;
    border-radius: 20px;
    padding: 12px 30px;
    font-weight: 600;
}
.reviws_box .review_btn:hover {
    color:#fff;
    background:linear-gradient(to right, #FFD338 0%, #068ACF 18%, #18A2EA 100%);
}
.detail div {
    font-weight: 600;
    color:#626464;
}
.reviws_box .list {
    margin-top:30px;
}
.reviws_box .list .item {
    background:#F4F5F7;
    border-radius:20px;
    margin-bottom:10px;
    padding: 25px;
}
.reviws_box .top {
    align-items: center;
}
.reviws_box .rating {
    color: #fff;
    background: #2D992F;
    border-radius: 4px;
    padding: 8px 7px;
    font-size: 20px;
    font-weight: 500;
    margin-right: 10px;
}
.reviws_box .name {
   font-size: 18px;
}
.reviws_box .date {
    font-size: 14px;
}
.reviws_box h5 {
    margin: 20px 0 10px 0;
}

.reviws_box .item .hidden,
.reviws_box .item.active .more{
    display:none;
}

.reviws_box .item.active .hidden {
    display:inline-block;
}

.reviws_box .item .show span {
    font-weight:600;
    color:#068ACF;
    cursor:pointer;
    position:relative;
}
.reviws_box .item .show span:after {
   width: 10px;
  height: 16px;
  top: 2px;
  right: -20px;
}
#review_form form {
    padding: 30px 0 0 0;
}
#review_form .form-group {
  display: grid;
  grid-template-columns: 150px auto;
  gap: 20px;
}
#review_form input {
    height: 30px;
}
#review_form textarea {
    height: 100px;
}
#review_form .btn {
    padding: 5px 20px;
}

.content .adres {
    padding-left:25px;
    margin-bottom:30px;
}

.rooming .shadow-radius {
    display: grid;
    grid-template-columns: auto 185px;
    align-items: end;
}
.rooming h5 {
    margin-bottom: 20px;
}

.rooming .assets {
    display: inline-block;
    /* margin-left: 10px; */
}
.rooming .room {
    font-size: 14px;
}
.rooming .room>span {
    font-weight:500;
}
.rooming .assets.active {
    margin: 5px 0;
}
.rooming .assets span {
    background: #FFF4CD;
    padding: 3px 10px;
    border-radius: 10px;
    display:none;
}
.rooming .assets span:nth-child(1),
.rooming .assets span:nth-child(2),
.rooming .assets span:nth-child(3),
.rooming .assets span:nth-child(4),
.rooming .assets.active span {
    display:inline-block;
    margin: 3px 0;
}
.rooming .assets .allbtn {
    display:inline-block;
   border:1px solid;
   position:relative;
   width: 70px;
  background: none;
  padding: 2px 10px;
  cursor:pointer;
}
.rooming .order {
    text-align: right;
}
.allbtn::after {
    width: 10px;
  height: 16px;
  top: 3px;
  right: 10px;
}
.order .tour_price {
    margin-bottom:5px;
    font-size:12px;
}
.order .request a {
    margin:0;
    display: inline-block;
  font-size: 14px;
}


@media (max-width:1200px) {
    .main_gallery .sub_wrapper .all,.tags .tab  {
        font-size:12px;    
    }
    .breadcrumbs {
        justify-content: end;
    }
}
@media (max-width:1024px){
    .thin_container {
      padding: 0 20px;
    }
    
    .main_two_block {
        grid-template-columns: 1fr 220px;
        gap:20px;
    }
    .consultant .contact .tel {
        font-size:16px;
    }
    .tags .tab {
        padding: 8px 10px;
    }
    .details {
        grid-template-columns: 1fr 30%;
    }
    .details .info {
        padding: 20px 15px 20px 20px;
    }
    .details .map .shadow {
        padding: 7px 10px;
    }
    .functional_btns button span {
        display:none;
    }
}
@media (max-width:800px){
    .main_two_block {
        grid-template-columns: 1fr;
    }
    .main_two_block .sticky {
        position:relative;
        height:auto;
        top:0;
        display: flex;
          align-items: flex-start;
    }
    .main_two_block .sticky .weather {
        margin-top:0;
        margin-left: 20px;
    }
    
    .top_title .title {
        display:block;
    }
    .top_title .title span {
        margin-left:0;
    }
    .details .map {
        padding: 0 20px;
    }
    .main_gallery .wrapper {
        grid-template-columns: 40% 1fr;
    }
     
}
@media (max-width:550px){
    .breadcrumbs {
        display:none;
    }
    .top_title {
        grid-template-columns: 1fr;
        gap:20px;
        height: auto;
    }
    .main_gallery .wrapper, .rooming .shadow-radius {
        grid-template-columns: 1fr;
    }
    .main_gallery .sub_wrapper {
        grid-auto-rows: 100px;
    }
    .main_gallery > a {
        height: 250px;
    }
    .fastlinks .links {
        display:none;
    }
    .functional_btns button span {
        display:block;
    }
    .details {
        box-shadow: 0 4px 10px #00000010;
        background:#fff;
        grid-template-columns: 1fr;
    }
    .details .table {
        flex-wrap: wrap;
        gap:10px;
    }
    .details .table > div,
    .details .table > div:first-child{
        margin:0;
        border:none;
        padding: 10px;
        background: #f4f4f4;
        border-radius: 10px;
    }
    
    .details .map {
        padding: 30px 20px;
    }
    p.tur_descr_text, .content h3 {
        padding-left:0;
    }
    .hotel_gallery,.tags .active-content {
        grid-template-columns: 1fr 1fr;
    }
    .tags .tabs {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .tags .tabs .tab {
        margin-top:10px;
    }
    .reviws_box .wrapper {
        flex-direction: column;
      align-items: flex-start;
    }
    .reviws_box .review_btn {
        margin-top: 20px;
    }
    .main_two_block .sticky {
        display:block;
    }
    .main_two_block .sticky .weather {
        margin-top:20px;
        margin-left:0;
        width:100%;
    }
    .rooming .assets {
        margin: 10px 0;
    }
    .rooming .assets span {
        margin: 3px 0;
    }
    .functional_btns .dropdown_box {
        display:none;
    }
    
}

@media print {
           
    .no-print {
        display: none;
    }
    .program_extra.hide {
        display: block;
    }
    .details {
        grid-template-columns: 1fr;
    }
}



