/* Theme Name: Atom */

*,
:after,
:before {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

:root {
	--icon: url(assets/images/icons/sprite.png);
	--icon2x: url(assets/images/icons/sprite@2x.png);
	
	--white-color: #fff;
	--black-color: #000;
	
	--primary-color-accent: #d0021b;
	--primary-color-hover: #bb0217;
	
	--blue-color-accent: #0676ed;
	--blue-color-ghost: #dcedfe;
	
	--orange-color-accent: #fa8f38;
	--orange-color-ghost: #feebdc;
	
	--red-color-accent: #fa3838;
	--red-color-ghost: #fedcdc;
	
	--green-color-accent: #24AC5C;
	--green-color-ghost: #e2f9eb;
	
	/* Gray Color: */
	
	--gray-color-120: #262626;
	--gray-color-115: #333333;
    --gray-color-110: #404040;
	--gray-color-105: #4d4d4d;
    --gray-color-100: #595959;
	--gray-color-95: #666666;
	--gray-color-90: #737373;
	--gray-color-85: #808080;
	--gray-color-80: #8c8c8c;
	--gray-color-75: #999999;
	--gray-color-70: #a6a6a6;
	--gray-color-65: #b3b3b3;
    --gray-color-60: #bfbfbf;
	--gray-color-55: #cccccc;
	--gray-color-50: #d9d9d9;
	--gray-color-45: #e6e6e6;
    --gray-color-40: #ededed;
	--gray-color-35: #f2f2f2;
    --gray-color-30: #f5f5f5;
	--gray-color-25: #f7f7f7;
    --gray-color-20: #fafafa;
	
	/* Transparent Color: */
	
	--transparent-color-20: rgb(0 0 0 / 20%);
	--transparent-color-15: rgb(0 0 0 / 15%);
	--transparent-color-10: rgb(0 0 0 / 10%);
	--transparent-color-5: rgb(0 0 0 / 5%);
	--transparent-color-3: rgb(0 0 0 / 3%);

	--heading-color: #000;
	--text-color: #222;
	--link-color: #3591fd;
	--link-color-visited: #b40eb4;
	--link-color-hover: #C00;
	--radius: 8px;

	--alcohol-stage-duration: 420ms;
	--alcohol-stage-easing: cubic-bezier(.22, 1, .36, 1);
	--alcohol-hero-backdrop: #0676ed;
	--alcohol-stage-intro-bg: var(--blue-color-ghost);
	--alcohol-stage-form-bg: var(--white-color);
	--alcohol-stage-result-bg: var(--gray-color-20);
	--alcohol-stage-border: var(--gray-color-45);
}

body,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
input,
textarea,
p {
    margin: 0;
    padding: 0;
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

fieldset,
img {
    border: 0;
}

img {
    vertical-align: middle;
}

ol,
ul {
    list-style: none;
}

@font-face {
    font-family: 'Noto Sans';
    src: local('Noto Sans'), 
		 local('NotoSans'), 
		 url('assets/fonts/400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: local('Noto Sans SemiBold'), 
		 local('NotoSans-SemiBold'), 
		 url('assets/fonts/500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: local('Noto Sans SemiBold'), 
		 local('NotoSans-SemiBold'), 
		 url('assets/fonts/600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: local('Noto Sans Bold'), 
		 local('NotoSans-Bold'), 
		 url('assets/fonts/700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
	font-display: swap;
}

body {
	position: relative;
	background-color: var(--white-color);
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	font-family: 'Noto Sans', sans-serif;
	color: var(--text-color);
	font-weight: 400;
	line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--heading-color);
    font-size: 100%;
	line-height: 1.5;
	font-weight: 700;
	margin-bottom: 35px;
}

h1 {
	line-height: 1.3;
}

p {
    margin-bottom: 35px;
}

strong {
    font-weight: 600;
}

a {
    color: var(--link-color);
	text-decoration: none;
}

a:visited {
	color: var(--link-color-visited);
}

a:hover {
    color: var(--link-color-hover);
}

.button {
    background-color: var(--primary-color-accent);
    display: table;
	cursor: pointer;
	font-family: inherit;
    color: #fff;
    font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
    border: 1px solid var(--primary-color-accent);
	border-radius: var(--radius);
	user-select: none;
    transition: all .5s;
	padding: 10px 12px;
}

.button:hover {
	background-color: var(--primary-color-hover);
	color: #fff;
	border-color: var(--primary-color-hover);
}

.button.neutral {
    background-color: var(--gray-color-45);
	color: var(--black-color);
	border-color: var(--gray-color-45);
}

.button.neutral:hover {
    background-color: var(--gray-color-60);
	color: var(--black-color);
	border-color: var(--gray-color-60);
}

.row {
	position: relative;
    font-size: 0;
}

.main {
	flex: 1 0 auto;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	white-space: nowrap;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
	padding: 0;
	margin: -1px;
}

.ellipsis {
	max-width: 100%;
	display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


/* Scrollbar */

.scrollable {
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
}

.scrollable::-webkit-scrollbar {
	width: 0;
	height: 0;
}

.scrollable.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.scrollbar {
    position: relative;
    background-color: #262626;
	height: 2px;
	border-radius: 2px;
}

.scrollbar .scrollbar-thumb {
    position: absolute;
	background-color: #8c8c8c;
    height: 100%;
    border-radius: 2px;
}


/* ОСНОВНОЙ КОНТЕНТ */

.main {
	padding-bottom: 80px;
}

.content {
	flex: 1 0 auto;
}


/* ШАПКА */

.header {
	z-index: 100;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 15px;
	padding-bottom: 15px;
}

.header .logotype {
	display: block;
	color: #000;
	font-size: 20px;
	font-weight: 700;
	white-space: nowrap;
	outline: none;
}

.header .logotype:before {
	content: "";
	background-image: url(assets/images/logo.png);
    background-repeat: no-repeat;
	background-position: center;
	background-size: 38px;
	width: 38px;
	height: 38px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}

.header .menu li a {
	color: #000;
	line-height: 1.4;
}

.header .search {
	position: absolute;
	top: 50%;
	width: calc(100% - 84px);
	display: none;
	margin-top: -22px;
}

.header .search.show {
	z-index: 10002;
	display: block;
}

.header .search input {
    background-color: var(--gray-color-45);
    width: 100%;
	height: 44px;
	display: block;
	font-family: inherit;
	font-size: 17px;
	line-height: 44px;
    border: none;
	outline: none;
	border-radius: var(--radius);
	padding-left: 15px;
	padding-right: 52px;
}

.header .search-toggle { 
	position: relative;
	background-color: transparent;
	width: 44px;
	height: 44px;
	cursor: pointer;
	border: none;
	border-radius: var(--radius);
	margin-left: auto;
}

.header .search-toggle.close { 
	z-index: 10003;
}

.header .search-toggle:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: 0 0;
	width: 20px;
	height: 20px;
	display: block;
	margin-top: -10px;
	margin-left: -10px;
}

.header .search-toggle.close:after {
	background-position: -40px 0;
}


/* ГЛАВНАЯ: АЛКОГОЛЬНЫЙ КАЛЬКУЛЯТОР */

.skip-link:focus {
	z-index: 10010;
	position: fixed;
	top: 10px;
	left: 10px;
	background-color: var(--white-color);
	width: auto;
	height: auto;
	overflow: visible;
	clip: auto;
	clip-path: none;
	color: var(--black-color);
	font-size: 16px;
	border: 2px solid var(--blue-color-accent);
	border-radius: var(--radius);
	padding: 8px 12px;
	margin: 0;
}

.alcohol-page {
	background-color: var(--white-color);
}

.alcohol-hero {
	position: relative;
	padding-top: 40px;
}

.alcohol-hero:before {
	content: "";
	z-index: 0;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	background-color: var(--alcohol-hero-backdrop);
	height: 460px;
}

.alcohol-hero .container {
	z-index: 1;
	position: relative;
}

.alcohol-calculator {
	background-color: var(--alcohol-stage-form-bg);
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 18px 55px var(--transparent-color-5);
	margin-bottom: 0;
}

.alcohol-stage-viewport {
	overflow: hidden;
	border-radius: inherit;
}

.alcohol-stage-layout {
	width: 100%;
}

.alcohol-calculator.is-transitioning .alcohol-form,
.alcohol-calculator.is-transitioning .alcohol-results {
	will-change: transform, opacity;
}

.alcohol-stage-panel {
	min-width: 0;
}

.alcohol-hero-header {
	background-color: var(--alcohol-stage-intro-bg);
	text-align: left;
	padding: 68px 34px 34px;
}

.alcohol-hero-copy {
	z-index: 2;
	position: relative;
}

.alcohol-hero-visual {
	position: relative;
	overflow: hidden;
	width: auto;
	aspect-ratio: 4 / 3;
	display: block;
	pointer-events: none;
	margin: 24px -34px -34px;
}

.alcohol-hero-visual img {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: right bottom;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 36%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 36%);
}

.alcohol-hero-header h1 {
	margin-bottom: 22px;
}

.alcohol-lead {
	max-width: 720px;
	color: var(--gray-color-105);
	line-height: 1.55;
	margin-bottom: 28px;
}

.alcohol-principles {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	color: var(--gray-color-95);
	font-size: inherit;
	gap: 10px 24px;
}

.alcohol-principles li {
	position: relative;
	padding-left: 18px;
}

.alcohol-principles li:before {
	content: "";
	position: absolute;
	top: .6em;
	left: 0;
	background-color: var(--green-color-accent);
	width: 7px;
	height: 7px;
	border-radius: 50%;
}

.alcohol-safety {
	display: block;
	color: var(--gray-color-85);
	font-size: 12px;
	line-height: 1.5;
	margin: 12px 0 90px;
}

.alcohol-form {
	background-color: var(--alcohol-stage-form-bg);
	border-top: 1px solid var(--alcohol-stage-border);
	padding: 34px;
}

.alcohol-form-header {
	max-width: 760px;
	margin-bottom: 32px;
}

.alcohol-form-header h2,
.alcohol-results-header h2 {
	margin-bottom: 8px;
}

.alcohol-form-header p,
.alcohol-results-header p {
	color: var(--gray-color-95);
	font-size: 15px;
	margin-bottom: 0;
}

.alcohol-error-summary {
	background-color: var(--red-color-ghost);
	color: var(--gray-color-115);
	font-size: 15px;
	border: 2px solid var(--red-color-accent);
	border-radius: var(--radius);
	outline: none;
	padding: 16px 18px;
	margin-bottom: 26px;
}

.alcohol-error-summary strong {
	display: block;
	margin-bottom: 6px;
}

.alcohol-error-summary ul {
	list-style: disc;
	padding-left: 22px;
}

.alcohol-error-summary a,
.alcohol-error-summary a:visited {
	color: var(--gray-color-115);
	text-decoration: underline;
}

.alcohol-step {
	min-width: 0;
	border-bottom: 1px solid var(--gray-color-45);
	padding-bottom: 34px;
	margin-bottom: 34px;
}

.alcohol-step legend {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	color: var(--black-color);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	margin-bottom: 22px;
}

.alcohol-sex {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	border: 1px solid var(--gray-color-50);
	border-radius: var(--radius);
	padding: 5px;
	margin-bottom: 24px;
}

.alcohol-sex label {
	position: relative;
	cursor: pointer;
}

.alcohol-sex input {
	position: absolute;
	opacity: 0;
}

.alcohol-sex span {
	display: block;
	cursor: pointer;
	color: var(--gray-color-105);
	font-size: 15px;
	font-weight: 600;
	border-radius: 6px;
	padding: 10px 18px;
}

.alcohol-sex input:checked + span {
	background-color: var(--blue-color-ghost);
	color: #045fbe;
}

.alcohol-sex input:focus-visible + span {
	outline: 3px solid rgb(6 118 237 / 25%);
	outline-offset: 2px;
}

.alcohol-fields {
	display: grid;
	gap: 18px;
}

.alcohol-field {
	min-width: 0;
}

.alcohol-field input,
.alcohol-field select {
	background-color: var(--white-color);
	width: 100%;
	height: 50px;
	display: block;
	font-family: inherit;
	color: var(--gray-color-115);
	font-size: 16px;
	border: 1px solid var(--gray-color-55);
	border-radius: var(--radius);
	outline: none;
	transition: border-color .2s, box-shadow .2s;
	padding: 0 12px;
}

.alcohol-control {
	position: relative;
	background-color: var(--white-color);
	width: 100%;
	height: 80px;
	border: 1px solid var(--gray-color-55);
	border-radius: var(--radius);
	transition: border-color .2s, box-shadow .2s;
	padding: 11px 16px 10px;
}

.alcohol-control:hover {
	border-color: var(--gray-color-75);
}

.alcohol-control:focus-within {
	border-color: var(--blue-color-accent);
	box-shadow: 0 0 0 3px rgb(6 118 237 / 16%);
}

.alcohol-control:has(input[aria-invalid="true"]),
.alcohol-control:has(select[aria-invalid="true"]) {
	border-color: var(--red-color-accent);
	box-shadow: 0 0 0 3px rgb(250 56 56 / 14%);
}

.alcohol-control label {
	display: block;
	color: var(--gray-color-105);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
	margin-bottom: 1px;
}

.alcohol-control > input:not([type="range"]),
.alcohol-control > select {
	background-color: transparent;
	width: 100%;
	height: 38px;
	display: block;
	font-family: inherit;
	color: var(--gray-color-115);
	font-size: 16px;
	line-height: 1.2;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	padding: 0;
}

.alcohol-control > select {
	cursor: pointer;
	padding-right: 4px;
}

.alcohol-control-select label {
	padding-left: 4px;
}

.alcohol-control-range {
	padding-bottom: 17px;
	margin-bottom: 18px;
}

.alcohol-number-entry {
	width: 100%;
}

.alcohol-control .alcohol-number-entry input[type="number"] {
	background-color: transparent;
	height: 31px;
	color: var(--black-color);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
	font-variant-numeric: tabular-nums;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	-moz-appearance: textfield;
	padding: 0;
}

.alcohol-number-entry input[type="number"]::-webkit-inner-spin-button,
.alcohol-number-entry input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.alcohol-control .alcohol-number-entry input[type="number"]:hover,
.alcohol-control .alcohol-number-entry input[type="number"]:focus,
.alcohol-control .alcohol-number-entry input[type="number"][aria-invalid="true"],
.alcohol-control > input:not([type="range"]):hover,
.alcohol-control > input:not([type="range"]):focus,
.alcohol-control > input:not([type="range"])[aria-invalid="true"],
.alcohol-control > select:hover,
.alcohol-control > select:focus,
.alcohol-control > select[aria-invalid="true"] {
	border: 0;
	box-shadow: none;
}

.alcohol-control-range > .alcohol-range {
	--range-progress: 0%;
	position: absolute;
	left: 12px;
	bottom: -22px;
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	width: calc(100% - 24px);
	height: 44px;
	display: block;
	cursor: pointer;
	border: 0;
	border-radius: 6px;
	box-shadow: none;
	outline: none;
	padding: 0;
	margin: 0;
}

.alcohol-control-range > .alcohol-range:hover,
.alcohol-control-range > .alcohol-range:focus,
.alcohol-control-range > .alcohol-range:focus-visible {
	border: 0;
	box-shadow: none;
	outline: none;
}

.alcohol-range::-webkit-slider-runnable-track {
	background: linear-gradient(to right, var(--blue-color-accent) 0, var(--blue-color-accent) var(--range-progress), var(--gray-color-55) var(--range-progress), var(--gray-color-55) 100%);
	height: 4px;
	border-radius: 2px;
}

.alcohol-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	background-color: var(--white-color);
	width: 24px;
	height: 24px;
	border: 4px solid var(--blue-color-accent);
	border-radius: 50%;
	box-shadow: 0 2px 7px rgb(0 0 0 / 18%);
	margin-top: -10px;
}

.alcohol-range:hover::-webkit-slider-thumb {
	box-shadow: 0 2px 9px rgb(6 118 237 / 28%);
}

.alcohol-range::-moz-range-track {
	background-color: var(--gray-color-55);
	height: 4px;
	border-radius: 2px;
}

.alcohol-range::-moz-range-progress {
	background-color: var(--blue-color-accent);
	height: 4px;
	border-radius: 2px;
}

.alcohol-range::-moz-range-thumb {
	background-color: var(--white-color);
	width: 18px;
	height: 18px;
	border: 4px solid var(--blue-color-accent);
	border-radius: 50%;
	box-shadow: 0 2px 7px rgb(0 0 0 / 18%);
}

.alcohol-range-limits {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	color: var(--gray-color-85);
	font-size: 12px;
	line-height: 1.3;
	margin-top: 0;
}

.alcohol-field input:hover,
.alcohol-field select:hover {
	border-color: var(--gray-color-75);
}

.alcohol-field input:focus,
.alcohol-field select:focus {
	border-color: var(--blue-color-accent);
	box-shadow: 0 0 0 3px rgb(6 118 237 / 16%);
}

.alcohol-field input[aria-invalid="true"],
.alcohol-field select[aria-invalid="true"] {
	border-color: var(--red-color-accent);
	box-shadow: 0 0 0 3px rgb(250 56 56 / 14%);
}

.alcohol-field small {
	display: block;
	color: var(--gray-color-90);
	font-size: 12px;
	line-height: 1.4;
	margin-top: 6px;
}

.alcohol-step-help {
	color: var(--gray-color-95);
	font-size: 14px;
	margin-top: -10px;
	margin-bottom: 20px;
}

.alcohol-presets {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.alcohol-presets button {
	background-color: var(--white-color);
	min-width: 74px;
	height: 40px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	font-family: inherit;
	color: var(--gray-color-105);
	font-size: 14px;
	font-weight: 600;
	border: 1px solid var(--gray-color-55);
	border-radius: var(--radius);
	transition: background-color .2s, border-color .2s, color .2s;
	padding: 0 14px;
}

.alcohol-presets button:hover {
	border-color: var(--blue-color-accent);
}

.alcohol-presets button[aria-pressed="true"] {
	background-color: var(--blue-color-ghost);
	color: #045fbe;
	border-color: var(--blue-color-accent);
}

.alcohol-presets button:focus-visible {
	outline: 3px solid rgb(6 118 237 / 25%);
	outline-offset: 2px;
}

.alcohol-drink {
	background-color: var(--gray-color-25);
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 14px;
}

.alcohol-drink header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}

.alcohol-drink h3 {
	font-size: 16px;
	margin-bottom: 0;
}

.alcohol-field-type {
	grid-column: 1 / -1;
}

.alcohol-session-time {
	margin-top: 26px;
}

.alcohol-person-fields .alcohol-session-time {
	margin-top: 0;
}

.alcohol-remove-drink,
.alcohol-add-drink,
.alcohol-edit {
	background-color: transparent;
	cursor: pointer;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	border: 0;
	border-radius: 4px;
}

.alcohol-remove-drink {
	color: var(--red-color-accent);
	padding: 5px;
}

.alcohol-add-drink,
.alcohol-edit {
	color: var(--blue-color-accent);
	border-bottom: 1px solid rgb(6 118 237 / 35%);
	padding: 2px 0;
}

.alcohol-add-drink:hover,
.alcohol-edit:hover {
	color: #045fbe;
	border-color: #045fbe;
}

.alcohol-add-drink:focus-visible,
.alcohol-edit:focus-visible,
.alcohol-remove-drink:focus-visible {
	outline: 3px solid rgb(6 118 237 / 25%);
	outline-offset: 3px;
}

.alcohol-add-drink:disabled {
	cursor: default;
	color: var(--gray-color-85);
	border-color: transparent;
}

.alcohol-submit-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
}

.alcohol-submit {
	position: relative;
	background-color: var(--blue-color-accent);
	min-width: 190px;
	height: 54px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	font-family: inherit;
	color: var(--white-color);
	font-size: 16px;
	font-weight: 700;
	border: 1px solid var(--blue-color-accent);
	border-radius: var(--radius);
	transition: background-color .2s, border-color .2s;
	padding: 0 26px;
}

.alcohol-submit:hover {
	background-color: #045fbe;
	border-color: #045fbe;
}

.alcohol-submit:focus-visible {
	outline: 3px solid rgb(6 118 237 / 25%);
	outline-offset: 3px;
}

.alcohol-submit:disabled {
	cursor: wait;
	opacity: .8;
}

.alcohol-results {
	background-color: var(--alcohol-stage-result-bg);
	border-top: 1px solid var(--alcohol-stage-border);
	border-radius: 0 0 16px 16px;
	scroll-margin-top: 20px;
	padding: 34px;
}

.alcohol-results:focus-visible {
	outline: 3px solid rgb(6 118 237 / 25%);
	outline-offset: 4px;
}

.alcohol-results-header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 28px;
}

.alcohol-result-primary {
	background-color: var(--white-color);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: stretch;
	border: 1px solid var(--gray-color-45);
	border-radius: 12px;
	margin-bottom: 18px;
}

.alcohol-current-value {
	min-width: 310px;
	border-right: 1px solid var(--gray-color-45);
	padding: 26px;
}

.alcohol-result-label,
.alcohol-result-facts > div > span,
.alcohol-timeline span {
	display: block;
	color: var(--gray-color-95);
	font-size: 13px;
	line-height: 1.4;
	margin-bottom: 7px;
}

.alcohol-current-value > strong {
	display: block;
	color: var(--black-color);
	font-size: 52px;
	letter-spacing: -.04em;
	line-height: 1;
	white-space: nowrap;
	margin-bottom: 12px;
}

.alcohol-current-value > strong small {
	font-size: 25px;
	letter-spacing: 0;
	margin-left: 5px;
}

.alcohol-current-value > span:last-child {
	display: block;
	color: var(--gray-color-90);
	font-size: 13px;
}

.alcohol-result-facts {
	display: grid;
	flex: 1 1 auto;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.alcohol-result-facts > div {
	border-right: 1px solid var(--gray-color-45);
	padding: 26px 20px;
}

.alcohol-result-facts > div:last-child {
	border-right: 0;
}

.alcohol-result-facts strong {
	display: block;
	color: var(--gray-color-115);
	font-size: 18px;
	line-height: 1.35;
	white-space: nowrap;
}

.alcohol-result-warning {
	background-color: var(--red-color-ghost);
	color: var(--gray-color-115);
	border-radius: var(--radius);
	padding: 17px 20px;
	margin-bottom: 28px;
}

.alcohol-result-warning strong {
	display: block;
	color: var(--black-color);
	font-size: 16px;
	margin-bottom: 5px;
}

.alcohol-result-warning p {
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 0;
}

.alcohol-timeline {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--gray-color-45);
	border-radius: 12px;
	margin-bottom: 18px;
}

.alcohol-timeline > div {
	border-right: 1px solid var(--gray-color-45);
	padding: 18px 20px;
}

.alcohol-timeline > div:last-child {
	border-right: 0;
}

.alcohol-timeline strong {
	display: block;
	color: var(--gray-color-115);
	font-size: 15px;
	line-height: 1.4;
}

.alcohol-details {
	background-color: var(--white-color);
	border: 1px solid var(--gray-color-45);
	border-radius: var(--radius);
}

.alcohol-details summary {
	cursor: pointer;
	color: var(--gray-color-115);
	font-size: 14px;
	font-weight: 600;
	padding: 14px 18px;
}

.alcohol-details .scrollable {
	padding: 0 18px 18px;
}

.alcohol-details table {
	width: 100%;
	min-width: 600px;
	font-size: 13px;
	text-align: left;
}

.alcohol-details th,
.alcohol-details td {
	border-bottom: 1px solid var(--gray-color-45);
	padding: 10px;
}

.alcohol-details thead th {
	color: var(--gray-color-95);
	font-weight: 600;
}

.alcohol-explanation,
.alcohol-method {
	margin-bottom: 90px;
}

.alcohol-explanation > h2,
.alcohol-method h2 {
	max-width: 850px;
}

.alcohol-copy {
	max-width: 980px;
}

.alcohol-copy p {
	margin-bottom: 22px;
}

.alcohol-info-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 34px;
}

.alcohol-info-grid article {
	background-color: var(--gray-color-25);
	border-radius: 12px;
	padding: 24px;
}

.alcohol-info-icon {
	width: 100px;
	height: 100px;
	display: block;
	object-fit: contain;
	margin-bottom: 14px;
}

.alcohol-info-grid h3 {
	font-size: 23px;
	margin-bottom: 10px;
}

.alcohol-info-grid p {
	color: var(--gray-color-105);
	font-size: 16px;
	line-height: 1.55;
	margin-bottom: 0;
}

.alcohol-method {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
	gap: 24px;
}

.alcohol-method-main p {
	margin-bottom: 22px;
}

.alcohol-law-note {
	background-color: var(--blue-color-ghost);
	align-self: start;
	border-radius: 12px;
	padding: 24px;
}

.alcohol-law-note h3 {
	font-size: 19px;
	margin-bottom: 10px;
}

.alcohol-law-note p {
	font-size: 15px;
	line-height: 1.55;
	margin-bottom: 0;
}

/* КАЛЬКУЛЯТОРЫ САМОГОНЩИКА */

.moonshine-result-note {
	background-color: var(--blue-color-ghost);
}

.moonshine-suite-workspace {
	background-color: var(--alcohol-stage-form-bg);
	min-width: 0;
	border-top: 1px solid var(--alcohol-stage-border);
	padding: 34px;
}

.moonshine-tool-tabs {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	overflow-x: auto;
	gap: 8px;
	padding-bottom: 4px;
	margin-bottom: 28px;
}

.moonshine-tool-tabs button {
	background-color: var(--white-color);
	min-width: max-content;
	height: 42px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	font-family: inherit;
	color: var(--gray-color-105);
	font-size: 14px;
	font-weight: 600;
	border: 1px solid var(--gray-color-55);
	border-radius: var(--radius);
	padding: 0 14px;
}

.moonshine-tool-tabs button:hover {
	border-color: var(--blue-color-accent);
}

.moonshine-tool-tabs button[aria-selected="true"] {
	background-color: var(--blue-color-ghost);
	color: #045fbe;
	border-color: var(--blue-color-accent);
}

.moonshine-tool-tabs button:focus-visible {
	outline: 3px solid rgb(6 118 237 / 25%);
	outline-offset: 2px;
}

.moonshine-tool-panel[hidden] {
	display: none;
}

.moonshine-inline-calculator .alcohol-form,
.moonshine-inline-calculator .alcohol-results {
	background-color: transparent;
	border: 0;
	padding: 0;
}

.moonshine-inline-calculator .alcohol-results {
	border-top: 1px solid var(--alcohol-stage-border);
	border-radius: 0;
	padding-top: 32px;
	margin-top: 32px;
}

.moonshine-inline-calculator .alcohol-form-header {
	margin-bottom: 28px;
}

.moonshine-inline-calculator .alcohol-step {
	padding-bottom: 30px;
	margin-bottom: 30px;
}

/* КОНВЕРТЕР ПРОМИЛЛЕ И МГ/Л */

.unit-converter-form .alcohol-step {
	padding-bottom: 28px;
	margin-bottom: 28px;
}

.unit-converter-coefficient {
	margin-bottom: 24px;
}

.unit-converter-result {
	background-color: var(--blue-color-ghost);
	border: 1px solid var(--alcohol-stage-border);
	border-radius: 12px;
	padding: 22px;
	margin-bottom: 18px;
}

.unit-converter-result-heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 20px;
}

.unit-converter-result-heading h3 {
	font-size: 23px;
	margin-bottom: 0;
}

.unit-converter-result-values {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}

.unit-converter-result-values > div {
	background-color: var(--white-color);
	border-radius: var(--radius);
	padding: 16px;
}

.unit-converter-result-values span {
	display: block;
	color: var(--gray-color-95);
	font-size: 13px;
	margin-bottom: 5px;
}

.unit-converter-result-values strong {
	display: block;
	color: var(--black-color);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}

.unit-converter-result-values strong span {
	display: inline;
	color: inherit;
	font-size: inherit;
	margin-bottom: 0;
}

.unit-converter-range,
.unit-converter-note {
	color: var(--gray-color-95);
	font-size: 13px;
	line-height: 1.5;
	margin-bottom: 0;
}

.unit-converter-note {
	border-left: 3px solid var(--red-color-accent);
	padding-left: 15px;
}

/* КАЛЬКУЛЯТОР КРЕПОСТИ КОКТЕЙЛЯ */

.cocktail-hero .alcohol-hero-visual img {
	object-fit: cover;
	object-position: center bottom;
}

.cocktail-composition-step {
	padding-bottom: 28px;
	margin-bottom: 28px;
}

.cocktail-ingredient-fields,
.cocktail-elimination-fields {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cocktail-ingredient-name,
.cocktail-elimination-fields .alcohol-field-wide {
	grid-column: 1 / -1;
}

.cocktail-result-primary {
	background-color: var(--white-color);
	border: 1px solid var(--gray-color-45);
	border-radius: 12px;
	margin-bottom: 16px;
}

.cocktail-strength-value {
	border-bottom: 1px solid var(--gray-color-45);
	padding: 26px;
}

.cocktail-strength-value > span,
.cocktail-result-facts span,
.cocktail-elimination-result span {
	display: block;
	color: var(--gray-color-95);
	font-size: 13px;
	line-height: 1.4;
	margin-bottom: 7px;
}

.cocktail-strength-value > strong {
	display: block;
	color: var(--black-color);
	font-size: 52px;
	letter-spacing: -.04em;
	line-height: 1;
	white-space: nowrap;
}

.cocktail-strength-value > strong small {
	font-size: 25px;
	letter-spacing: 0;
	margin-left: 5px;
}

.cocktail-result-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cocktail-result-facts > div {
	border-right: 1px solid var(--gray-color-45);
	padding: 18px;
}

.cocktail-result-facts > div:last-child {
	border-right: 0;
}

.cocktail-result-facts strong,
.cocktail-elimination-result strong {
	display: block;
	color: var(--gray-color-115);
	font-size: 17px;
	line-height: 1.35;
	white-space: nowrap;
}

.cocktail-result-note {
	color: var(--gray-color-95);
	font-size: 13px;
	line-height: 1.5;
	margin-bottom: 30px;
}

.cocktail-elimination {
	border-top: 1px solid var(--gray-color-45);
	padding-top: 28px;
}

.cocktail-elimination h3 {
	font-size: 22px;
	margin-bottom: 10px;
}

.cocktail-elimination > p {
	color: var(--gray-color-95);
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 24px;
}

.cocktail-elimination-form .alcohol-sex {
	margin-bottom: 22px;
}

.cocktail-elimination-submit {
	width: 100%;
	margin-top: 24px;
}

.cocktail-elimination-result {
	background-color: var(--blue-color-ghost);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-radius: 12px;
	margin-top: 20px;
}

.cocktail-elimination-result[hidden] {
	display: none;
}

.cocktail-elimination-result > div {
	border-right: 1px solid var(--alcohol-stage-border);
	padding: 18px;
}

.cocktail-elimination-result > div:nth-child(3) {
	border-right: 0;
}

.cocktail-elimination-result > p {
	grid-column: 1 / -1;
	color: var(--gray-color-105);
	font-size: 13px;
	line-height: 1.5;
	border-top: 1px solid var(--alcohol-stage-border);
	padding: 14px 18px;
	margin-bottom: 0;
}

/* ОБРАТНЫЙ АЛКОГОЛЬНЫЙ КАЛЬКУЛЯТОР */

.reverse-alcohol-hero .alcohol-hero-visual img {
	object-fit: cover;
	object-position: center;
}

/* КАЛЬКУЛЯТОР КАЛОРИЙНОСТИ АЛКОГОЛЯ */

.alcohol-calorie-hero .alcohol-hero-visual img {
	object-fit: cover;
	object-position: center;
}

.alcohol-calorie-fields {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.alcohol-calorie-field-type {
	grid-column: 1 / -1;
}

/* КАЛЬКУЛЯТОР АЛКОГОЛЯ НА СВАДЬБУ */

.wedding-alcohol-hero .alcohol-hero-visual img {
	object-fit: cover;
	object-position: center;
}

.wedding-calculator-fields {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wedding-custom-shares {
	background-color: var(--gray-color-25);
	border-radius: var(--radius);
	padding: 18px 18px 4px;
	margin: 18px 0;
}

.wedding-custom-shares[hidden],
.wedding-alcohol-form [data-wedding-field][hidden],
.wedding-result-fact[hidden] {
	display: none;
}

.wedding-custom-shares > p {
	color: var(--gray-color-95);
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 18px;
}

.wedding-share-fields {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.wedding-share-total {
	color: var(--gray-color-105);
	font-size: 14px;
	text-align: right;
	margin-bottom: 14px;
}

.wedding-share-total.is-invalid {
	color: var(--red-color-accent);
}

.wedding-field-wide {
	grid-column: 1 / -1;
}

.wedding-settings {
	margin-top: 18px;
}

.wedding-settings-content {
	padding: 6px 18px 18px;
}

.wedding-result-facts {
	grid-template-columns: repeat(var(--wedding-result-columns, 3), minmax(0, 1fr));
}

.wedding-result-facts > .is-last-visible {
	border-right: 0;
}

.wedding-result-facts strong {
	white-space: normal;
}

.wedding-result-fact small {
	display: block;
	color: var(--gray-color-90);
	font-size: 13px;
	line-height: 1.4;
	margin-top: 6px;
}

/* ТЕСТ РЕАКЦИИ */

.reaction-shell {
	background-color: var(--white-color);
	width: 100%;
	display: grid;
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 18px 55px var(--transparent-color-5);
}

.reaction-intro {
	background-color: var(--alcohol-stage-intro-bg);
	min-width: 0;
	color: var(--gray-color-105);
	padding: 68px 34px 34px;
}

.reaction-intro h1 {
	color: var(--black-color);
	margin-bottom: 22px;
}

.reaction-lead {
	max-width: 720px;
	line-height: 1.55;
	margin-bottom: 28px;
}

.reaction-benefits {
	display: grid;
	color: var(--gray-color-95);
	gap: 12px;
}

.reaction-benefits li {
	position: relative;
	padding-left: 18px;
}

.reaction-benefits li:before {
	content: "";
	position: absolute;
	top: .6em;
	left: 0;
	background-color: var(--green-color-accent);
	width: 7px;
	height: 7px;
	border-radius: 50%;
}

.reaction-panel {
	background-color: var(--white-color);
	min-width: 0;
	border-top: 1px solid var(--alcohol-stage-border);
	padding: 34px;
}

.reaction-panel-header {
	margin-bottom: 24px;
}

.reaction-panel-header h2 {
	margin-bottom: 8px;
}

.reaction-panel-header p {
	color: var(--gray-color-95);
	font-size: 15px;
	line-height: 1.55;
}

.reaction-signal {
	background-color: var(--gray-color-30);
	width: 100%;
	min-height: 280px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--black-color);
	font: inherit;
	text-align: center;
	border: 2px solid var(--gray-color-45);
	border-radius: 12px;
	padding: 32px;
	margin-bottom: 18px;
}

.reaction-signal:hover {
	background-color: var(--gray-color-35);
	border-color: var(--gray-color-55);
}

.reaction-signal:focus-visible {
	outline: 3px solid rgb(6 118 237 / 28%);
	outline-offset: 3px;
}

.reaction-signal > span {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
}

.reaction-signal > small {
	color: var(--gray-color-95);
	font-size: 13px;
	line-height: 1.45;
	margin-top: 10px;
}

.reaction-shell[data-state="waiting"] .reaction-signal {
	background-color: var(--blue-color-ghost);
	color: #045fbe;
	border-color: var(--blue-color-accent);
}

.reaction-shell[data-state="ready"] .reaction-signal {
	background-color: var(--green-color-accent);
	color: var(--white-color);
	border-color: var(--green-color-accent);
}

.reaction-shell[data-state="ready"] .reaction-signal > small {
	color: var(--white-color);
}

.reaction-shell[data-state="false-start"] .reaction-signal {
	background-color: var(--red-color-ghost);
	color: var(--gray-color-115);
	border-color: var(--red-color-accent);
}

.reaction-shell[data-state="between"] .reaction-signal {
	background-color: var(--blue-color-accent);
	color: var(--white-color);
	border-color: var(--blue-color-accent);
	box-shadow: 0 14px 32px rgb(6 118 237 / 22%);
}

.reaction-shell[data-state="between"] .reaction-signal:hover {
	background-color: #056bd7;
	border-color: #056bd7;
}

.reaction-shell[data-state="between"] .reaction-signal > small {
	color: rgb(255 255 255 / 82%);
}

.reaction-shell[data-state="complete"] .reaction-signal,
.reaction-shell[data-state="paused"] .reaction-signal {
	background-color: var(--gray-color-35);
	color: var(--gray-color-105);
	border-color: var(--gray-color-50);
}

.reaction-progress {
	display: flex;
	align-items: center;
	color: var(--gray-color-95);
	font-size: 13px;
	gap: 14px;
	margin-bottom: 18px;
}

.reaction-progress span {
	min-width: 104px;
}

.reaction-progress progress {
	background-color: var(--gray-color-45);
	width: 100%;
	height: 8px;
	overflow: hidden;
	appearance: none;
	border: 0;
	border-radius: 999px;
}

.reaction-progress progress::-webkit-progress-bar {
	background-color: var(--gray-color-45);
}

.reaction-progress progress::-webkit-progress-value {
	background-color: var(--blue-color-accent);
}

.reaction-progress progress::-moz-progress-bar {
	background-color: var(--blue-color-accent);
}

.reaction-attempts {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 18px;
}

.reaction-attempts[hidden] {
	display: none;
}

.reaction-attempts li {
	background-color: var(--gray-color-30);
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--gray-color-95);
	font-size: 12px;
	border-radius: 6px;
	padding: 9px 4px;
}

.reaction-attempts strong {
	color: var(--black-color);
	font-size: 14px;
	font-weight: 700;
	margin-top: 2px;
}

.reaction-summary {
	outline: none;
	margin-top: 24px;
}

.reaction-summary[hidden] {
	display: none;
}

.reaction-summary h3 {
	margin-bottom: 14px;
}

.reaction-metrics {
	background-color: var(--alcohol-stage-border);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
	gap: 1px;
	border: 1px solid var(--alcohol-stage-border);
	border-radius: 10px;
	margin-bottom: 14px;
}

.reaction-metrics div {
	background-color: var(--white-color);
	min-width: 0;
	padding: 14px;
}

.reaction-metrics dt {
	color: var(--gray-color-95);
	font-size: 12px;
	margin-bottom: 4px;
}

.reaction-metrics dd {
	color: var(--black-color);
	font-size: 18px;
	font-weight: 700;
	white-space: nowrap;
}

.reaction-summary > p {
	color: var(--gray-color-95);
	font-size: 13px;
	line-height: 1.5;
	margin-bottom: 18px;
}

.reaction-reset {
	width: 100%;
	margin-top: 18px;
}

.reaction-note {
	color: var(--gray-color-85);
	font-size: 12px;
	line-height: 1.5;
	margin-top: 16px;
}



/* ХЛЕБНЫЕ КРОШКИ */

.breadcrumbs {
	font-size: 13px;
	margin-top: 20px;
	margin-bottom: 25px;
}

.breadcrumbs li {
	position: relative;
	display: inline-block;
	color: var(--text-color);
}

.breadcrumbs li:after {
    content: "→";
    display: inline-block;
	color: inherit;
    margin: 0 10px;
}

.breadcrumbs li:last-child:after {
    content: none;
}

.breadcrumbs li a {
	color: inherit;
	border-bottom: 1px solid transparent;
}

.breadcrumbs li a:hover {
	color: var(--black-color);
	border-color: var(--transparent-color-20);
}

.alcohol-hero .breadcrumbs li {
	color: rgb(255 255 255 / 82%);
}

.alcohol-hero .breadcrumbs li a:hover,
.alcohol-hero .breadcrumbs li a:focus-visible {
	color: var(--white-color);
	border-color: rgb(255 255 255 / 55%);
}


/* TITLE */

.title {
	display: block;
    color: #333;
	font-size: 21px;
	font-weight: 600;
	margin-bottom: 20px;
}


/* HERO */

.hero-image {
	margin-bottom: 40px;
}

.hero-image img {
    max-width: 100%;
    height: auto;
	display: block;
	border-radius: var(--radius);
}



/* ARTICLE */

.article {
	position: relative;
	width: 100%;
	margin-bottom: 100px;
}


/* TOC */

.toc {
	text-align: left;
	transition: transform 0.3s;
}

.toc .toc-title {
	background-color: transparent;
	display: block;
	cursor: default;
	font-family: inherit;
	color: #000;
	font-size: inherit;
	font-weight: 400;
	text-align: left;
	border: none;
	padding: 0;
}

.toc .toc-list {
	overflow: scroll;
	overflow-x: hidden;
	overflow-y: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.toc .toc-list::-webkit-scrollbar {
	display: none;
}

.toc .toc-list li {
	display: block;
	line-height: 1.4;
}

.toc .toc-list a {
	display: block;
	color: inherit;
	font-weight: 400;
}

.toc .toc-list .current {
	color: #d0021b;
}

.toc .toc-list .h3 {
	margin-left: 18px;
}


/* Articles */

.articles {
	margin-bottom: 40px;
}

.articles .card {
	vertical-align: top;
	text-align: left;
	transition: all 0.3s ease;
}

.articles .card:hover {
	transform: translateY(-5px);
}

.articles .card .card-inner {
	display: block;
}

.articles .card .card-inner .card-image {
	margin-bottom: 10px;
}

.articles .card .card-inner .card-image img {
	width: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
	border-radius: var(--radius);
}

.articles .card .card-inner .card-image.no-image {
	position: relative;
	background-color: var(--gray-color-45);
	border-radius: var(--radius);
}

.articles .card .card-inner .card-image.no-image:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -100px 0;
	width: 20px;
	height: 20px;
	display: block;
	margin-top: -10px;
	margin-left: -10px;
}

.articles .card .card-inner .card-name {
	display: block;
	color: var(--text-color);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0;
}

.articles .card .card-inner .card-description {
	display: block;
	color: var(--gray-color-100);
	font-size: 17px;
	margin-top: 10px;
}


/* Text */

.text {
	text-align: left;
}

.text h2:not(:first-child) {
    margin-top: 35px;
}

.text > ul,
.text > ol {
    margin-bottom: 35px;
}

.text > ol {
    counter-reset: list;
}

.text > ul li,
.text > ol li {
    position: relative;
    display: block;
    margin: 0 0 15px;
}

.text > ul li:before {
    content: "";
    background-color: #d0021b;
    width: 6px;
    height: 6px;
	display: inline-block;
	vertical-align: middle;
    border-radius: 50%;
    margin-right: 12px;
}

.text > ol li:before {
    content: counter(list) ". ";
	counter-increment: list;
}

.text table {
	max-width: 100%;
	display: inline-block;
	overflow-x: auto;
	margin-bottom: 35px;
}

.text table caption {
	font-size: 14px;
    font-weight: 400;
	text-align: left;
    margin-bottom: 10px;
}

.text table th,
.text table td {
    vertical-align: top;
    border: 1px solid #ddd;
	padding: 15px 20px;
}

.text thead th {
    vertical-align: bottom;
	font-weight: 500;
}

.text mark {
	background-color: #ffeea4;
    padding: 4px 2px;
}

.text q {
	quotes: "«" "»" "„" "“";
	font-family: 'Georgia', 'Times New Roman', serif;
	font-style: italic;  
}

.text blockquote {
	font-family: 'Georgia', 'Times New Roman', serif;
	font-size: 128%;
	line-height: 1.4;
	font-style: italic;
	font-weight: normal;
	border-left: 2px solid #d0021b;
	padding: 0 0 0 28px;
	margin: 50px 0
}

.text blockquote p:last-child {
	margin-bottom: 0;
}


/* Quote container */

.quote-container {
	border: none;
	padding: 0;
	margin: 0 0 35px;
}

.quote-container blockquote {
	margin: 0
}

.quote-container .quote-caption {
	font-size: 85%;
	font-weight: 400;
	margin-top: 25px;
}

.quote-container .quote-caption cite {
	font-style: normal;
}


/* Icon */

.inline-icon {
	height: 24px;
	display: inline-block;
}


/* Image */

.image {
	position: relative;
	margin: 0;
	margin-bottom: 35px;
}

.image img {
	z-index: 1;
	position: relative;
    max-width: 100%;
    height: auto;
	display: block;
	border-radius: var(--radius);
}

.image .caption {
    display: block;
    font-size: 80%;
	color: rgb(0 0 0 / 80%);
	font-weight: 400;
	padding: 10px 0 0;
}


/* Gallery */

.gallery {
	display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 20px;
	margin-bottom: 35px;
}

.gallery .image-wrapper {
	position: relative;
	background-color: var(--gray-color-45);
	width: 100%;
	cursor: pointer;
	overflow: hidden;
	border-radius: var(--radius);
	padding-top: 66.67%;
}

.gallery .image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
	max-width: 100%;
    height: auto;
	min-height: 100%;
	display: block;
	object-fit: cover; 
    transition: transform 0.5s ease;
}

.gallery .image-wrapper:hover img {
    transform: scale(1.05);
}


/* Clip */

.clip {
	position: relative;
	width: 100%;
	height: 0;
	max-height: 100vh;
	overflow: hidden;
	border-radius: var(--radius);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 35px;
}

.clip.ratio-16-9 {
	padding-top: 56.25%;
}

.clip.ratio-4-3 {
	padding-top: 75%;
}

.clip.ratio-1-1 {
	padding-top: 100%;
}

.clip.ratio-9-16 {
	max-width: 56.25vh; 
	padding-top: 177.78%;
}

.clip.ratio-3-4 {
	max-width: 75vh;
	padding-top: 133.33%;
}

.clip video {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	border: none;
}


/* Media Info */

.media-info {
	z-index: 2;
	position: absolute;
	top: 5px;
	right: 5px;
	background-color: #fff;
	max-width: 310px;
	min-height: 54px;
	display: none;
	color: var(--text-color);
	border-radius: var(--radius);
	padding: 16px 50px 16px 18px;
}

.media-info.show {
	display: block;
}

.media-info .media-author,
.media-info .media-source {
	font-size: 14px;
    line-height: 1.5;
}

.media-info .media-author:before,
.media-info .media-source:before {
    color: #737373;
}

.media-info .media-author:before {
    content: attr(data-author);
}

.media-info .media-source:before {
    content: attr(data-source);
}

.media-info .link {
	display: inline;
	font-size: 15px;
}

.media-info-button {
	z-index: 3;
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: rgb(255 255 255 / 50%);
	width: 32px;
	height: 32px;
	display: block;
	cursor: pointer;
	border: none;
	border-radius: var(--radius);
	user-select: none; 
}

.media-info-button:hover {
	background-color: rgb(255 255 255 / 70%);
}

.media-info-button:after {
	content: "";
	position: absolute;
	top: 6px;
	left: 6px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .8;
}

.media-info-button.icon-attention:after {
	background-position: -120px 0;
}

.media-info-button.icon-close:after {
	background-position: -40px 0;
}


/* YouTube */

.youtube-video {
	position: relative;
    width: 100%;
    height: 0;
	background-color: var(--gray-color-45);
	overflow: hidden;
	padding-bottom: 56.25%;
	margin-bottom: 35px;
}

.youtube-video iframe,
.youtube-video object,
.youtube-video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/* Tabs */

.tabs {
	overflow: visible;
}

.tabs.article-tabs {
	margin-bottom: 35px;
}

.tabs .tablist {
	position: relative;
}

.tabs.article-tabs .tablist {
	z-index: 1000;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	background-color: var(--white-color);
}

.tabs .tablist:after {
	z-index: 1;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	border-bottom: 1px solid var(--gray-color-50);
}

.tabs.article-tabs .tablist:after {
	border-color: var(--gray-color-70);
}

.tabs .tablist .tabs-inner .tab {
	z-index: 2;
	position: relative;
	background-color: transparent;
    display: inline-block;
	opacity: .8;
    cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.3;
    border: none;
	border-bottom: 1px solid transparent;
	user-select: none;
	padding-left: 0;
	padding-right: 0;
	padding-top: 15px;
    padding-bottom: 15px;
}

.tabs .tablist .tabs-inner .tab:last-child {
	margin-right: 0;
}

.tabs .tablist .tabs-inner .tab:hover {
	opacity: 1;
}

.tabs .tablist .tabs-inner .tab.active {
	opacity: 1;
    cursor: default;
	color: var(--primary-color-accent);
	border-color: var(--primary-color-accent);
}

.tabs .tabpanel {
    opacity: 0;
    visibility: hidden;
    height: 0;
    overflow: hidden;
    transition: 
        opacity 0.3s ease,
        visibility 0.3s ease,
        height 0.3s ease;
}

.tabs .tabpanel.active {
    opacity: 1;
    visibility: visible;
    height: auto;
	overflow: visible;
}

.tabs.article-tabs .tabpanel.active {
	border-radius: 0 0 var(--radius) var(--radius);
	border-left: 1px solid var(--gray-color-70);
	border-right: 1px solid var(--gray-color-70);
	border-bottom: 1px solid var(--gray-color-70);
}

.tabs .tabpanel > *:last-child {
    margin-bottom: 0;
}


/* Links */

.links-block {
	text-align: left;
	border: 1px solid var(--gray-color-70);
	border-radius: var(--radius);
	margin-bottom: 35px;
}

.links-block li {
	position: relative;
	width: 100%;
    display: block;
	border-bottom: 1px solid var(--gray-color-70);
	padding-left: 0;
	padding-right: 34px;
	padding-bottom: 20px;
	margin: 0 0 19px;
}

.links-block li:after {
	content: "";
	position: absolute;
	top: 6px;
	right: 0;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -60px 0;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .8;
	transform: rotate(270deg);
}

.links-block li:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin: 0;
}

.links-block li a {
	color: var(--black-color);
	font-size: 90%;
	line-height: 1.4;
}

.links-block li a:hover {
    color: var(--link-color-hover);
}


/* Options */

.options {
	width: 100%;
}

.options dl {
	position: relative;
	width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-end;
	text-align: left;
	margin-top: 12px;
	margin-bottom: 12px;
}

.options dl:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 7px;
	background: repeat-x radial-gradient(2px circle at 1px 1px,var(--gray-color-90) 50%,transparent 50.2%) 0 0 /6px 2px;
	height: 2px;
}

.options dl dt span,
.options dl dd {
	z-index: 1;
	position: relative;
	background-color: var(--white-color);
}

.options dl dt {
	margin-right: auto;
}

.options dl dt span {
	color: var(--gray-color-100);
	padding-right: 6px;
}

.options dl dd {
	font-weight: 500;
	padding-left: 6px;
	margin-left: 0;
}

.options dl dd.negative {
    color: var(--red-color-accent);
}

.options dl dd.positive {
    color: var(--green-color-accent);
}


/* Listing */

.listing {
	margin-bottom: 35px;	
}

.listing .item {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--gray-color-70);
	border-radius: var(--radius);
	margin-top: 22px;
	margin-bottom: 22px;	
}

.listing .item .item-header {
	position: relative;
}

.listing .item .item-badges {
	position: absolute;
    top: 4px;
    left: 4px;
	display: inline-flex;
	gap: 3px;
}

.listing .item .item-badges .badge-score,
.listing .item .item-badges .badge-label {
	min-width: 26px;
    font-size: 12px;
	font-weight: 500;
	line-height: 12px;
    text-align: center;
	border-radius: calc(var(--radius) - 1px);
	padding: 4px;
}

.listing .item .item-badges .badge-score {
	background-color: var(--gray-color-25);
	color: var(--gray-color-120);
}

.listing .item .item-badges .badge-label {
	background-color: var(--green-color-ghost);
	color: var(--green-color-accent);
}

.listing .item .item-header h3 {
	word-wrap: break-word;
	line-height: 1.6;
	margin-bottom: 15px;
}

.listing .item .item-header .note {
	display: block;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 25px;
}

.listing .item .item-header .item-image,
.listing .item .item-header .item-image img {
	width: 168px;
	height: auto;
}

.listing .item .item-header .item-image.image-medium,
.listing .item .item-header .item-image.image-medium img {
	width: 128px;
}

.listing .item .item-header .item-image.image-small,
.listing .item .item-header .item-image.image-small img {
	width: 96px;
}

.listing .item .item-header .item-image.image-tiny,
.listing .item .item-header .item-image.image-tiny img {
	width: 64px;
}

.listing .item .item-header .item-image img {
	display: block;
	border-radius: var(--radius);
}

.listing .item .item-header .item-image.js-popup-trigger img {
    cursor: pointer;
}

.listing .item .item-body .tabs .tablist .tab {
	color: var(--gray-color-100);
    font-size: 16px;
	font-weight: 500;
}

.listing .item .item-body .tabs .tablist .tab.active {
    color: var(--black-color);
    border-color: var(--black-color);
}

.listing .item .item-body .tabs .tabpanel.active {
    padding-top: 25px;
}

.listing .item .item-body .options {
	font-size: 16px;
	margin-bottom: 0;
}

.listing .item .item-body .options .hidden {
    display: none;
}

.listing .item .item-body .options.show .hidden {
    display: flex;
}

.listing .item .item-body .options .more-options {
	background-color: var(--gray-color-40);
	width: 24px;
	height: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
	cursor: pointer;
	font-family: inherit;
	color: var(--gray-color-100);
	font-size: 14px;
	font-weight: 400;
    border: none;
	border-radius: var(--radius);
	padding: 0;
	margin-top: 20px;
}

.listing .item .item-body .options .more-options:hover {
	background-color: var(--gray-color-45);
}

.listing .item .item-body .options .more-options:before,
.listing .item .item-body .options.show .more-options:before {
	line-height: 1;
}

.listing .item .item-body .options .more-options:before {
	content: "+";
}

.listing .item .item-body .options.show .more-options:before {
	content: "-";
}

.listing .item .item-footer .price {
	display: block;
	margin-bottom: 18px;
}

.listing .item .item-footer .price .price-title {
	display: block;
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 5px;
}

.listing .item .item-footer .price .price-value {
	display: block;
	font-size: 23px;
	font-weight: 700;
}

.listing .item .item-footer .info {
	display: block;
	margin-bottom: 18px;
}

.listing .item .item-footer .info span {
	display: inline-block;
	vertical-align: top;
	color: var(--gray-color-100);
	font-size: 14px;
	font-weight: 600;
	border: 1px solid var(--gray-color-60);
	border-radius: var(--radius);
	padding: 5px 7px;
	margin-right: 7px;
	margin-bottom: 7px;
}

.listing .item .item-footer .info span:last-child {
	margin-right: 0;
}

.listing .item .item-accordion {
	border-top: 1px solid var(--gray-color-70);
}

.listing .item .item-accordion .item-accordion-header {
	position: relative;
	background-color: transparent;
	width: 100%;
	cursor: pointer;
	font-family: inherit;
	font-size: 17px;
	font-weight: 600;
	text-align: left;
	transition: background-color .5s;
	border: none;
	padding-top: 18px;
	padding-bottom: 18px;
	margin-bottom: 0;
}

.listing .item .item-accordion.active .item-accordion-header,
.listing .item .item-accordion .item-accordion-header:hover {
	background-color: var(--gray-color-20);
}

.listing .item .item-accordion .item-accordion-header:after {
    content: "";
    position: absolute;
	top: 22px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -60px 0; 
	width: 20px;
	height: 20px;
	display: block;
}

.listing .item .item-accordion.active .item-accordion-header:after {
	background-position: -80px 0;
}

.listing .item .item-accordion .item-accordion-content {
	display: none;
}

.listing .item .item-accordion.active .item-accordion-content  {
	display: block;
	margin-top: 30px;
	padding-bottom: 28px;
}


/* Reviews */

.reviews {
	margin-bottom: 60px;
}

.reviews .reviews-sort {
	margin-bottom: 15px;
}

.reviews .reviews-sort .sort-title,
.reviews .reviews-sort .sort-buttons,
.reviews .reviews-sort .sort-buttons .sort-button {
	display: inline-block;
	vertical-align: top;
}

.reviews .reviews-sort .sort-title,
.reviews .reviews-sort .sort-buttons .sort-button {
	color: var(--gray-color-80);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

.reviews .reviews-sort .sort-title {
	margin-right: 26px;
}

.reviews .reviews-sort .sort-buttons .sort-button {
	position: relative;
	background-color: transparent;
	cursor: pointer;
	font-family: inherit;
	border: none;
	padding: 0;
	padding-right: 22px;
	margin-right: 10px;
}

.reviews .reviews-sort .sort-buttons .sort-button:last-child {
	margin-right: 0;
}

.reviews .reviews-sort .sort-buttons .sort-button:hover {
    color: var(--gray-color-100);
}

.reviews .reviews-sort .sort-buttons .sort-button.selected {
    color: var(--gray-color-125);
}

.reviews .reviews-sort .sort-buttons .sort-button.selected:hover {
    color: var(--text-color);
}

.reviews .reviews-sort .sort-buttons .sort-button.selected.desc:after,
.reviews .reviews-sort .sort-buttons .sort-button.selected.asc:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	background-image: var(--icon);
	background-repeat: no-repeat;
	background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .6;
	margin-top: -9px;
}

.reviews .reviews-sort .sort-buttons .sort-button.selected.asc:after {
	background-position: -60px 0;
}

.reviews .reviews-sort .sort-buttons .sort-button.selected.desc:after {
	background-position: -80px 0;  
}

.reviews .review {
	border-top: 1px solid var(--gray-color-60);
	padding-top: 25px;
	padding-bottom: 15px;
}

.reviews .review .schema-rating {
	display: none;
}

.reviews .review .review-header {
	margin-bottom: 22px;
}

.reviews .review .review-header .review-rating,
.reviews .review .review-header .review-source,
.reviews .review .review-header .review-author {
	display: inline-block;
	vertical-align: middle;
}

.reviews .review .review-header .review-rating {
	height: 16px;
	line-height: 16px;
	margin-top: 1px;
}

.reviews .review .review-header .review-rating .star {
	position: relative;
	width: 16px;
	height: 16px;
	display: inline-block;
}

.reviews .review .review-header .review-rating .star:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background-image: var(--icon);
	background-repeat: no-repeat;
	background-size: 200px;
	background-position: -16px -60px;
	width: 16px;
	height: 16px;
	display: block;
}

.reviews .review .review-header .review-rating .star.filled:after {
	background-position: 0 -60px;
}

.reviews .review .review-header .review-source,
.reviews .review .review-header .review-author {
	color: var(--gray-color-110);
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
}

.reviews .review .review-header a.review-source:hover {
	color: var(--link-color-hover);
}

.reviews .review .review-body {
	font-size: 100%;
    line-height: inherit;
    border-left: none;
    padding: 0;
	margin: 0;
}

.reviews .review .review-body p:last-child {
	margin-bottom: 0;
}

.reviews .review .review-vote {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
	margin-top: 10px;
}

.reviews .review .review-vote .vote-button {
	position: relative;
	background-color: transparent;
	cursor: pointer;
	opacity: .75;
	font-family: inherit;
	color: var(--gray-color-120);
	font-size: 14px;
	font-weight: 600;
	border: none;
	padding: 10px 10px 10px 38px;
}

.reviews .review .review-vote .vote-button.icon-dislike {
	margin-left: 10px;
}

.reviews .review .review-vote .vote-button:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	background-image: var(--icon);
	background-repeat: no-repeat;
	background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .7;
	margin-top: -10px;
}

.reviews .review .review-vote .vote-button.icon-like:after {
	background-position: 0 -20px;
}

.reviews .review .review-vote .vote-button.icon-dislike:after {
	background-position: -20px -20px;  
}

.reviews .review .review-vote .vote-button:hover,
.reviews .review .review-vote .vote-button.voted {
	opacity: 1;
}

.reviews .load-more {
	margin: 10px auto 0;
}


/* Author Box */

.authors {
    margin-top: 60px;
}

.authors .author {
	border-bottom: 1px solid var(--gray-color-70);
	padding-bottom: 25px;
	margin: 0 0 25px;
}

.authors .author:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin: 0;
}

.authors .author-header {
    display: grid;
    grid-template-columns: 80px 1fr; 
    grid-template-rows: auto auto;
    column-gap: 20px; 
}

.authors .author-header .author-photo {
	background-color: var(--gray-color-45);
    width: 80px;
    height: 80px;
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
	overflow: hidden;
	border-radius: var(--radius);
}

.authors .author-header .author-photo img {
    width: 80px;
    height: 80px;
	display: block;
	object-fit: cover;
}

.authors .author-header .role {
	display: block;
    grid-column: 2;
    grid-row: 1;
    align-self: end;
	line-height: 1.3;
    margin-bottom: 6px;
}

.authors .author-header .name {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    font-weight: 500;
	margin-bottom: 0;
}

.authors .author-body {
	margin-top: 20px;
}

.authors .author-body .author-socials {
	margin-top: 15px;
}

.authors .author-body .author-socials a {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	margin-right: 25px;
}


/* FAQ */

.qa {
	margin-top: 60px;
}

.qa .question {
	text-align: left;
	border-bottom: 1px solid var(--gray-color-70);
	padding-top: 24px;
	padding-bottom: 25px;
	margin: 0
}

.qa .question:first-of-type {
	padding-top: 0;
}

.qa .question:last-child {
    border-bottom: none;
	padding-bottom: 0;
}

.qa .question .name {
	position: relative;
	display: block;
	font-weight: 500;
	padding-right: 35px;
	margin-bottom: 0;
}

.qa .question .name button {
	background-color: transparent;
	width: 100%;
	cursor: pointer;
	font: inherit;
	text-align: left;
	border: none;
	padding: 0;
	margin: 0;
}

.qa .question:not(.show) .name button:hover {
	color: #d0021b;
}

.qa .question .name::after {
	content: "";
	position: absolute;
	top: 6px;
	right: 0;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -60px 0;
	width: 20px;
	height: 20px;
	display: block;
	opacity: .6;
}

.qa .question.show .name:after {
	background-position: -80px 0;
}

.qa .question .answer {
	display: none;
	margin: 25px 0 0;
}

.qa .question.show .answer {
	display: block;
}


/* Citations */

.citations {
	margin-top: 80px;
}

.citations .citations-list {
	list-style: none;
    counter-reset: citations-counter;
    padding: 0;
    margin: 0;
}

.citations .citations-list li {
    margin-bottom: 10px;
}

.citations .citations-list li::before {
    counter-increment: citations-counter;
	content: counter(citations-counter) ". ";
}

.citations .citations-list li a::after {
	content: "\00A0\2197";
	display: inline-block;
}


/* Social */

.social {
	margin-top: 50px;
	margin-bottom: 50px;
}

.social .item {
	position: relative;
	background-color: #505053;
	width: 34px;
	height: 34px;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	border: none;
	border-radius: var(--radius);
	margin-right: 8px;
	margin-bottom: 8px;
}

.social .item:after {
	content: "";
	position: absolute;
	top: 7px;
	left: 7px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
}

.social .item.vk:after {
	background-position: 0 -40px;
}

.social .item.vk:hover {
	background-color: #4c75a3;
}

.social .item.fb:after {
	background-position: -20px -40px;
}

.social .item.fb:hover {
	background-color: #3b5998;
}

.social .item.x:after {
	background-position: -40px -40px;
}

.social .item.x:hover {
	background-color: #00abf1;
}

.social .item.telegram:after {
	background-position: -60px -40px;
}

.social .item.telegram:hover {
	background-color: #64a9dc;
}

.social .item.whatsapp:after {
	background-position: -80px -40px;
}

.social .item.whatsapp:hover {
	background-color: #65bc54;
}

.social .item.dzen:after {
	background-position: -100px -40px;
}

.social .item.dzen:hover {
	background-color: #111;
}


/* ПАГИНАЦИЯ */

.pagination {
    text-align: center;
    margin: 45px auto;
}

.pagination a,
.pagination span {
	background-color: var(--gray-color-45);
	width: 46px;
	height: 46px;
	display: inline-block;
	color: #000;
    font-size: 15px;
	font-weight: 500;
	line-height: 46px;
	border: none;
	outline: none;
	border-radius: var(--radius);
	margin: 4px;
}

.pagination a:hover {
	background-color: #f2f2f2;
}

.pagination .current {
	background-color: #d0021b;
    color: #fff;
}


/* POPUP */

.popup .popup-image {
	z-index: 1;
	position: fixed;
	top: 50%;
	left: 50%;
	width: auto;
	max-width: 95vw;
	max-height: 95vh;
	display: block;
	transform: translate(-50%, -50%);
}

.popup .popup-close {
	z-index: 2;
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--transparent-color-20);
	width: 44px;
	height: 44px;
	display: block;
	cursor: pointer;
	border: none;
	outline: none;
}

.popup .popup-close:after {
	content: "";
	position: absolute;
	top: 12px;
	left: 12px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -140px 0;
	width: 20px;
	height: 20px;
	display: block;
}

.popup .popup-prev,
.popup .popup-next {
	z-index: 2;
	position: absolute;
	top: calc(50% - 22px);
	background-color: var(--transparent-color-20);
	width: 44px;
	height: 44px;
	display: block;
	cursor: pointer;
	border: none;
	outline: none;
}

.popup .popup-prev {
	left: 0;
}

.popup .popup-next {
	right: 0;
}

.popup .popup-prev:after,
.popup .popup-next:after {
	content: "";
	position: absolute;
	top: 12px;
	left: 12px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	width: 20px;
	height: 20px;
	display: block;
}

.popup .popup-prev:after {
	background-position: -160px 0;
}

.popup .popup-next:after {
	background-position: -180px 0;
}

.popup .popup-loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    border: 2px solid rgb(255 255 255 / 30%);
    border-top: 2px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}


/* ПОДВАЛ */

.footer {
	background-color: #1e1f20;
	width: 100%;
	flex: 0 0 auto;
	color: #919399;
	font-size: 15px;
    padding-top: 30px;
}

.footer li {
    display: inline-block;
}

.footer li a {
	color: #fff;
}

.footer li a:hover {
	opacity: .8;
}

.footer .top,
.footer .middle,
.footer .bottom {
    padding-top: 20px;
	padding-bottom: 20px;
}

.footer .top .menu li {
	margin-top: 10px;
	margin-bottom: 10px;
}

.footer .top .social {
	text-align: left;
	margin-top: 0;
	margin-bottom: 0;
}

.footer .top .social .item {
	margin: 0;
	margin-right: 10px;
}

.footer .middle {
	font-size: 14px;
}

.footer .bottom {
	text-align: center;
	border-top: 1px solid #242729;
	margin-top: 20px;
}


/* NOTICE */

.notice-container {
	z-index: 10003;
	position: fixed;
	right: 15px;
	bottom: 15px;
	max-width: 290px;
}

.notice-container .notice {
	position: relative;
	overflow: hidden;
	color: #fff;
	font-size: 16px;
	line-height: 1.3;
	text-align: left;
	border-radius: var(--radius);
	padding: 15px 20px;
	margin-bottom: 10px;
}

.notice-container .notice:last-child {
	margin-bottom: 0;
}

.notice-container .notice.info {
	background-color: #0050d8;
}

.notice-container .notice.warning {
	background-color: #fecc2f;
}

.notice-container .notice.success {
	background-color: #028357;
}

.notice-container .notice.error {
	background-color: #e51045;
}

.notice-container .notice output {
	z-index: 2;
	position: relative;
    display: block;
}

.notice-container .notice .notice-progress {
	z-index: 1;
    position: absolute;
    bottom: 0;
    left: 0;
	background-color: rgb(255 255 255 / 70%);
	width: 100%;
    height: 3px;
    transition: width 0.1s linear; 
}


/* COOKIES */

.cookies {
	z-index: 10000;
	position: fixed;
    left: 50%;
	right: auto;
	bottom: 10px;
	background-color: #424242;
    max-width: 320px;
	display: none;
	align-items: center;
	justify-content: space-between;
	color: #fff;
	line-height: 1.2;
	border: none;
	border-radius: var(--radius);
	box-shadow: 0 4px 24px var(--transparent-color-10);
	transform: translate(-50%,0);
    padding: 12px 8px 12px 16px;
}

.cookies.show {
	display: flex;
}

.cookies small {
	width: calc(100% - 46px);
	width: -moz-calc(100% - 46px);
	width: -webkit-calc(100% - 46px);
	display: inline-block;
	font-size: 13px;
}

.cookies button {
	background-color: #d0021b;
	width: 36px;
	height: 36px;
	cursor: pointer;
	font-family: inherit;
	color: #fff;
	font-size: 12px;
	text-transform: uppercase;
	text-align: center;
	outline: none;
	border: none;
	border-radius: var(--radius);
	margin-left: 10px;
}

.cookies button:hover {
	background-color: #d93449;
	color: #fff;
}


/* OVERLAY */

.overlay {
	z-index: 10001;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgb(0 0 0 / 80%);
	width: 100%;
	height: 100%;
}


/* АВТОЗАПОЛНЕНИЕ */

.autocomplete {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 4px);
    background-color: #fff;
	height: auto;
	border-radius: var(--radius);
	padding: 6px;
}

.autocomplete li {
	display: block;
}

.autocomplete li.no-results,
.autocomplete li a {
	display: block;
	color: #000;
	font-size: 15px;
	line-height: 1.5;
	border-radius: var(--radius);
	padding: 5px 10px;
}

.autocomplete li a:hover {
	background-color: var(--gray-color-45);
}

.autocomplete li.focused a {
	background-color: #1e1f20;
	color: #fff;
}


/* UP */

.up {
	z-index: 9999;
	position: fixed;
	right: 5px;
	bottom: 100px;
	background-color: var(--gray-color-45);
	width: 44px;
	height: 44px;
	display: block;
	opacity: 0;
	cursor: pointer;
	border: none;
	border-radius: var(--radius);
	transition: opacity 0.4s;
}

.up.show {
	opacity: .5;
}

.up.show:hover {
	opacity: .9;
}

.up:active {
	-webkit-transform: scale(.85);
	-ms-transform: scale(.85);
	transform: scale(.85);
}

.up:after {
	content: "";
	position: absolute;
	top: 12px;
	left: 12px;
	background-image: var(--icon);
    background-repeat: no-repeat;
    background-size: 200px;
	background-position: -80px 0;
	width: 20px;
	height: 20px;
	display: block;
}


/* АДАПТИВ */

@media screen and (min-width: 1100px)  {
	
	body {
		font-size: 20px;
	}
	
	h1 {
		font-size: 50px;
	}

	h2 {
		font-size: 34px;
	}

	h3 {
		font-size: 28px;
	}
	
	h4 {
		font-size: 24px;
	}
	
	.container {
		position: relative;
		width: 100%;
		max-width: 1326px;
		min-width: 980px;
		padding-right: 20px;
		padding-left: 20px;
		margin-right: auto;
		margin-left: auto;
	}
	
	.header .logotype {
		margin-right: 60px;
	}
	
	.header .menu {
		width: calc(100% - 330px);
		margin-right: auto;
	}

	.header .menu li {
		z-index: 1;
		position: relative;
		display: inline-block;
		vertical-align: middle;
		border-radius: 4px;
		padding: 4px 3px 6px;
	}
	
	.header .menu li a {
		font-size: 16px;
		padding: 2px 4px;
	}
	
	.header .menu li:hover,
	.header .menu li.dropdown:focus-within {
		z-index: 2;
		background-color: var(--gray-color-45);
	}
	
	.header .menu li.dropdown {
		border-radius: 4px 4px 0 0;
	}		
	
	.header .menu li.dropdown:after {
		content: "";
		background-image: var(--icon);
		background-repeat: no-repeat;
		background-size: 200px;
		background-position: -60px 0;
		width: 20px;
		height: 20px;
		display: inline-block;
		vertical-align: middle;
		margin-left: -4px;
	}
	
	.header .menu li a {
		display: inline-block;
	}
	
	.header .menu .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		background-color: var(--gray-color-45);
		min-width: 320px;
		display: none;
		opacity: 0;
		transition: .5s linear;
		border-radius: 0 4px 4px 4px;
		padding: 10px 0;
	}
	
	.header .menu li.dropdown:hover > .sub-menu,
	.header .menu li.dropdown:focus-within > .sub-menu {
		display: block;
		opacity: 1;
	}
	
	.header .menu li .sub-menu li {
		display: block;
		border-radius: 0;
	}
	
	.header .menu li .sub-menu li:hover {
		background-color: var(--transparent-color-5);
	}
	
	.header .menu li .sub-menu li a {
		display: block;
	}
	
	.header .search {
		right: 15px;
		max-width: 300px;
	}
	
	.header .menu-toggle {
		display: none;
	}

	.alcohol-stage-layout {
		position: relative;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}

	.alcohol-stage-panel {
		width: auto;
	}

	.moonshine-suite-workspace {
		grid-column: 2;
		grid-row: 1;
		border-top: 0;
		border-left: 1px solid var(--alcohol-stage-border);
		padding: 36px;
	}

	.alcohol-hero-header {
		z-index: 1;
		position: relative;
		overflow: hidden;
		grid-column: 1;
		grid-row: 1;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		padding: 48px;
	}

	.alcohol-hero-visual {
		z-index: 0;
		position: absolute;
		right: 0;
		bottom: 0;
		width: 100%;
		aspect-ratio: 1;
		display: block;
		pointer-events: none;
		margin: 0;
	}

	.alcohol-hero-visual img {
		width: 100%;
		height: 100%;
		display: block;
		object-fit: contain;
	}

	.alcohol-hero-header-flow .alcohol-hero-visual {
		position: relative;
		right: auto;
		bottom: auto;
		width: auto;
		aspect-ratio: 1;
		flex-shrink: 0;
		margin: auto -48px -48px;
	}

	.cocktail-hero .alcohol-hero-visual img {
		object-fit: cover;
		object-position: center bottom;
	}

	.alcohol-form,
	.alcohol-results {
		grid-row: 1;
		border-top: 0;
		border-left: 1px solid var(--alcohol-stage-border);
		padding: 36px;
	}

	.alcohol-form {
		z-index: 2;
		grid-column: 2;
	}

	.alcohol-results {
		z-index: 1;
		grid-column: 2;
		border-radius: 0;
	}

	.moonshine-suite .moonshine-inline-calculator .alcohol-form,
	.moonshine-suite .moonshine-inline-calculator .alcohol-results {
		grid-column: auto;
		grid-row: auto;
		border-left: 0;
		padding: 0;
	}

	.moonshine-suite .moonshine-inline-calculator .alcohol-results {
		border-top: 1px solid var(--alcohol-stage-border);
		padding-top: 32px;
	}

	.alcohol-calculator.is-calculated .alcohol-form {
		grid-column: 1;
		border-left: 0;
	}

	.alcohol-calculator.is-transition-complete .alcohol-hero-header {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}

	.alcohol-person-fields,
	.alcohol-drink-fields,
	.unit-converter-fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

.alcohol-person-fields .alcohol-field-wide {
	grid-column: 1 / -1;
}

	.alcohol-result-primary {
		display: block;
	}

	.alcohol-current-value {
		min-width: 0;
		border-right: 0;
		border-bottom: 1px solid var(--alcohol-stage-border);
	}

	.reaction-shell {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}

	.reaction-intro {
		padding: 48px;
	}

	.reaction-panel {
		border-top: 0;
		border-left: 1px solid var(--alcohol-stage-border);
		padding: 36px;
	}

	.reaction-metrics {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	
	.title {
		text-align: left;
	}
	
	.article .layout {
		position: relative;
		padding-right: 240px;
	}
	
	.lead p {
		font-size: 22px;
	}
	
	.toc {
		z-index: 1001;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		background-color: var(--white-color);
		width: 180px;
		font-size: 16px;
		margin-top: 14px;
	}
	
	.toc .toc-title {
		opacity: .3;
		margin-bottom: 26px;
		padding: 0 4px;
	}
	
	.toc .toc-title span {
		display: none;
	}
	
	.toc .toc-title:before {
		content: attr(data-title);
	}
	
	.toc .toc-list {
		position: -webkit-sticky;
		position: sticky;
		top: 15px;
		width: inherit;
		max-height: calc(100vh - 60px);
	}
	
	.toc .toc-list li {
		padding: 2px;
		margin-bottom: 10px;
	}
	
	.toc .toc-list li a {
		padding: 2px 4px;
	}
	
	.articles {
		margin-left: -12px;
		margin-right: -12px;
	}
	
	.articles .card {
		display: inline-block;
		margin: 0 12px 22px;
	}
	
	.articles .card.regular {
		width: calc(25% - 24px);
	}
	
	.articles .card.big {
		width: calc(50% - 24px);
	}
	
	.articles .card-inner {
		padding: 4px;
	}
	
	.articles .card .card-image img,
	.articles .card .card-image.no-image {
		height: 373px;
	}
	
	.tabs .tablist .tabs-inner .tab {
		margin-right: 28px;
	}
	
	.tabs.article-tabs .tabpanel.active {
		padding: 30px;
	}
	
	.links-block {
		padding: 30px;
	}
	
	.reviews .review .review-header .review-rating,
	.reviews .review .review-header .review-source,
	.reviews .review .review-header .review-author {
		margin-right: 32px;
	}
	
	.reviews .review .review-vote {
		justify-content: end;
	}
	
	.authors {
		font-size: 20px;
	}
	
	.authors .author-header .role {
		font-size: 17px;
	}
	
	.authors .author-header .name {
		font-size: 23px;
	}
	
	.qa .question .name {
		font-size: 23px;
	}
	
	.footer .top {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.footer .top .menu li {
		margin-right: 30px;
	}
	
	.footer .top .menu {
		margin-right: auto;
	}

	.footer .top .social {
		margin-left: auto;
	}
	
}


@media screen and (min-width: 1200px) {
	
	.article .layout {
		padding-right: 270px;
	}
	
	.toc {
		width: 210px;
	}
	
}


@media screen and (min-width: 900px)  {


	.listing .item .item-main {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: center;
		padding: 28px 28px 36px;
	}
	
	.listing .item .has-badges .item-main {
		padding-top: 44px;
	}
	
	.listing .item .item-main .item-header {
		width: 220px;
		flex-shrink: 0;
		padding-top: 8px;
		padding-right: 20px;
		margin-right: 24px;
	}
	
	.listing .item .item-main .item-header h3 {
		font-size: 20px;
	}
	
	.listing .item .item-main .item-body {
		width: calc(100% - 468px);
		margin: 0 auto;
	}
	
	.listing .item .item-main .item-footer {
		width: 200px;
		flex-shrink: 0;
		text-align: left;
		padding-top: 14px;
		padding-left: 20px;
		margin-left: 24px;
	}
	
	.listing .item .item-accordion .item-accordion-header {
		padding-left: 28px;
		padding-right: 60px;
	}
	
	.listing .item .item-accordion .item-accordion-header:after {
		right: 24px;
	}
	
	.listing .item .item-accordion .item-accordion-content {
		padding-left: 28px;
		padding-right: 28px;
	}
	
}


@media screen and (max-width: 899px) {
		
	.listing .item .item-main {
		padding: 28px 36px 32px;
	}
	
	.listing .item .has-badges .item-main {
		padding-top: 44px;
	}
	
	.listing .item .item-main .item-body,
	.listing .item .item-main .item-header {
		margin-bottom: 30px;
	}
	
	.listing .item .item-main .item-header h3 {
		font-size: 20px;
	}
	
	.listing .item .item-accordion .item-accordion-header {
		padding-left: 36px;
		padding-right: 68px;
	}
	
	.listing .item .item-accordion .item-accordion-header:after {
		right: 32px;
	}
	
	.listing .item .item-accordion .item-accordion-content {
		padding-left: 36px;
		padding-right: 36px;
	}
	
}


@media screen and (max-width: 1099px) {
	
	body {
		font-size: 19px;
	}
	
	h1 {
		font-size: 40px;
	}

	h2 {
		font-size: 26px;
	}

	h3 {
		font-size: 24px;
	}
	
	h4 {
		font-size: 22px;
	}
	
	.container {
		position: relative;
		width: 100%;
		max-width: 900px;
		padding-right: 20px;
		padding-left: 20px;
		margin: 0 auto;
	}
	
	.header .logotype {
		margin-right: auto;
	}
	
	.header .menu {
		z-index: 1000;
		position: fixed;
		top: 0;
		right: -100%;
		bottom: 0;
		background-color: #fff;
		width: 300px;
		overflow: scroll;
		overflow-x: hidden;
		overflow-y: auto;
		transition: all .5s;
		padding: 80px 0 40px;
	}

	.header .menu.show {
		right: 0;
		box-shadow: -10px 5px 18px 0 var(--transparent-color-5);
	}
	
	.header .menu::-webkit-scrollbar { 
		width: 0;
		height: 0; 
	}
	
	.header .menu li a {
		display: block;
		font-size: 18px;
		padding-top: 10px;
		padding-left: 30px;
		padding-right: 30px;
		padding-bottom: 10px;
	}
	
	.header .menu li.dropdown .sub-menu a {
		padding-left: 50px;
	}
		
	.header .menu li a:hover {
		background-color: var(--transparent-color-5);
	}
	
	.header .menu-toggle { 
		z-index: 1001;
		position: relative;
		background-color: var(--white-color);
		width: 44px;
		height: 44px;
		cursor: pointer;
		border: none;
		outline: none;
		border-radius: var(--radius);
		margin-left: 10px;
		margin-right: -13px;
	}
	
	.header .menu-toggle.close {
		background-color: var(--gray-color-45);
	}

	.header .menu-toggle:after {
		content: "";
		position: absolute;
		top: 12px;
		left: 12px;
		background-image: var(--icon);
		background-repeat: no-repeat;
		background-size: 200px;
		background-position: -20px 0;
		width: 20px;
		height: 20px;
		display: block;
	}
	
	.header .menu-toggle.close:after {
		background-position: -40px 0;
	}
	
	.header .search {
		right: 64px;
	}

	
	.alcohol-explanation,
	.alcohol-method {
		margin-bottom: 60px;
	}

	.alcohol-person-fields,
	.alcohol-drink-fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.alcohol-result-primary {
		display: block;
	}

	.alcohol-current-value {
		border-right: 0;
		border-bottom: 1px solid var(--gray-color-45);
	}

	.toc {
		z-index: 999;
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		background-color: var(--gray-color-45);
		font-size: 17px;
		border-radius: 0 0 var(--radius) var(--radius);
		padding: 12px 20px 13px;
		margin-left: -20px;
		margin-right: -20px;
		margin-bottom: 30px;
	}
	
	.toc.show {
		z-index: 10002;
		padding-bottom: 25px;
	}
	
	.toc .toc-title {
		position: relative;
		width: 100%;
		cursor: pointer;
		font-size: inherit;
		padding-right: 50px;
	}
	
	.toc .toc-title:after {
		content: "";
		position: absolute;
		top: 2px;
		right: 0;
		background-image: var(--icon);
		background-repeat: no-repeat;
		background-size: 200px;
		background-position: -60px 0;
		width: 20px;
		height: 20px;
		display: block;
		opacity: .8;
	}

	.toc.show .toc-title:after {
		background-position: -80px 0;
	}	
	
	.toc .toc-list {
		display: none;
	}
	
	.toc.show .toc-list {
		max-height: calc(100vh - 60px);
		display: block;
		margin-top: 25px;
	}
	
	.toc .toc-list li {
		margin-bottom: 16px;
	}
	
	.articles .card {
		width: 100%;
		display: block;
		margin: 0 0 40px;
	}
	
	.articles .card .card-image img {
		height: auto;
	}
	
	.articles .card .card-image.no-image {
		padding-top: 67%;
	}
	
	.text:has(.toc) .tabs.article-tabs .tablist {
		z-index: 998;
		top: 48px;
	}
	
	.tabs .tablist .tabs-inner .tab {
		margin-right: 22px;
	}
	
	.tabs.article-tabs .tabpanel.active {
		padding: 25px;
	}
	
	.links-block {
		padding: 25px;
	}
	
	.reviews .review .review-header .review-rating,
	.reviews .review .review-header .review-source,
	.reviews .review .review-header .review-author {
		margin-right: 26px;
	}
	
	.reviews .review .review-vote {
		justify-content: start;
	}
	
	.authors {
		font-size: 17px;
	}
	
	.authors .author-header .role {
		font-size: 16px;
	}
	
	.authors .author-header .name {
		font-size: 20px;
	}
	
	.qa .question .name {
		font-size: 20px;
	}
	
	.footer .top .menu li {
		margin-right: 25px;
	}
	
	.footer .top .social {
		margin-top: 25px;
	}
	
}


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


	.alcohol-calorie-fields {
		grid-template-columns: 1fr;
	}

	.alcohol-calorie-field-type {
		grid-column: auto;
	}

	.wedding-calculator-fields,
	.wedding-share-fields {
		grid-template-columns: 1fr;
	}

	.wedding-field-wide {
		grid-column: auto;
	}

	.alcohol-person-fields {
		grid-template-columns: 1fr;
	}

	.alcohol-drink-fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.alcohol-submit-row,
	.alcohol-results-header {
		display: block;
	}

	.alcohol-submit {
		width: 100%;
	}

	.alcohol-edit {
		margin-top: 14px;
	}

	.alcohol-result-facts,
	.alcohol-timeline,
	.alcohol-info-grid,
	.alcohol-method,
	.unit-converter-fields,
	.unit-converter-result-values,
	.cocktail-elimination-fields,
	.cocktail-result-facts,
	.cocktail-elimination-result {
		grid-template-columns: 1fr;
	}

	.alcohol-result-facts > div,
	.alcohol-timeline > div {
		border-right: 0;
		border-bottom: 1px solid var(--gray-color-45);
	}

	.alcohol-result-facts > div:last-child,
	.alcohol-timeline > div:last-child {
		border-bottom: 0;
	}

	.cocktail-result-facts > div,
	.cocktail-elimination-result > div {
		border-right: 0;
		border-bottom: 1px solid var(--gray-color-45);
	}

	.cocktail-result-facts > div:last-child,
	.cocktail-elimination-result > div:nth-child(3) {
		border-bottom: 0;
	}

	.cocktail-elimination-fields .alcohol-field-wide {
		grid-column: auto;
	}

	.alcohol-method-main,
	.alcohol-law-note {
		grid-column: auto;
	}
	
}


@media screen and (max-width: 480px) {
	
	h1 {
		font-size: 36px;
	}

	.alcohol-hero-header,
	.alcohol-form,
	.alcohol-results {
		padding: 44px 22px 22px;
	}

	.moonshine-suite-workspace {
		padding: 24px 22px;
	}

	.moonshine-suite .moonshine-inline-calculator .alcohol-form,
	.moonshine-suite .moonshine-inline-calculator .alcohol-results {
		padding: 0;
	}

	.moonshine-suite .moonshine-inline-calculator .alcohol-results {
		padding-top: 26px;
	}

	.alcohol-hero-visual {
		margin: 24px -22px -22px;
	}

	.alcohol-current-value {
		min-width: 0;
		padding: 22px;
	}

	.alcohol-current-value > strong {
		font-size: 46px;
	}

	.cocktail-strength-value {
		padding: 22px;
	}

	.cocktail-strength-value > strong {
		font-size: 46px;
	}

	.reaction-intro,
	.reaction-panel {
		padding: 44px 22px 22px;
	}

	.reaction-signal {
		min-height: 260px;
		padding: 24px;
	}

	.reaction-signal > span {
		font-size: 28px;
	}

	.alcohol-drink {
		padding: 16px;
	}
	
}


@media screen and (max-width: 420px) {
	
	h1 {
		font-size: 34px;
	}

	.alcohol-calculator {
		border-radius: 12px;
	}

	.alcohol-hero-header,
	.alcohol-form,
	.alcohol-results {
		padding: 36px 18px 18px;
	}

	.alcohol-hero-visual {
		margin: 24px -18px -18px;
	}

	.reaction-shell {
		border-radius: 12px;
	}

	.reaction-intro,
	.reaction-panel {
		padding: 36px 18px 18px;
	}

	.reaction-signal {
		min-height: 240px;
	}
	
	.text blockquote {
		padding-left: 20px;
	}
	
	.gallery {
        grid-template-columns: 1fr;
    }
	
	.listing .item .item-main {
		padding: 28px 22px 32px;
	}
	
	.listing .item .has-badges .item-main {
		padding-top: 44px;
	}
	
	.listing .item .item-accordion .item-accordion-header {
		padding-left: 24px;
		padding-right: 56px;
	}
	
	.listing .item .item-accordion .item-accordion-header:after {
		right: 20px;
	}
	
	.listing .item .item-accordion .item-accordion-content {
		padding-left: 24px;
		padding-right: 24px;
	}
	
}


@media screen and (max-width: 360px) {
	
	.authors .author-header .name {
		font-size: 19px;
	}
	
	.qa .question .name {
		font-size: 19px;
	}
	
}


@media screen and (max-width: 320px) {
	
	.cookies {
		width: 300px;
	}

}


@media 	only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-resolution: 1.5dppx),
only screen and (min-resolution: 144dpi) {
	
	.header .logotype:before {
		background-image: url(assets/images/logo@2x.png);
	}
	
	.header .menu li.dropdown:after {
		background-image: var(--icon2x);
	}
	
	.header .search-toggle:after {
		background-image: var(--icon2x);
	}
	
	.header .menu-toggle:after {
		background-image: var(--icon2x);
	}
	
	.toc .toc-title:after {
		background-image: var(--icon2x);
	}
	
	.articles .card .card-inner .card-image.no-image:after {
		background-image: var(--icon2x);
	}
	
	.media-info-button:after {
		background-image: var(--icon2x);
	}
	
	.links-block li:after {
		background-image: var(--icon2x);
	}
	
	.listing .item .item-accordion .item-accordion-header:after {
		background-image: var(--icon2x);
	}
	
	.reviews .reviews-sort .sort-buttons .sort-button.selected.desc:after,
	.reviews .reviews-sort .sort-buttons .sort-button.selected.asc:after {
		background-image: var(--icon2x);
	}
	
	.reviews .review .review-header .review-rating .star:after {
		background-image: var(--icon2x);
	}
	
	.reviews .review .review-vote .vote-button:after {
		background-image: var(--icon2x);
	}
	
	.qa .question .name:after {
		background-image: var(--icon2x);
	}
	
	.social .item:after {
		background-image: var(--icon2x);
	}
	
	.popup .popup-close:after {
		background-image: var(--icon2x);
	}

	.popup .popup-prev:after,
	.popup .popup-next:after {
		background-image: var(--icon2x);
	}
	
	.up:after {
		background-image: var(--icon2x);
	}
	
}
