body {
    margin: 0;
}

h1 {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 36px;
}

h2 {
    text-transform: uppercase;
    font-size: 28px;
}

a {
    text-decoration: none;
}

.block_lph {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7% 12% 5% 12%;
    border-bottom: 2px solid #d9d9d9;
}

.lph_l {
    display: grid;
    width: 45%;
  margin-right: 5%;
}

.lph_l_t {
    display: grid;
}

.t-line {
    width: 150px;
    height: 4px;
    background-color: #FFC100;
}

.lph_l_tx {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.08em;
    width: 85%;
}

.lph_l_tx p {
    margin: 8% 0;
}

ul li::marker {
    color: #FFC100;
    font-size: 1.5em;
}

.lph_l_tx ul {
    line-height: 1.5;
    margin: -5% 0 5% 0;
}

.lph_r {
    width: 50%;
}

.hrArr {
	display: flex;
	align-items: center;
}
	
/* Arrow  */

.arrow-1 {
    cursor: pointer;
    position: relative;
    width: 80px;
    height: 50px;
    margin: 20px;
}

.arrow-1 div {
    position: relative;
  top: 22px;
  width: 60px;
  height: 5px;
  background-color: #ffc100;
  box-shadow: 0 3px 5px rgba(0, 0, 0, .2);
  left: 0;
  display: block;
}

.arrow-1 div::after {
    content: '';
  position: absolute;
  width: 30px;
  height: 5px;
  top: -7px;
  right: -2px;
  background-color: #ffc100;
  transform: rotate(30deg);
}

.arrow-1 div::before {
    content: '';
  position: absolute;
  width: 30px;
  height: 5px;
  top: 7px;
  right: -2px;
  background-color: #ffc100;
  box-shadow: 0 3px 5px rgba(0, 0, 0, .2);
  transform: rotate(-30deg);
}

.arrow-1:hover {
    animation: arrow-1 1s linear infinite;
}

@keyframes arrow-1 {
    0% {
        left:0;
    }
    50% {
        left:10px;
    }
    100% {
        left:0;
    }
}

.background {
    background-color: white;
    
    box-shadow: 0px 2px 8px #D9D9D9;
}

.gruopPlus_1 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 3% 12%;
    flex-wrap: wrap;
}

.el_p1 {
    display: grid;
    width: 24%;
    justify-items: center;
}

.p1-line {
    width: 100px;
    height: 4px;
    background-color: #FFC100;
}

.p1_desc {
    font-size: 16px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.8;
}

.block_wt {
    display: grid;
    padding: 5% 12%;
    border-bottom: 2px solid #d9d9d9;
}

.groupAbstract {
    display: flex;
    justify-content: space-between;
    /* padding: 5% 0 0 0; */
}

.absBlock {
    display: grid;
    width: 48%;
}

.absImg {
    width: 100%;
}

.absTit {
    text-transform: uppercase;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  padding: 6% 0 4% 0;
}

.absText {
    font-size: 16px;
    text-align: justify;
    line-height: 1.8;
    letter-spacing: 0.05em;
    margin: 0;
    display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7; /* Ограничение до 6 строк */
  overflow: hidden;
  text-overflow: ellipsis;
}

.absBtn {
	color: black;
	text-align: center;
	position: relative;
    overflow: hidden;
    text-transform: uppercase;
    width: 30%;
    font-size: 18px;
    padding: 7px 18px;
    background-color: #FFC100;
    line-height: 1.8;
    letter-spacing: 0.05em;
    border: none;
    box-shadow: 0px 2px 8px #D9D9D9;
    cursor: pointer;
    margin-top: 5%;
}

.absBtn::before {
    content: '';
    position: absolute;
    top: -100%;
    left: -100%;
   	width: 500%;
  	height: 1000%;
    background: linear-gradient(
        45deg,
        transparent 0%,
        transparent 40%,
        rgba(255, 255, 255, 0.7) 50%,
        transparent 60%,
        transparent 100%
    );
    transform: rotate(45deg);
    animation: diagonal-shine 5s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
}

@keyframes diagonal-shine {
    0% {
        transform: rotate(45deg) translateX(-100%) translateY(-100%);
    }
    50% {
        transform: rotate(45deg) translateX(20%) translateY(20%);
    }
    100% {
        transform: rotate(45deg) translateX(100%) translateY(100%);
    }
}

.linePage {
    width: 100%;
    height: 4px;
    background-color: #D9D9D9;
    box-shadow: 0px 2px 8px #D9D9D9;
}

.blockSch {
    padding: 5% 12%;
    border-bottom: 2px solid #d9d9d9;
}

.schGroups {
    padding: 5% 0 0 0;
}

details>summary {
    padding: 2% 3%;
    border: 1px #d9d9d9 solid;
    box-shadow: 0px 2px 8px #D9D9D9;
    cursor: pointer;
    line-height: 1.8;
    list-style: none;
    letter-spacing: 0.05em;
    font-size: 18px;
    margin-bottom: 2%;

}

.sum-1 {
    text-align: center;
}

.schDetIns {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 3%;
}

.scheduleCon {
    width: 49%;
}

.schedule__item {
    border-top: 1.5px solid #FFC100;
    padding: 2% 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.schInfo {
    display: grid;

}

.schL {
    padding: 5px 0;
    letter-spacing: 0.05em;
    line-height: 1.8;
}

.schTime {
    text-align: right;
    letter-spacing: 0.05em;
    line-height: 1.8;
}

.trCon {
    padding: 5% 0 7% 0;
}

.trGroup {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* 4 колонки по 1 фракции */
    grid-gap: 1%;
    /* Отступ между элементами */
    justify-content: center;
    /* Центрирование по горизонтали */
}

.trBlock {
    /* border: 1px #ffc100 solid; */
    border: 1px #d9d9d9 solid;
    box-shadow: 0px 2px 8px #D9D9D9;
    display: grid;
    justify-content: center;
}

.trBlockImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.trGroup:nth-child(even) .trBlock:nth-child(odd) {
    margin-top: 50px;
}

.trBlockInf {
    display: grid;
}

.trInfTop {
    display: grid;
    background-color: white;
    padding: 5% 0;
    border-bottom: 1px solid #d9d9d9;
}

.trInfTop__name {
    font-size: 18px;
    text-align: center;
}

.trInfTop__title {
    font-size: 14px;
    text-transform: uppercase;
    color: #403d3d;
    margin-top: 3%;
    text-align: center;
}

.trInfDown {
    /* background-color: #FFC100; */
    color: #403d3d;
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
    padding: 2% 6% 0 6%;
}

.ul-2 {
    list-style-type: none;
    padding: 0;
}


.trInfHr {
    text-transform: uppercase;
    font-size: 24px;
    color: #6F6969;
	/* text-shadow: 1px 1px 2px #d9d9d9; */
	cursor: pointer;
}

/* --------------------------------- */

.background-2 {
    padding: 5% 12%;
    background-color: white;
    
    box-shadow: 0px 2px 8px #D9D9D9;
}

.block_lph-2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.lph_r-2 {
    width: 50%;
}

/* ------------------------- */

.groupAbstract-2 {
    padding: 5% 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 3%;
    justify-content: center;
    
}

.absBlock-2 {
    display: grid;
    width: 100%;
}

.absBtn-2 {
	text-align: center;
	color: black;
	position: relative;
  overflow: hidden;
  text-transform: uppercase;
  width: 100%;
  font-size: 18px;
  padding: 2% 1%;
  background-color: #FFC100;
  line-height: 1.8;
  letter-spacing: 0.05em;
  border: none;
  box-shadow: 0px 2px 8px #D9D9D9;
  cursor: pointer;
  margin-top: 6%;
/*   width: 92%; */
}

.absBtn-2::before {
    content: '';
    position: absolute;
    top: -100%;
    left: -100%;
   	width: 500%;
  	height: 1000%;
    background: linear-gradient(
        45deg,
        transparent 0%,
        transparent 40%,
        rgba(255, 255, 255, 0.7) 50%,
        transparent 60%,
        transparent 100%
    );
    transform: rotate(45deg);
    animation: diagonal-shine-2 5s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
}

@keyframes diagonal-shine-2 {
    0% {
        transform: rotate(45deg) translateX(-100%) translateY(-100%);
    }
    50% {
        transform: rotate(45deg) translateX(20%) translateY(20%);
    }
    100% {
        transform: rotate(45deg) translateX(100%) translateY(100%);
    }
}

/* --------------------- */

.sum-2 {
    text-align: left;
}


.revGym {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    margin: 5% 0;
}

.revGymL {
    width: 50%;
}

#yandex-reviews {
    height: 450px;
}

.revGymR {
    display: grid;
    width: 45%;
    margin-left: 5%;
}

.itemHr {
    font-size: 24px;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 2px solid #D9D9D9;
    padding: 4.5% 3%;
}

.quoteCon {
	padding: 2% 12%;
	display: flex;
	justify-content: center;
	border-top: 2px solid #fcc100;
	border-bottom: 1px solid #fcc100;
	box-shadow: 0px 2px 8px #D9D9D9;
}

.quoteF {
	text-align: center;
	letter-spacing: 0.1em;
  	line-height: 1.5;
}


/* -----------------for child */

.childR {
	width: 50%;
}

.textR {
	text-align: right;
	padding: 0 0 0 5%;
}

.textR p {
	margin: 1.5% 0 0 0;
}

/* -------------------------contact */

.contCon {
	padding: 5% 0;
	font-size: 18px;
}


.contLine {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid #fcc100;
    padding: 2% 0;
}

.contLineL {
	display: flex;
    align-items: center;
    width: 25%
}

.contLine__name {
	padding-left: 30%;
}

.contLineA {
	text-decoration: none;
	color: black;
	text-align: right;
}


.schBlockF {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 2% 0;
}

.lph_l_t h3 {
	padding: 2% 0 0 0;
}


.interCon {
	border-bottom: 2px solid #d9d9d9;
	padding: 2% 12%;
}

.interCon h3 {
	font-size: 20px;
}

.interCon p {
	font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.06em;
}

.termsPoints {
	margin: 0;
}

.items__point {
	font-size: 18px;
	padding: 1% 0;
}


/* ---------------------------------- */

@media screen and (max-width: 1440px) {

    .block_lph {
        display: grid;
    }

.lph_l {
	width: 100%;
}

    .lph_l_tx {
        width: 100%;
    }

    .lph_l_tx p {
        margin: 5% 0 3% 0;
    }

    .lph_r {
        width: 100%;
        margin: 5% 0 2% 0;
    }

    h1 {
        font-size: 30px;
    }

    .p1_desc {
        font-size: 14px;
    }

    .trGroup {
        grid-template-columns: repeat(3, 1fr);
    }

    .itemHr {
        font-size: 20px;
    }

    .trInfHr {
        font-size: 20px;
    }

    .block_lph-2 {
        display: grid;
    }

    .lph_r-2 {
        width: 145%;
        margin: 5% 0 3% 0;
    }

    .lph_l_tx ul {
        margin: 4% 0;
    }

    .groupAbstract-2 {
        padding: 5% 0 5% 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 4%;
        justify-content: center;
    }

    .absBlock-2 {
        width: 100%;
    }

    
    	.childR {
		width: 100%;
	}
}

@media screen and (max-width: 1280px) {

    .p1_desc {
        font-size: 13px;
    }

    .absText {
        font-size: 14px;
    }

    .absBtn {
        width: 90%;
    }

    details>summary {
        font-size: 16px;
    }

    .scheduleCon {
        font-size: 14px;
    }

    .trInfTop__name {
        font-size: 16px;
    }

    .trInfTop__title {
        font-size: 12px;
    }

    .trInfDown {
        font-size: 15px;
    }

    .itemHr {
        font-size: 18px;
    }

    .trInfHr {
        padding: 0 0 5% 0;
    }

    #yandex-reviews {
        height: 350px;
    }

    .lph_l_tx ul {
        font-size: 14px;
    }

    .lph_r-2 {
        width: 125%;
    }
    
    	.quoteF {
		font-size: 14px;
	}
	
	.runLine {
      font-size: 45px;
	}
	
	.items__point {
	font-size: 16px;
	}
    
}


@media screen and (max-width: 1024px) {
	


    .p1_desc {
        font-size: 11px;
    }
    
    .trInfHr {
        padding: 0 0 5% 0;
    }


    .absBtn {
        font-size: 16px;
    }

    .absText {
        font-size: 13px;
    }

    details>summary {
        font-size: 14px;
    }


    .scheduleCon {
        font-size: 12px;
    }

    .trGroup {
        grid-template-columns: repeat(2, 1fr);
    }

    /* .ul-2 {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    } */

    .trCon {
        padding: 7% 0 11% 0;
    }

    h1 {
        font-size: 24px;
    }
    
    h2 {
        font-size: 20px;
    }

    .revGymL {
        width: 100%;
    }

    #yandex-reviews {
        height: 450px;
    }

    .revGymR {
        width: 100%;
        margin: 4% 0;
    }

    .itemHr {
        padding: 3%;
    }

    .lph_r-2 {
        width: 100%;
    }

    .absBtn-2 {
        font-size: 14px;
    }

    .schDetIns {
        font-size: 12px;
        letter-spacing: 0.08em;
    }

	.arrow-1 {
		display: none;
	}
	
	
	
		.contCon {
		font-size: 16px;
	}
	.contLine {
		display: grid;
		padding: 4% 0
	}
	.contLineA {
  	  padding: 10% 0 0 0;
	}
	
	.contLineA {
	text-align: left;
	}
	
	.interCon p {
	font-size: 15px;
}

	.items__point {
	font-size: 15px;
	}
    
}

@media screen and (max-width: 800px) {
	
	
  	
  	.lph_l_tx {
  		font-size: 14px;
  	}
  	
  	.el_p1 {
  		width: 45%;
  		margin: 2% 0;
	}
	
	.p1_desc {
    	font-size: 10px;
  	}
  	
	h2 {
    	font-size: 22px;
  	}
  	
  	.groupAbstract {
  		display: grid;
  	}
  	
  	.absBlock {
  		width: 100%;
  		margin: 3% 0;
	}
	
	.absText {
    	font-size: 14px;
  	}
  	
  	.schDetIns {
  		display: grid;
  		justify-content: center;
  	}
  	
  	.scheduleCon {
  		width: 100%;
	}
	
	.trCon {
    	margin: 5% 0 15% 0;
  	}
	
	
	.itemHr, .trInfHr {
    	font-size: 16px;
  	}
	
	.groupAbstract-2 {
		padding: 9% 0 18% 0;
    	grid-template-columns: repeat(1, 1fr);
    	grid-gap: 2%;
  	}
  	
	.sum-2 {
  		padding: 3% 5%;
	}
	
	
  	
  	.arrow-1 {
		display: none;
	}
	
	.nF p {
		font-size: 14px;
	}
	
		.contCon {
		font-size: 14px;
	}
	
	.contLine {
		display: grid;
		padding: 6% 0;
	}
	
	.contLineA {
		padding: 20% 0 10% 0;
	}
		.interCon p {
	font-size: 14px;
}

		.interCon h3 {
	font-size: 16px;
}

	.runLine {
      font-size: 35px;
	}
	
		.items__point {
	font-size: 14px;
	}
    
}

@media screen and (max-width: 600px) {
	
	
  	
	.el_p1 {
    	margin: 5% 0;
  	}
  	
  	details > summary {
  		box-shadow: 0px 1px 5px #D9D9D9;
  		font-size: 13px;
    	padding: 4%;
  	}
  	
	.trGroup {
    	grid-template-columns: repeat(1, 1fr);
    	grid-gap: 1%;
  	}
  	
	.trCon {
    	margin: 10% 0 50% 0;
  	}
  	
  	.itemHr, .trInfHr {
    	font-size: 14px;
  	}
  	
	.lph_l_tx ul {
    	font-size: 12px;
  	}
	
	  .lph_r {
   
    margin: 10% 0 2% 0;
  }
	
	.arrow-1 {
		display: none;
	}
	
	 .groupAbstract-2 {
    	padding: 12% 0 25% 0;
	 }
	 
	 
	
		.quoteF {
		font-size: 12px;
	}
}

@media screen and (max-width: 480px) {
	

  	
	
	.lph_l_tx {
    	font-size: 12px;
  	}
  	
	h1 {
    	font-size: 22px;
  	}
  	
	.p1_desc {
    	font-size: 9px;
  	}
  	
	h2 {
    	font-size: 18px;
  	}
  	
  	.p1-line {
  		height: 2px;
  	}
  	
  	.t-line {
  		height: 3px;
  	}
  	
	.groupAbstract {
  		margin: 7% 0;
	}
	
	.absTit {
  		font-size: 16px;
	}
	
	.absText {
    	font-size: 12px;
  	}
  	
  	.absBtn, .absBtn-2 {
    	font-size: 14px;
    	width: 92%;
  	}
  	
  	.schGroups {
  		margin: 10% 0;
	}
	
	.revGym {
  		margin: 10% 0;
	}
	
	 #yandex-reviews {
    	height: 550px;
  	}
  	
  	  .revGymR {
    	margin: 7% 0 0 0;
  	}
  	
	.itemHr {
    	padding: 5%;
  	}
  	
	.sum-2 {
    	padding: 5%;
    	font-size: 12px;
  	}
  	
  	.schDetIns {
  		padding: 5% 3%;
  	}
  	
  		.runLine {
      font-size: 25px;
	}
	
		.items__point {
	font-size: 12px;
	}
    
}

@media screen and (max-width: 412px) {
	
	 
	 
	.lph_l_tx p {
    	margin: 10% 0 5% 0;
  	}
  	
	.el_p1 {
    	width: 100%;
  	}
  	
  	 h2 {
    	line-height: 1.5em;
  	}
  	
	.absBlock {
    	margin: 5% 0;
  	}
  	
	.absBtn {
    	width: 85%;
    	margin: 2% 0;
  	}
  	
  	details > summary {
    	font-size: 12px;
    	padding: 7%;
    	margin: 2% 0;
  	}
  	
	.schDetIns {
    	display: flex;
    	padding: 5%;
  	}
  	
  	.schedule__item {
  		display: grid;
  		width: 100%;
  		padding: 5% 0;
	}
	
	.trInfTop__name {
    	font-size: 14px;
  	}
  	
	.trInfTop__title {
    	font-size: 11px;
  	}
  	
	.trInfDown {
    	font-size: 12px;
  	}
  	
	h1 {
    	font-size: 20px;
  	}
  	
	.lph_l_tx ul {
    	text-transform: inherit;
    	margin: 7% 0;
  	}
  	
  	.lph_r-2 {
    	margin: 7% 0 5% 0;
  	}
	
	.schTime {
		text-align: left;
	}
	
	.schDetIns {
		font-size: 11px;
    	letter-spacing: 0.1em;
	}
	
			.interCon p {
	font-size: 12px;
}

.media {
	border: none;
}

}

@media screen and (max-width: 361px) {
	

	
	

	  .absBtn {
    margin: 8% 0 0 0;
  	}	  	
  	
  	.block_wt {
  /* border: none; */
  padding: 10% 12%;
  	}
  	
  	.block_lph {
  	padding: 10% 12%;
	}
  	
  	.gruopPlus_1 {
  padding: 5% 12%;
	}
	
	  .groupAbstract {
    padding: 10% 0 0 0;
    margin: 0;
  }
  
  .schTime {
  text-align: left;
  }
  
  .mobil {
  	display: none;
  }
	
	.background-2 {
  padding: 10% 12%;
	}
	
	.sum-1-inter {
		margin: 0;
	}
	
}








