/* Базовые элементы */
html{
    font-size: var(--base-font-size);
    line-height: var(--base-line-height);
    color: var(--base-color);
    font-family: var(--font-base);
    font-weight: 400;
}
body{
    position: relative;
    background: var(--base-bg);
}

a{
    color: var(--a-color);
    text-decoration: none;

    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    -webkit-tap-highlight-color: transparent;
    outline: none;
}
a:hover{
    color: var(--a-hover-color);
}
a:active{
    color: var(--a-active-color);
}

.cnt{
    padding: var(--cnt-vertical-padding) var(--cnt-horizontal-padding);
    max-width: var(--cnt-max-width);
    margin: 0 auto;
    width: 100%;
}
.hidden{
    display: none!important;
}

/* Заголовки */
h1, .ex-h1,
h2, .ex-h2,
h3, .ex-h3,
h4, .ex-h4,
h5, .ex-h5,
h6, .ex-h6{
    font-weight: 500;
    font-family: var(--font-headings);
}

h1, .ex-h1{
    font-size: 24px;
    line-height: 1.4;
}
h2, .ex-h2{
    font-size: 24px;
    line-height: 1.4;
    font-weight: 500;
}
h3, .ex-h3{
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
}
h4, .ex-h4{
    font-size: 16px;
    line-height: normal;
    font-weight: 500;
}
h5, .ex-h5{
    font-size: 16px;
    line-height: normal;
    font-weight: 500;
}
h6, .ex-h6{
    font-size: 16px;
    line-height: normal;
    font-weight: 500;
}

html[lang="kir"] h2, html[lang="kir"] .ex-h2,
html[lang="kir"] h3, html[lang="kir"] .ex-h3,
html[lang="kir"] h4, html[lang="kir"] .ex-h4,
html[lang="kir"] h5, html[lang="kir"] .ex-h5,
html[lang="kir"] h6, html[lang="kir"] .ex-h6{
    font-weight: 700;
}

/* Контентное */
p, ul, ol{
    margin-bottom: var(--base-p-margin);
    list-style-position: inside;
}
ul:last-child,
ol:last-child,
p:last-child{
    margin-bottom: 0;
}
li:not(:last-child){
    margin-bottom: var(--li-interval);
}
.semantic, ul.slider{
    padding: 0;
    list-style: none;
    font-size: 0;
}
ul.slider{
    white-space: nowrap;
}
ul.slider li{
    white-space: normal;
}
.semantic li,
ul.slider li{
    display: inline-block;
    vertical-align: top;
    font-size: 1rem;
    padding: unset;
}
.semantic li::before,
ul.slider li::before{
    display: none;
}
.semantic li:not(:last-child),
ul.slider li:not(:last-child){
    margin: unset;
}
.flx{
    display: flex;
    justify-content: space-between;
}
.flx-mid{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Навигация */
nav > ul li a{
    text-decoration: none;
}
nav li{
    list-style: none;
    padding: unset;
}
nav li::before{
    display: none;
}
/* wp admin bar */
/* img */
img{max-width: 100%; height: auto}
img.contentfit{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
img.lazyload{
	background: var(--blue-1);
}
/* responsive img */
.responsive-img,
.responsive-iframe{
    position: relative;
    overflow: hidden;
    display: block;
}
.responsive-img::after,
.responsive-iframe::after{
    content: '';
    display: block;
    padding-top: 56.25%;
}
.responsive-img img,
.responsive-img img[width],
.responsive-img img[height],
.responsive-img iframe,
.responsive-img picture,
.responsive-img source{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.responsive-img picture{
    display: block;
}
.responsive-iframe > iframe{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.responsive-iframe > .youtube-dummy{
    position: absolute;
    width: 100%;
}

/* footer always bottom */
#mainWrapper{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
#mainWrapper > footer{
    margin: auto 0 0 0;
}

header{
    position: relative;
    z-index: 3;
    height: var(--base-header-height);
    width: 100%;
}
header > .cnt{
	height: 100%;
}
main{
    z-index: 1;
    position: relative;
}
footer{
    position: relative;
    z-index: 2;
}

/* navigation */
nav.pagination{
	font-size: 16px;
	text-align: center;
	margin-bottom: 16px;
}
nav.pagination a,
nav.pagination .current{
	display: inline-block;
	padding: 5px 5px 4px;
	position: relative;
	min-width: 2ch;
}
nav.pagination .current::after,
nav.pagination a::after{
	content: '';
	display: block;
	pointer-events: none;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	
	background: 
		linear-gradient(currentColor 0 0) 
		var(--p, 100%) 100% / var(--d, 0) 100% 
		no-repeat;
	transition: 0.28s, background-position 0s 0.28s;
	
	transform: scale(-1, 1);
}
nav.pagination a:hover::after{
	--d: 100%;
	--p: 0%;
}

/* breadcrumbs */
.breadcrumbs.cnt{
	padding-top: 2em;
	padding-bottom: 1em;
}
.breadcrumbs__wrapper + .heading-wrap h1.cnt{
	padding-top: 0;
}
.breadcrumbs a,
.breadcrumbs .breadcrumb_last{
	display: inline-block;
	position: relative;
}
.breadcrumbs a::after,
.breadcrumbs .breadcrumb_last::after{
	content: '';
	display: block;
	pointer-events: none;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	
	background: 
		linear-gradient(currentColor 0 0) 
		var(--p, 100%) 100% / var(--d, 0) 100% 
		no-repeat;
	transition: 0.28s, background-position 0s 0.28s;
	
	transform: scale(-1, 1);
}
.breadcrumbs a:hover::after{
	--d: 100%;
	--p: 0%;
}

.breadcrumbs a:not(:hover):not(:active):not(:focus),
.breadcrumbs .breadcrumb_last,
.breadcrumbs .b-div{
	opacity: 0.6;
}

/**/
.dblock{
    color: var(--white);
    background-color: var(--dark);
}
.responsive-img.icon::after, 
.responsive-iframe.icon::after{
    padding-top: 100%;
}

/* section divider */
.section{
	position: relative;
}
.section > .cnt{
    position: relative;
}
/* .section + .section > .cnt:first-child::before{
	content: '';
    position: absolute;
    display: block;
    height: 2px;
    background: var(--light-grey);
    top: -1px;
    width: 100%;
    z-index: 0;
    max-width: calc(100% - var(--cnt-horizontal-padding) - var(--cnt-horizontal-padding));
} */
/**/

/* Углы */
.rounded{
    border-radius: 28px;
}
/**/

/* archives & single*/
.archive .article__inner.cnt{
    padding-top: 0;
}
.single article.cnt{
    padding-top: 0;
}

.single h1,
.single .ex-h1{
    font-size: 20px;
    padding: 1em 0;
    padding: 0 0 1em; /* due to breadcrumbs */
}
.archive h1{
    font-size: 24px;
}
/**/

@media (min-width: 450px){
    h3, .ex-h3{
        font-size: 18px;
    }

    nav.pagination{
		font-size: 18px;
	}
}
@media (min-width: 560px){
	h1, .ex-h1{
		font-size: 32px;
	}
    h2, .ex-h2{
        font-size: 22px;
    }

    .single h1,
    .single .ex-h1{
        font-size: 24px;
    }
    .archive h1{
        font-size: 28px;
    }
}
@media (min-width: 768px){
	h2, .ex-h2{
		font-size: 26px;
	}

    .single h1,
    .single .ex-h1{
        font-size: 26px;
    }
    .single .article__inner{
        font-size: 18px;
    }
    .archive h1{
        font-size: 32px;
    }
}
@media (min-width: 968px){
    h3, .ex-h3{
		font-size: 20px;
	}

    .rounded{
        border-radius: 44px;
    }

    nav.pagination{
		margin-top: 24px;
	}

    .single h1,
    .single .ex-h1{
        font-size: 30px;
    }
}
@media (min-width: 1100px){
	h1, .ex-h1{
		font-size: 40px;
        line-height: 1.2;
        font-weight: 700;
	}
    h2, .ex-h2{
		font-size: 30px;
        line-height: 1.3;
	}

    .single h1,
    .single .ex-h1{
        font-size: 34px;
    }
    .archive h1{
        font-size: 38px;
    }
}
@media (min-width: 1200px){
    nav.pagination{
		margin-bottom: 0;
	}

    .single h1,
    .single .ex-h1{
        font-size: 36px;
    }

    .single .article__inner{
        font-size: 20px;
        line-height: 134%;
    }
}
@media (min-width: 1360px){
    h2, .ex-h2{
		font-size: 36px;
	}
    h3, .ex-h3{
		font-size: 24px;
	}

    .archive h1,
    .single h1,
    .single .ex-h1{
        font-size: 40px;
    }

    nav.pagination{
		font-size: 22px;
	}
}
@media (min-width: 1440px){
	h1, .ex-h1{
		font-size: 60px;
	}
    
    .archive h1,
    .single h1,
    .single .ex-h1{
        font-size: 46px;
    }

    .single .article__inner{
        font-size: 22px;
        line-height: 130%;
    }

    nav.pagination{
		margin-bottom: 20px;
	}

    .rounded{
        border-radius: 56px;
    }
}
@media (min-width: 1730px){
	h2, .ex-h2{
		font-size: 48px;
	}
    h3, .ex-h3{
		font-size: 32px;
	}

    /* .rounded{
        border-radius: 72px;
    } */

    nav.pagination{
		font-size: 24px;
	}

    .archive h1,
    .single h1,
    .single .ex-h1{
        font-size: 48px;
    }
}