%button, %button_white
{

	position: relative;
	z-index: 1;
	
	display: inline-block;
	overflow: hidden;
	
	box-sizing: border-box;
	height: 56px;
	padding: 0 32px;
	margin: 0;
	
	font-size: 16px;
	font-weight: 700;
	line-height: 56px;
	white-space: nowrap;
	text-align: center;
	
	-webkit-appearance: none;
	
	   -moz-appearance: none;
	
	        appearance: none;
	
	color: white;
	background: #1b8b80;
	
	border: none;
	border-radius: 28px;
	box-shadow: 16px 0 20px rgba( 86, 63, 0, 0.08 );
}

	%button:not([disabled]), %button_white:not([disabled])
	{
		cursor: pointer;
	}

	%button:not([disabled]):focus::before, %button:not([disabled]):hover::before, %button_white:not([disabled]):focus::before, %button_white:not([disabled]):hover::before
			{
				-webkit-transform: translateY( 0 );
				        transform: translateY( 0 );
			}

	%button::before, %button_white::before
	{
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: -1;

		width: 100%;
		height: 100%;

		content: '';

		background: #072b31;

		border-radius: 28px;

		-webkit-transform: translateY( 100% );

		        transform: translateY( 100% );

		transition: -webkit-transform 0.25s;

		transition: transform 0.25s;

		transition: transform 0.25s, -webkit-transform 0.25s;
	}

/**
 * Сбросить всё оформление со стандартной кнопки
 */
html > body > main > header > h1, html > body > main > div.articles > article > h2
{
	margin: 0 0 24px;
	
	font-family: "Circe",sans-serif;
	font-size: 44px;
	font-weight: 400;
	line-height: 1.09;
}
html > body > main
{
	position: relative;
	z-index: 1;
	
	overflow: hidden;
	
	box-sizing: border-box;
	height: auto;
	min-height: 100vh;
	padding: 0 0 0 70px;
}
/**
 * Сбросить оформление с details и скрыть контент
 */
html > body > main > div.articles > article > details
{
	
	font-size: 14px;
	
	color: #072b31;
}
html > body > main > div.articles > article > details > summary
	{
		display: block;
		
		-webkit-appearance: none;
		
		   -moz-appearance: none;
		
		        appearance: none;
	}
html > body > main > div.articles > article > details > summary::-webkit-details-marker
		{
			display: none;
		}
html > body > main > div.articles > article > details > summary ~ *
		{
			display: none;
		}
html > body > main > div.articles > article > details > summary
	{
		opacity: 0;
		
		transition: opacity 0.3s;
	}
html > body > main > div.articles > article > details > summary:focus
		{
			opacity: 1;
			
			outline: none;
		}
html > body > main > div.articles > article > details > summary::after
		{
			display: inline-block;
			
			width: 40px;
			height: 40px;
			margin: -2px 0 0 0.5em;
			
			vertical-align: middle;
			
			content: "";
			
			background: url("images/arrow-small.svg") center center no-repeat #1b8b80;
			
			border-radius: 50%;
			box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);
		}

html > body > main > div.articles > article:hover > details > summary
	{
		opacity: 1;
	}
%button_stroke:not([disabled]):hover, %button_stroke:not([disabled]):focus
	{
		color: #072b31;
	}
html > body > main > div.articles > article > h2
{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}
html > body > main
{
	padding: 60px
		calc(6.25vw - 4px)
		60px
		calc(6.25vw + 66px);
}
@supports (display: grid)
	{
	}

@supports (display: grid)
	{
		
		@media (max-width: 1099px)
		{
		}
	}

html > body.promo > main > div.articles > article > h2, html > body.promo > main > div.articles > article > time
			{
				color: white;
			}

html > body.promo > main > div.articles > article > time > svg
			{
				stroke: #84e9d6;
			}

html > body.promo > main > div.articles > article > p
			{
				opacity: 0;
			}

html > body.promo > main > div.articles > article > div.cover
			{
				opacity: 1;
			}

html > body > main > form
	{
		display: none;
	}

html > body > main > header
{
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

html > body > main > header > h1
{
	
	margin-bottom: 0;
}

html > body > main > div.articles
{
	position: relative;
	
	display: -webkit-flex;
	
	display: -ms-flexbox;
	
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

html > body > main > div.articles::after
	{
		position: absolute;
		bottom: 0;
		left: 0;
		
		width: 100%;
		height: 1px;
		
		content: "";
		
		background: white;
	}

/* Псевдоэлемент заполнит пространство, если не хватает элементов для ряда */

html > body > main > div.articles::before
	{
		display: block;
		
		-webkit-order: 1;
		
		    -ms-flex-order: 1;
		
		        order: 1;
		width: calc(25vw - 18px);
		
		content: "";
	}

html > body > main > div.articles > article
{
	position: relative;
	
	width: calc(25vw - 18px);
	padding: 70px 0 100px;
	
	cursor: pointer;
}

html > body > main > div.articles > article::after
	{
		position: absolute;
		bottom: 0;
		left: 0;
		
		width: calc(31.25vw - 22px);
		height: 1px;
		
		content: "";
		
		background: #e6e6e6;
	}

html > body > main > div.articles > article > details
{
	
	position: absolute;
	bottom: 48px;
	right: 0;
	
	font-weight: 700;
}

html > body > main > div.articles > article > details > summary
	{
		color: white;
	}

html > body > main > div.articles > article > div.cover
{
	
	position: absolute;
	top: 50px;
	left: -30px;
	z-index: -1;
	
	width: calc(100% + 60px);
	height: calc(100% - 80px);
	
	pointer-events: none;
	
	opacity: 0;
	background-color: #072b31;
	
	transition: opacity 0.3s;
}

html > body > main > div.articles > article > div.cover.empty
	{
		background: url( 'images/bg-circles.svg' ) center center no-repeat #072b31;
		background-size: cover;
	}

html > body > main > div.articles > article > div.cover > img
	{
		display: block;
		
		width: 100%;
		height: 100%;
		
		object-fit: cover;
		
		opacity: 0.75;
	}

html > body > main > div.articles > article > h2
{
	
	margin-bottom: 40px;
}

html > body > main > div.articles > article > p
{
	margin: 0 0 1em;
	
	font-size: 14px;
	line-height: 1.7;
	
	transition: opacity 0.3s;
}

html > body > main > div.articles > article > time
{
	position: absolute;
	bottom: 60px;
	left: 0;
	
	font-size: 14px;
	vertical-align: middle;
}

html > body > main > div.articles > article > time > svg
	{
		margin-right: 0.5em;
		
		vertical-align: bottom;
		
		fill: currentColor;
	}

html > body > main > div.articles > article:hover > div.cover
{
	opacity: 1;
}

html > body > main > div.articles > article:hover > h2::before
	{
		background: linear-gradient( to right, white 57%, #84e9d6 57%, #84e9d6 83%, #072b31 83% );
	}

@media (min-width: 700px)
	{

html > body > main > div.articles > article:hover
{
		color: white
}

html > body > main > div.articles > article:hover > p
{
		opacity: 0
}
	}

@media (min-width: 700px) and (max-width: 1099px)
	{
	}

@media (min-width: 701px) and (max-width: 1099px)
	{
		html > body > main > div.articles > article:nth-of-type(2n)::after
		{
			width: 100%;
		}
	}

@media (min-width: 1100px)
	{
		html > body > main > div.articles > article:nth-of-type(3n)::after
		{
			width: 100%;
		}
	}

@media (min-width: 1100px) and (max-width: 1399px)
	{
	}

@media (max-width: 1399px)
	{%button, %button_white
{
		padding: 0 27px
}
html > body > main > header > h1, html > body > main > div.articles > article > h2
{
		font-size: 36px
}
html > body > main > div.articles > article > h2
{
		font-size: 18px
}
	}

@media (max-width: 1099px)
	{
html > body > main
{
		min-height: 0;
		padding-left: 0
}
html > body > main
{
		padding-left: calc(6.25vw - 4px)
}

html > body.promo > main > div.articles > article > div.cover
			{
					left: -16px;
					width: calc(100% + 32px)
			}

html > body > main > div.articles > article
{
		width: calc(50% - 20px)
}
		
		html > body > main > div.articles > article::after
		{
			width: calc(100% + 40px);
		}

html > body > main > div.articles > article > div.cover
{
		
		left: -20px;
		
		width: calc(100% + 40px)
}
	}

@media (max-width: 699px)
	{

html > body.promo > main > div.articles::after
		{
				content: none
		}

html > body.promo > main > div.articles > article::after
			{
					content: none
			}

html > body.promo > main > div.articles > article > div.cover
			{
					display: block;

					height: calc(100% - 50px)
			}

html > body > main > div.articles > article
{
		width: 100%
}
		
		html > body > main > div.articles > article::after
		{
			width: 100%;
		}
		html > body > main > div.articles > article > details > summary
{
			opacity: 1;
	}

html > body > main > div.articles > article > div.cover
{
		display: none
}
	}
