@font-face { 
    font-family: "TildaSans";
    src: url('/wp-content/themes/codim/assets/fonts/TildaSans/TildaSans-VF.woff2') format("woff2"), 
         url('/wp-content/themes/codim/assets/fonts/TildaSans/TildaSans-VF.ttf') format("truetype");
}

::selection {
	background: #3165CF;
	color: #fff;
}

:root {
	--color-accent: #842E84;
	--color-txt: #1A1A1A;
	--color-txt-gray: #6b6b6b;
	--color-caption: #bbb;
	--color-bg: #F6F5F3;
	--color-link: #3165CF;
	--color-plus: #15ac15;
	--color-minus: #ee5252;
	--radius: 0.75em;
	--radius-btn: 0.5em;
	--radius-inp: 0.3em;
	--font-size-h1: 2.1rem;
	--font-size-h2: 1.6rem;
	--font-size-h3: 1.3rem;
	--font-size-h4: 1.1rem;
	--font-size-p: 1rem;
	--font-size-caption: 0.9rem;
	--padding-btn: 0.75em 1.5em;
}

html {	
	font-size: 16px;
}

body {
    font-family: 'TildaSans', Verdana, sans-serif;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.3;
	color: var(--color-txt);
	background-color: var(--color-bg);
	margin: 0;
	box-sizing: border-box;
}

img {
	max-width: 100%;
}

h1 {
	font-weight: 900;
	line-height: 1.1;
	margin-top: 0;
	margin-bottom: 0.5em;
}

h1, .fs_h1 {
	font-size: var(--font-size-h1);
}

h2, .fs_h2 {
	font-size: var(--font-size-h2);
}

h3, .fs_h3 {
	font-size: var(--font-size-h3);
}

h4, .fs_h4 {
	font-size: var(--font-size-h4);
}

:is(h2, h3, h4) {
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 0.5em;
	line-height: 1.2;
}

:is(h2, h3, h4):not(:first-child) {
	margin-top: 1em;
}

p {
	margin-top: 0;
	margin-bottom: 0.8em;
}

:last-child {
	margin-bottom: 0;
}

ul {
	margin-top: 0;
	padding-left: 0.9em;
}

ul:not(:last-child) {
	margin-bottom: 0.8em;
}

li:not(:last-child) {
	margin-bottom: 0.5em;
}

:is(p, li) a {
	color: var(--color-link);
	text-decoration: none;
}

:is(p, li) a:hover {
	text-decoration: underline;
}

input, textarea {
	font-family: inherit;
	color: inherit;
	background-color: transparent;
	font-size: inherit;
	outline: none;
	box-shadow: none;
	border-radius: var(--radius-inp);
	padding: 0.5em;
	border: 2px solid var(--color-caption);
	max-width: 100%;
	width: 100%;
	box-sizing: border-box;
	font-weight: 500;
}

:is(input, textarea):focus {
	border-color: var(--color-link);
}

::placeholder {
	color: inherit;
	opacity: 0.3;
}

button {
	box-shadow: none;
	padding: 0;
	background: transparent;
	outline: none;
	cursor: pointer;
	font-size: inherit;
	color: inherit;
	font-family: inherit;
}

.icon_mask {
    width: 1em;
    aspect-ratio: 1/1;
    display: block;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: currentColor;
    flex-shrink: 0;
}

.icon_mask--copy {
    -webkit-mask-image: url(/wp-content/uploads/decor/copy.svg);
    mask-image: url(/wp-content/uploads/decor/copy.svg);
}

.icon_mask--close {
    -webkit-mask-image: url(/wp-content/uploads/decor/close.svg);
    mask-image: url(/wp-content/uploads/decor/close.svg);
}

.close_btn {
    cursor: pointer;
    position: absolute;
    z-index: 1;
    right: 0.5em;
    top: 0.5em;
    width: 0.9em;
}

.close_btn:not(:hover) {
    opacity: 0.4;
}


@media (min-width: 768px) {
	html {
		font-size: calc(1rem + (100vw - 768px) * 0.01);
	}
}

@media (max-width: 575px) {
	h1, .fs_h1 {
		font-size: 2rem;
	}
}

/* decor */
.ta_center {
	text-align: center;
}

.ta_right {
	text-align: right;
}

.pad_lr {
	padding-left: 1em;
	padding-right: 1em;
}

.pad_tb {
	padding-top: 1em;
	padding-bottom: 1em;	
}

.mt_05 {
	margin-top: 0.5em;
}

.mt_1 {
	margin-top: 1em;
}

.mt_2 {
	margin-top: 2em;
}

.box {
	border-radius: var(--radius);
	padding: 1em;
}

.box--white {
	background-color: #fff;
}

.fs_caption {
	font-size: var(--font-size-caption);
}

.clr_caption {
	color: var(--color-caption);
}

.fw_bold {
	font-weight: bold;
}

.fw_normal {
	font-weight: normal;
}

.bb_dashed {
	border-bottom: 0.1em dashed;
}

.br {
	border-radius: var(--radius);
}

.br_inp {
	border-radius: var(--radius-inp);
}

.bg_gray {
	background: var(--color-bg);
}

.dis_flex {
	display: flex;
}

.dis_grid {
	display: grid;
}

.gap_05 {
	gap: 0.5em;
}

.gap_1 {
	gap: 1em;
}


.no_underline {
    text-decoration: none !important;
}

.decor_divider {
    position: relative;
    padding: 3em 0;
}

.decor_divider::after {
    content: '';
    position: absolute;
    top: calc(50 - 2px);
    left: 50%;
    transform: translateX(-50%);
    height: 4px;
    width: 2em;    
    background-color: var(--color-biege);
}

.fit_cover {
    object-fit: cover;
    width: 100%;
}

.fs_inherit {
    font-size: inherit;
}

/* декор #2 */
.pos_rel {
    position: relative;
}

.pos_abs {
    position: absolute;
}

.pos_sticky {
    position: sticky;
}

.z_1 {
    z-index: 1;
}

.ta_center {
    text-align: center;
}

.ta_right {
    text-align: right;
}

.ai_center {
    align-items: center;
}

.ai_start {
    align-items: flex-start;
    align-items: start;
}

.ai_end {
    align-items: flex-end;
    align-items: end;
}

.ai_stretch {
    align-items: stretch;
}

.ai_baseline {
    align-items: baseline;
}

.jc_center {
    justify-content: center;
}

.jc_start {
	justify-content: start;
}

.jc_end {
    justify-content: flex-end;
    justify-content: end;
}

.jc_sb {
    justify-content: space-between;
}

.jc_sa {
    justify-content: space-around;
}

.jc_stretch {
    justify-content: stretch;
}

.fw_bold {
    font-weight: 700;
}

.fw_600 {
    font-weight: 600;
}

.fw_500 {
    font-weight: 500;
}

.fw_normal {
    font-weight: normal;
}

:is(h1, h2, .fs_h1, .fs_h2).fw_bold {
    font-weight: 800;
}

.tt_upper {
    text-transform: uppercase;
}

.td_none {
    text-decoration: none;
}

.td_u {
    text-decoration: underline;
}

.clr_white {
    color: #fff;
}

.clr_gray {
    color: var(--color-txt-gray);
}

.clr_accent {
    color: var(--color-accent);
}

.clr_inherit {
    color: inherit;
}

.clr_red {
    color: var(--color-red);
}

.clr_onhover_accent:hover {
	color: var(--color-accent);
}

.pad, .pad_box {
    padding: var(--padding-box);
}

.pad_05 {
    padding: 0.5em 1em;
}

.pad_1_5 {
    padding: 1.5em;
}

.pad_1 {
    padding: 1em;
}

.pt_1 {
    padding-top: 1em;
}

.pb_1 {
    padding-bottom: 1em;
}

.pt_2 {
    padding-top: 2em;
}

.pb_2 {
    padding-bottom: 2em;
}

.pt_space_05 {
    padding-top: var(--space-05);
}

.pb_space_05 {
    padding-bottom: var(--space-05);
}

.pt_space {
    padding-top: var(--space);
}

.pb_space {
    padding-bottom: var(--space);
}

.mt_05 {
    margin-top: 0.5em;
}

.mt_1 {
    margin-top: 1em;
}

.mt_2 {
    margin-top: 2em;
}

.mt_3 {
    margin-top: 3em;
}

.mt_space {
    margin-top: var(--space);
}

.mb_0 {
    margin-bottom: 0;
}

.mb_0_important {
	margin-bottom: 0 !important;
}

.mb_1 {
    margin-bottom: 1em;
}

.mb_space {
    margin-bottom: var(--space);
}

.ml_auto {
	margin-left: auto;
}

.mr_auto {
	margin-right: auto;
}

.mt_auto {
    margin-top: auto;
}

.mb_auto {
    margin-bottom: auto;
}

.br {
    border-radius: var(--radius);
}

.br_05 {
    border-radius: calc(var(--radius) / 2);
}

.br_2 {
	border-radius: 2em;
}

.br_inp {
    border-radius: var(--radius-inp);
}

.br_oval {
    border-radius: 2em;
}

.br_50 {
    border-radius: 50%;
    aspect-ratio: 1;
}

.brd {
    border: 1px solid var(--color-border);
}

.of_hid {
    overflow: hidden;
}

.dis_none {
    display: none;
}

.dis_block {
    display: block;
}

.dis_iblock {
    display: inline-block;
}

.dis_flex {
    display: flex;
}

.dis_iflex {
    display: inline-flex;
}

.dis_grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.dis_grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dis_grid--1_2 {
    grid-template-columns: minmax(20em, 1fr) minmax(0, 2fr);
}

.dis_grid--2_1 {
    grid-template-columns: minmax(0, 2fr) minmax(20em, 1fr);
}

.dis_grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gap_05 {
    gap: 0.5em;
}

.gap_1 {
    gap: 1em;
}

.gap_2 {
    gap: 2em;
}

.gap_3 {
    gap: 3em;
}

.gap_c05 {
    column-gap: 0.5em;
}

.gap_c1 {
    column-gap: 1em;
}

.gap_c2 {
    column-gap: 2em;
}

.gap_c3 {
    column-gap: 3em;
}

.gap_r05 {
    row-gap: 0.5em;
}

.gap_r1 {
    row-gap: 1em;
}

.gap_r2 {
    row-gap: 2em;
}

.gap_r3 {
    row-gap: 3em;
}

.shrink_no {
    flex-shrink: 0;
}

.fw_wrap, .flex_wrap {
    flex-wrap: wrap;
}

.fl_grow, .flex_grow {
	flex-grow: 10;
}

.flex_basis {
    flex-basis: 100%;
}

.flex_col {
    flex-direction: column;
}

.bg_gray {
    background: var(--color-bg-gray);
}

.bg_dark {
    background: var(--color-txt);
}

.bg_gradient {
    position: relative;
    overflow: hidden;
}

.decor__bg_gradient::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(24, 24, 24, 0) 0%, rgba(0, 0, 0, 0.62) 62.81%, #000000 100%);
}

.bg_gradient>* {
    position: relative;
    z-index: 1;
}

.bg_img {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.bg_accent {
    background-color: var(--color-accent-light);
}

a.bg_img:hover {
    opacity: 0.95;
}

.decor__bg_full {
    position: relative;
}

.site-main section.decor__bg_full:last-child {
    margin-bottom: 0;
}

.bg_overlay {
    position: absolute;
    bottom: 0;
    top: 0;
    left: -20px;
    right: -20px;
    z-index: -1;
}

.box_shadow, .shad {
	box-shadow: var(--shadow);
}

.box_shadow:hover {
    box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.2);
}

.shd_on_hover:hover {
    box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.2);
}

.obj_fit {
    object-fit: cover;
    width: 100%;
}

.w_max {
    width: max-content;
}

.w_100 {
    width: 100%;
}

.h_100 {
    height: 100%;
}

.lh_h {
    line-height: 1.2;
}

.lh_1 {
    line-height: 1;
}

.fam_h {
	font-family: var(--family-h);
}

.cursor_pointer {
    cursor: pointer;
}

.ul_clean {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ul_clean li {
    margin: 0;
}


@media (min-width: 768px) {
	.pad_lr--full {
		padding-left: 2em;
		padding-right: 2em;
	}
}


@media (max-width: 425px) {
	section.box {
		margin-left: -1em;
		margin-right: -1em;
	}
}