/*
    CSS Reset - A combination of Lazzzer00 and Josh's custom resets
    https://github.com/Lazzzer00/Best-CSS-Reset-2024/blob/main/css_reset.css
    https://www.joshwcomeau.com/css/custom-css-reset
*/

*, *::before, *::after {
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}

/* Default margins and paddings to 0 */
* {
    margin: 0; 
    padding: 0;
}

body {
    line-height: 1.5; /* WCAG criteria states that line-height should be at least 1.5: improve readability */
    -webkit-font-smoothing: antialiased; /* Fonts anti-aliasing for WebKit-based browsers */
    font-smooth: antialiased; /* Fonts anti-aliasing for non-WebKit-based browsers */
	font-family: Poppins, sans-serif;
	font-size: 17px;
	line-height: 28px;
	height: auto;
}

body, html {
    height: 100%; /* Make the body element full screen */
    scroll-behavior: smooth; /* Enable smooth scrolling */
}

ul[role='list'], ol[role='list'] {
    list-style: none; /* Turn off list decoration for semantic lists */
}

html:focus-within {
    scroll-behavior: smooth; /* Make the scrolling inside of any scrollable element smooth */
}

a:not([class]) {
    text-decoration-skip-ink: auto; /* Improve link underline appearance */
}

img, picture, svg, video, canvas {
    max-width: 100%; /* Make media elements responsive */
    height: auto;
    vertical-align: middle; /* Improve text alignment next to inline images */
    font-style: italic; /* Style alt text for images that don't load */
    background-repeat: no-repeat; /* Background repeat and size for loading placeholder images */
    background-size: cover;
}

input, button, textarea, select {
    font: inherit; /* Inherit font styles for consistency */
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word; /* Allow long words to break across multiple lines */
}

/* Disable certain styles for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
        transition: none;
    }
}

main {
	max-width: 2560px;
	margin: 0 auto;
}

h1 {
	font-size: 63px;
	line-height: 67px;
}

h2 {
	font-size: 48px;
	line-height: 56px;
}

h3 {
	font-size: 32px;
	line-height: 38px;
}

h4 {
	font-size: 32px;
	line-height: 34px;
}

h5 {
	font-size: 24px;
	line-height: 32px;
}

a {
	color: inherit;
	text-decoration: none;
}

ul {
	padding: 0;
	list-style: none;
}

.flex {
	display: flex;
}

.flex-col {
	flex-direction: column;
}

.align-items-center {
	align-items: center;
}

.justify-content-center {
	justify-content: center;
}

.justify-space-between {
	justify-content: space-between;
}

.flex-wrap {
	flex-wrap: wrap;
}

.position-relative {
	position: relative;
}

.position-absolute {
	position: absolute;
}

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

.container {
	max-width: 1210px;
	padding: 0 20px;
	width: 100%;
	margin: 0 auto;
}

.cta-button-wrapper {
	width: max-content;
}

.cta-button {
	cursor: pointer;
	color: #FFF;
	text-align: center;
	font-family: Poppins, sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 36px;
	border-radius: 40px;
	background-color: #1e5ec2;
	padding: 11px 36px;
	border: 1px solid #003FA1;
	box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.25);
	max-width: 362px;
	white-space: nowrap;
	transition: ease-in-out 0.18s;
}

.cta-button:hover {
	background-color: #346ec8;
}

.pulseCta {
	transform: scale(0.9);
	animation: pulseCta 1.5s infinite;
}

@keyframes pulseCta {
	50% {
		transform: scale(1);
	}
}

.cta-info {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #202e3b;
	font-weight: 700;
	font-size: 11px;
	line-height: 17px;
	margin-top: 16px;
}

.cta-info div {
	display: flex;
	align-items: center;
}

.cta-info div:first-child:before {
	content: '';
	height: 7px;
	width: 7px;
	border-radius: 50%;
	background-color: #95df89;
	margin: 0 7px 1px 0;
	box-shadow: 0 0 0 3px #adf4a1;
	animation: shipPulse 1.85s infinite ease-in-out;
}

@keyframes shipPulse {
	50% {
		opacity: 0.33;
		box-shadow: 0 0 0 1px #adf4a1;
	}
}

.cta-info div:first-child:after {
	content: '';
	height: 10px;
	width: 10px;
	background-color: #EA4701;
	margin: 0 55px 2px 5px;
	color: #f1eeea;
	box-shadow: 12px 0 0 0, 24px 0 0 0, 24px 0 0 0, 36px 0 0 0, 48px 0 0 0;
}

.cta-date {
	margin-left: 4px;
}

.cta-info span:last-child {
	color: #b9b9b9;
	margin: 0 4px;
}

.cta-info div:last-child {
	font-size: 12px;
	color: #ea4701;
}

.section-title p {
	line-height: 26px;
}

header {
	background: rgba(255, 255, 255, 0.98);
	padding: 16px 0 15px 0;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 2;
}

header nav {
	color: #202e3b;
	font-size: 15px;
	line-height: 42px;
	gap: 77px;
	padding-right: 16px;
}

header nav ul a {
	padding: 10px 16px;
}

header nav li {
	position: relative;
}

header .cta-button {
	color: #202E3B;
	font-size: 18px;
	line-height: 38px;
	padding: 0 13px;
	border: 2px solid #1E5EC2;
	background-color: #ffffff;
	box-shadow: none;
	transition: 0.1025s background ease-in-out, color, 0.115s color ease-in;
}

header .cta-button:hover {
	color: #ffffff;
	background-color: #1e5ec2;
}

#hero {
	padding-top: 77px;
}

.banner {
	background: #f4fbff;
}

.banner-inner {
	position: relative;
	padding-top: 54px;
	padding-bottom: 63px;
}

.banner-rating {
	font-size: 14px;
	line-height: 24px;
	gap: 4px;
	margin: 0 0 7px 3px;
}

.banner-content h1 {
	margin-bottom: 14px;
}

.banner-content h1 span {
	background-image: linear-gradient(0deg, transparent 0, transparent 14px, rgba(251, 255, 38, 0.50) 14px, rgba(251, 255, 38, 0.50) 35px, transparent 0);
}

.banner-content p {
	font-size: 20px;
	font-weight: 700;
	line-height: 36px;
}

.banner-brands {
	background-color: #000000;
	padding: 17px 0;
}

.banner-list {
	margin: 14px 0 28px 0;
	font-weight: 500;
	gap: 5px;
}

.banner-list li {
	display: flex;
	gap: 12px;
	font-size: 18px;
}

.banner-list li:before {
	content: '';
	background-image: url('../img/int/icon-blue-checkmark.svg');
	width: 20px;
	height: 20px;
	margin-top: 3px;
}

.banner-image {
	right: 5px;
	top: 56px;
	max-width: 526px;
	width: calc(75vw - 425px);
}

.message-effect {
	position: absolute;
	color: #000;
	font-size: 13px;
	font-weight: 700;
	line-height: 20px;
	z-index: 1;
}

.message-effect div {
	border-radius: 17px;
	padding: 10px 16px 9px 15px;
	width: max-content;
	opacity: 0;
	transition: 0.225s 0.2s;
}

.banner .message-effect.message-1 {
	top: 8.8%;
	left: calc(70% - 209px);
}

.banner .message-effect.message-2 {
	right: calc(16% - 29px);
	top: calc(65% - 81px);
}

.message-effect .message-A {
	background: #45CFEB;
	position: relative;
}

.message-effect .message-A:before {
	position: absolute;
}

.message-effect .message-B {
	background: #FBFE92;
	transform: translate(28px, -15px) scale(0.86);
}

.banner .message-effect .message-B {
	padding: 10px 13px 9px 15px;
}

.banner .message-effect.message-1 .message-A:before,
.introduction-block.block-A .message-effect.message-1 .message-A:before {
	content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDE4IiBmaWxsPSJub25lIj4NCiAgPHBhdGggZD0iTTIzLjE1MjcgMTcuNjI3OEwwLjAzNzg4ODcgMTUuMDg2N0w3LjUwNjM4IDAuNDI0ODE1TDIzLjE1MjcgMTcuNjI3OFoiIGZpbGw9IiM0NUNGRUIiLz4NCjwvc3ZnPg==);
	right: -14px;
	bottom: -3px;
}

.banner .message-effect.message-2 .message-A:before {
	content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuNDY3OTEzIDAuMTg5MDAzTDIzLjEyNDkgNS40MjQ0MUwxMy45ODc5IDE5LjEwODlMMC40Njc5MTMgMC4xODkwMDNaIiBmaWxsPSIjNDVDRkVCIi8+Cjwvc3ZnPgo=);
	left: -11px;
	top: 1px;
}

.introduction-block.block-A .message-effect.message-2 .message-A:before {
	content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyIgaGVpZ2h0PSIyNSIgdmlld0JveD0iMCAwIDE3IDI1IiBmaWxsPSJub25lIj4NCiAgPHBhdGggZD0iTTIuNzQxNzcgMC45MDQ1OTZMMTYuMTAxMiAxOS45MzgxTDAuMTU5Nzg1IDI0LjAxNDhMMi43NDE3NyAwLjkwNDU5NloiIGZpbGw9IiM0NUNGRUIiLz4NCjwvc3ZnPg==);
	top: -18px;
	left: 15px;
}

@keyframes showMessage1 {
	0% {
		transform: scale(0.96);
		filter: brightness(1.25) hue-rotate(-25deg);
	}

	22% {
		opacity: 1;
	}

	100% {
		transform: none;
		filter: none;
		opacity: 1;
	}
}

@keyframes showMessage2 {
	0% {
		filter: brightness(1.25) hue-rotate(-15deg);
	}

	18% {
		opacity: 0;
	}

	94% {
		opacity: 1;
	}

	100% {
		opacity: 1;
		filter: none;
		transform: translate(36px, -6px) scale(1);
	}
}

.banner-image.effect .message-1 .message-A {
	animation: showMessage1 2.25s forwards;
}

.introduction-block.block-A.effect .message-1 .message-A {
	animation: showMessageBlock1 2.25s forwards;
}

.banner-image.effect .message-2 .message-A {
	animation: showMessage1 1.65s 1.175s forwards;
}

.introduction-block.block-A.effect .message-2 .message-A {
	animation: showMessageBlock1 1.65s 1.175s forwards;
}

.banner-image.effect .message-1 .message-B {
	animation: showMessage2 2.25s forwards;
}

.introduction-block.block-A.effect .message-1 .message-B {
	animation: showMessageBlock2 2.25s forwards;
}

.banner-image.effect .message-2 .message-B {
	animation: showMessage2 1.65s 1.175s forwards;
}

.introduction-block.block-A.effect .message-2 .message-B {
	animation: showMessageBlock2B 1.65s 1.175s forwards;
}

@keyframes showMessageBlock1 {
	0% {
		transform: scale(0.96);
		filter: brightness(1.25) hue-rotate(-25deg);
	}

	22% {
		opacity: 1;
	}

	100% {
		transform: none;
		filter: none;
		opacity: 1;
	}
}

@keyframes showMessageBlock2 {
	0% {
		filter: brightness(1.25) hue-rotate(-15deg);
	}

	18% {
		opacity: 0;
	}

	94% {
		opacity: 1;
	}

	100% {
		opacity: 1;
		filter: none;
		transform: translate(-4px, -6px) scale(1);
	}
}

@keyframes showMessageBlock2B {
	0% {
		filter: brightness(1.25) hue-rotate(-15deg);
	}

	18% {
		opacity: 0;
	}

	94% {
		opacity: 1;
	}

	100% {
		opacity: 1;
		filter: none;
		transform: translate(36px, -6px) scale(1);
	}
}

.banner-guarantee-seal {
	right: 30px;
	bottom: 21px;
	aspect-ratio: 9 / 10;
	width: 20%;
	max-width: 99px;
	min-width: 80px;
}

.introduction {
	padding: 20px 0 6px 0;
}

.introduction h2 {
	text-align: center;
	max-width: 880px;
	margin: 36px auto 34px auto;
}

.introduction-block {
	position: relative;
}

.introduction-block-bg-img {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	object-fit: none;
	pointer-events: none;
}

.introduction-block.block-A .introduction-block-bg-img,
.introduction-block.block-D .introduction-block-bg-img {
	object-position: 100% 100%;
}

.introduction-block.block-B .introduction-block-bg-img {
	object-position: 60% 100%;
}

.introduction-block.block-C {
	color: #ffffff;
}

.introduction-block.block-D {
	background-color: #f2f2f4;
}

.introduction-block.block-E {
	background-color: #ffffff;
}

.introduction-block.block-F {
	color: #ffffff;
	background-color: #000000;
}

.introduction-block-content {
	position: relative
}

.introduction-block h3 {
	margin-bottom: 10px;
}

.introduction-block p {
	font-size: 17px;
	font-weight: 400;
	line-height: 28px;
}

.introduction-block span {
	color: #2EA9C2;
	font-size: 26px;
	font-weight: 700;
	line-height: 36px;
}

.introduction-block-image {
	position: absolute;
}

.introduction-block.block-A.effect .message-effect.message-1 {
	top: 71px;
	right: 127px;
}

.introduction-block.block-A .message-effect.message-1 .message-B {
	max-width: 184px;
	padding: 8px 10px;
    line-height: 15px;
}

.introduction-block.block-A.effect .message-effect.message-2 {
	right: 102px;
	top: 333px;
}

.introduction .cta-button-wrapper {
	padding: 35px 0;
}

.languages .section-title {
	margin-bottom: 30px;
}

.languages .section-title h2 {
	margin-bottom: 12px;
}

.languages-item-content {
	position: absolute;
	width: 100%;
	bottom: 0;
	text-align: center;
}

.languages-item-content span {
	font-size: 18px;
}

.languages-item-content div {
	font-size: 24px;
	line-height: 32px;
	font-weight: 700;
	margin-top: 14px;
}

.languages .cta-button-wrapper {
	margin: 35px 0;
}

.modes {
	padding: 4px 0 30px 0;
}

.modes .section-title h2 {
	margin-bottom: 10px;
}

.modes .section-title {
	max-width: 624px;
	margin: 0 auto;
}

.modes-items {
	display: flex;
	margin: 33px auto 37px auto;
}

.mode-item {
	flex: 1;
}

.mode-item-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.mode-item .mode-content {
	padding: 30px 20px 32px 23px;
	background: #F4FBFF;
	font-size: 17px;
	line-height: 26px;
	flex: 1;
}

.mode-item .mode-content h5 {
	margin-bottom: 17px;
}

.mode-item .mode-content div {
	font-weight: 700;
	margin-bottom: 8px;
}

.mode-item:nth-child(2n + 1) .mode-content {
	color: #ffffff;
	background: #000000;
}

.usage {
	padding-top: 21px;
}

.usage .section-title {
	margin-bottom: 40px;
}

.usage-block.block-B,
.usage-block.block-C {
	color: #ffffff;
}

.usage-block {
	position: relative;
}

.usage-block-image {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	object-fit: none;
}

.comparison-row {
	display: flex;
}

.features {
	color: #ffffff;
	background: linear-gradient(180deg, #1F1F1F 0%, #000 100%);
}

.features .section-title {
	padding: 65px 0 19px 0;
	max-width: 740px;
	margin: 0 auto;
}

.features-list {
	gap: 34px 73px;
	justify-content: center;
	max-width: 1055px;
	margin: -152px auto 0 auto;
	padding-bottom: 50px;
}

.features-item {
	max-width: 200px;
}

.features-item h5 {
	color: #2EA9C2;
	margin-bottom: 8px;
}

.features-item p {
	font-size: 17px;
	line-height: 26px;
}

.comparison-table-wrapper {
	border-top: 1px solid #626262;
}

.comparison-table-wrapper .section-title {
	padding: 40px 0 66px 0;
}

.comparison-table {
	max-width: 784px;
	margin: 0 auto 42px auto;
}

.comparison-row {
	border-top: 1px dashed #ffffff;
}

.comparison-row div {
	display: flex;
	gap: 10px;
	align-items: center;
}

.comparison-header {
	border: none;
	height: 142px;
}

.comparison-row div:first-child {
	font-weight: 700;
	padding: 12px 20px 9px 0;
	width: 33.0365%;
}

.comparison-row div:nth-child(2) {
	background: #12869D;
	font-weight: 700;
	padding: 12px 21px 9px 14px;
	width: 32.6545%;
}

.comparison-row div:before {
	height: 19px;
	width: 19px;
}

.comparison-row div:nth-child(2):before {
	content: '';
	background-image: url('../img/int/icon-black-checkmark.svg');
}

.comparison-row div:nth-child(3):before {
	content: '';
	background-image: url('../img/int/icon-red-crossmark.svg');
}

.comparison-row.comparison-header div::before {
	content: none;
}

.comparison-footer div:nth-child(2):before,
.comparison-footer div:nth-child(3):before {
	content: none;
}

.comparison-row div:nth-child(3) {
	padding: 12px 21px 9px 27px;
	flex: 1;
}

.comparison-header-product {
	border-radius: 4px 4px 0 0;
	position: relative;
}

.comparison-header-product img {
	position: absolute;
	left: 0;
	right: 26px;
	bottom: 8px;
	margin: 0 auto;
}

.comparison-footer div:first-child,
.comparison-footer div:nth-child(2),
.comparison-footer div:nth-child(3) {
	border-radius: 0 0 4px 4px;
	padding: 0;
	height: 9px;
}

.comparison-row div.comparison-header-other {
	align-items: flex-end;
	font-weight: 700;
	padding-bottom: 20px;
	line-height: 21px;
}

.comparison-row span {
	flex: 1;
}

.guarantee {
	background: #232323;
	padding: 46px 0;
}

.guarantee-content {
	max-width: 678px;
	margin: 0 auto;
	gap: 16px;
}

.guarantee-content h5 {
	font-size: 22px;
	text-transform: uppercase;
}

.guarantee-content p {
	font-size: 16px;
	line-height: 25px;
}

.reviews {
	padding: 37px 0 30px 0;
}

.reviews .cta-button-wrapper {
	margin-bottom: 38px;
}

.reviews .section-title {
	max-width: 670px;
	margin: 0 auto 35px auto;
}

.reviews-list {
	column-width: 250px;
	column-gap: 16px;
	max-width: 1092px;
	margin: 0 auto;
}

.review {
	break-inside: avoid;
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
}

.review-image {
	border-radius: 4px 4px 0 0;
	width: 100%;
	height: 170px;
	object-fit: cover;
}

.review-content {
	font-size: 16px;
	line-height: 26px;
	display: flex;
	flex-direction: column;
	padding: 27px 8px 19px 19px;
	border-left: 1px solid #E5E5E5;
	border-right: 1px solid #E5E5E5;
	border-bottom: 1px solid #E5E5E5;
	border-radius: 0 0 4px 4px;
}

.review-text {
	margin-right: 7px;
}

.review-author {
	display: flex;
	align-items: center;
	font-size: 14px;
	gap: 3px;
	margin-top: 5px;
}

.review-rate {
	margin-bottom: 10px;
}

.review-author div {
	font-weight: 700;
}

.review-author span {
	color: #07A965;
}

.review-content p {
	margin-bottom: 5px;
}

.banner-footer h1 {
	max-width: 500px;
}

.faq {
	padding: 42px 0 264px 0;
}

.faq .section-title {
	max-width: 740px;
	margin: 0 auto 34px auto;
}

.faq .section-title h2 {
	line-height: 63px;
}

.faq-items {
	gap: 24px;
}

.faq-item {
	padding: 24px 59px 24px 33px;
	transition: padding 0.12s;
	font-size: 18px;
	line-height: 35px;
	border: 1px solid #DCDCDC;
	border-radius: 8px;
	position: relative;
}

.faq-item.open {
	padding: 24px 59px 13px 33px;
}

.faq-opener {
	content: '';
	height: 30px;
	width: 30px;
	position: absolute;
	border: 2px solid #1E5EC2;
	border-radius: 50%;
	right: 29px;
	top: 29px;
	transition: 0.21s ease-in-out;
}

.faq-item.open .faq-opener {
	top: 49px;
}

.faq-opener:before,
.faq-opener:after {
	content: '';
	height: 2px;
	width: 16px;
	background-color: #1E5EC2;
	position: absolute;
	top: 12px;
	left: 5px;
	transition: transform 0.185s ease-in-out, filter 0.175s ease-in;
}

.faq-opener:after {
	transform: rotate(90deg);
}

.faq-item.open .faq-opener:before {
	transform: rotate(150deg);
	filter: opacity(0);
	transition: 0.12s transfor, filter 0.115s ease-in-out;
}

.faq-item.open .faq-opener:after {
	transform: rotate(180deg);
	filter: opacity(1);
}

.faq-question {
	font-weight: 700;
}

.faq-answer-container {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.22s cubic-bezier(0.85, 0.29, 0.51, 1.47);
}

.faq .cta-button-wrapper {
	margin-top: 52px;
}

footer {
	color: rgba(255, 255, 255, 0.50);
	background-color: #091016;
	padding: 43px 0 40px 0;
	font-size: 14px;
	line-height: 24px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/int/footer-bg-image-dt.webp);
}

footer img {
	margin-bottom: 25px;
}

footer ul {
	gap: 30px;
}

footer ul li {
	position: relative;
}

footer ul li:not(:last-child)::after {
	content: "|";
	position: absolute;
	right: -16px;
	top: 50%;
	transform: translateY(-50%);
	color: rgba(255, 255, 255, 0.50);
	font-size: inherit;
}

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

	.introduction-block .introduction-block-bg-img,
	.usage-block.block-A .usage-block-image,
	.usage-block.block-B .usage-block-image,
	.usage-block.block-D .usage-block-image {
		object-fit: cover;
	}

	.introduction-block.block-A .introduction-block-bg-img,
	.introduction-block.block-D .introduction-block-bg-img {
		object-fit: none;
	}
}

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

	.introduction-block.block-B,
	.introduction-block.block-E,
	.introduction-block.block-F {
		padding-left: 60px;
	}

	.introduction-block-image {
		left: 411px;
	}
}

@media screen and (max-width: 1320px) and (min-width: 992px) {

	.introduction-block.block-B,
	.introduction-block.block-E,
	.introduction-block.block-F {
		padding: 20px;
	}

	.introduction-block-image {
		left: 356px;
	}

	.introduction-block.block-A .introduction-block-bg-img {
		object-position: 90% 100%;
	}

	.introduction-block.block-A.effect .message-effect.message-1 {
		right: 10%;
	}

	.introduction-block.block-A.effect .message-effect.message-2 {
		right: 5%;
	}

	.introduction-block.block-B .introduction-block-bg-img {
		object-position: 52% 100%;
	}

	.introduction-block.block-D .introduction-block-bg-img {
		object-position: 64% 100%;
	}
}

@media screen and (max-width: 1250px) {
	.banner-image {
		right: 20px;
	}
}

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

	.message-effect .message-A,
	.message-effect .message-B {
		font-size: 12px;
		padding: 8px 12px;
	}
}

@media screen and (min-width: 992px) {
	.hide-dt {
		display: none;
	}

	header nav li:before {
		content: '';
		background-color: #1e5ec2;
		position: absolute;
		height: 3px;
		width: calc(100% - 34px);
		left: 17px;
		bottom: 7px;
		transform: translate(0, -2px) scale(1, 1.65);
		opacity: 0;
		transition: 0.095s ease-in-out;
	}

	header nav li.active,
	header nav li:hover {
		font-weight: 700;
	}

	header nav li.active:before,
	header nav li:hover:before {
		transform: none;
		opacity: 1;
	}

	.hero-product-image {
		position: absolute;
		top: 297px;
		left: 485px;
		z-index: 1;
	}

	.banner-title {
		max-width: 620px;
	}

	.introduction-block {
		display: flex;
		padding: 44px 20px;
	}

	.introduction-block.block-A {
		height: 578px;
	}

	.introduction-block.block-A,
	.introduction-block.block-D {
		justify-content: flex-end;
	}

	.introduction-block.block-A,
	.introduction-block.block-B,
	.introduction-block.block-D,
	.introduction-block-subgroup {
		width: 50%;
	}

	.introduction-block-subgroup {
		overflow: hidden;
	}

	.introduction-block.block-A .introduction-block-content,
	.introduction-block.block-D .introduction-block-content {
		max-width: 633px;
		width: 100%;
	}

	.introduction-block.block-A p {
		max-width: 276px;
	}

	.introduction-block.block-B .introduction-block-content {
		max-width: 281px;
	}

	.introduction-block.block-C {
		padding: 173px 20px 195px 20px;
		color: #ffffff;
		height: 576px;
	}

	.introduction-block.block-C .introduction-block-content {
		max-width: 1356px;
		width: 100%;
		margin: 0 auto;
	}

	.introduction-block.block-C .introduction-block-content p {
		max-width: 495px;
	}

	.introduction-block.block-D {
		height: 578px;
	}

	.introduction-block.block-D .introduction-block-content p {
		max-width: 271px;
	}

	.introduction-block.block-E,
	.introduction-block.block-F {
		height: 289px;
	}

	.introduction-block.block-E .introduction-block-content p {
		max-width: 326px;
	}

	.introduction-block.block-F .introduction-block-content p {
		max-width: 324px;
	}

	.introduction-block-image {
		top: -249px;
		width: 35%;
		max-width: 252px;
	}

	.languages-wrapper {
		overflow: hidden;
		position: relative;
		width: 100%;
	}

	.languages-items {
		display: flex;
		gap: 13px;
		animation: scroll-left 48s linear infinite;
		width: max-content;
		color: #ffffff;
	}

	@keyframes scroll-left {
		to {
			transform: translateX(calc(-50% - 13px));
		}
	}

	.languages-item,
	.languages-items>div {
		flex: 0 0 auto;
		min-width: 220px;
		/* or whatever suits your image size */
	}

	.languages-items>div {
		width: 281px;
		height: 402px;
		position: relative;
	}

	.languages-items img {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
	}

	.languages-item-content {
		padding: 20px 2px 28px 2px;
	}

	.modes-items {
		display: flex;
		max-width: 1316px;
		width: 100%;
		padding: 0 20px;
		gap: 20px;
	}

	.usage-blocks {
		height: 578px;
	}

	.usage-block {
		display: flex;
	}

	.usage-block h4 {
		position: absolute;
		max-width: 700px;
		padding: 52px 30px 30px 52px;
		width: 100%;
	}

	.usage-block.block-B h4 {
		padding-left: 39px;
	}

	.usage-block.block-C h4 {
		padding: 32px 30px 30px 39px;
	}

	.usage-block.block-D h4 {
		padding: 32px 30px 30px 34px;
	}

	.usage-block.block-A {
		justify-content: flex-end;
	}

	.usage-block.block-A .usage-block-image {
		object-position: 100%;
	}

	.usage-block.block-B .usage-block-image {
		object-position: 0;
	}

	.usage-block.block-A,
	.usage-blocks-group {
		width: 50%;
	}

	.usage-block.block-B,
	.usage-blocks-subgroup {
		height: 50%;
	}

	.usage-blocks-subgroup .usage-block {
		width: 50%;
	}

	.comparison-footer {
		border: none;
	}

	.banner-footer .banner-guarantee-seal {
		top: 83px;
		left: -56px;
		bottom: unset;
	}

	.banner-footer .banner-list {
		margin-top: 0;
	}
}

@media screen and (max-width: 991px) {
	.hide-mb {
		display: none;
	}

	.container {
		padding-left: 16px;
		padding-right: 16px;
	}

	h1 {
		font-size: 36px;
		line-height: 38px;
	}

	h2 {
		font-size: 28px;
		line-height: 34px;
	}

	h3 {
		font-size: 24px;
		font-weight: 700;
		line-height: 38px;
	}

	.cta-button {
		font-size: clamp(14px, 5vw, 20px);
		padding: 11px 25px;
		letter-spacing: 0.45px;
	}

	.cta-info {
		margin-top: 18px;
	}

	header nav {
		gap: 25px;
		padding-right: 0;
	}

	#hero {
		padding-top: 56px;
	}

	.banner-inner {
		padding-top: 19px;
		padding-bottom: 7px;
	}

	.banner-rating {
		flex-direction: column;
		align-items: center;
		margin: 0 0 6px 0;
		gap: 6px;
	}

	.banner-content h1 {
		text-align: center;
		max-width: 360px;
		margin: 0 auto 10px auto;
	}

	.banner-footer .banner-content h1 {
		max-width: 300px;
	}

	.banner-content h1 span {
		background-image: linear-gradient(0deg, transparent 0, transparent 10px, rgba(251, 255, 38, 0.50) 10px, rgba(251, 255, 38, 0.50) 25px, transparent 0);
	}

	.hero-product-image {
		text-align: center;
		margin: 0 auto 22px auto;
		position: relative;
		width: fit-content;
	}

	.banner-guarantee-seal {
		width: 90px;
		height: 100px;
		bottom: 9px;
		right: 0;
	}

	.banner-brands {
		position: relative;
		left: -16px;
		width: calc(100% + 32px);
		overflow: hidden;
		padding: 4px 0 5px 0;
	}

	.banner-brands .scroll-track {
		display: flex;
		width: max-content;
		animation: scroll-left 30s linear infinite;
	}

	.banner-brands .scroll-track img {
		flex-shrink: 0;
		height: auto;
		width: auto;
		max-height: 100px;
		margin: 0 36px;
		object-fit: contain;
	}

	@keyframes scroll-left {
		100% {
			transform: translateX(-50%);
		}
	}

	.banner-content p {
		line-height: 27px;
		text-align: center;
		max-width: 280px;
		margin: 21px auto 10px auto;
	}

	.banner-list-wrapper {
		display: flex;
		justify-content: center;
	}

	.banner-list {
		font-weight: 600;
		margin: 6px 0 20px 0;
	}

	.banner-list li {
		font-size: 17px;
		line-height: 26px;
		gap: 14px;
	}

	.banner-list li:before {
		margin-top: 4px;
	}

	.introduction {
		padding-top: 0;
	}

	.introduction h2 {
		margin: auto;
		padding: 30px 0 23px 0;
		max-width: 270px;
	}

	.introduction-block {
		padding: 29px 16px;
	}

	.introduction-block h3 {
		margin-top: -2px;
		margin-bottom: 2px;
	}

	.introduction-block span {
		font-size: 24px;
		line-height: 24px;
	}

	.introductions-blocks-group {
		flex-direction: column;
	}

	.introduction-block.block-A {
		padding-bottom: 541px;
	}

	.introduction-block.block-A.effect .message-effect.message-1 {
        right: 120px;
        top: unset;
        bottom: 424px;
	}

	.introduction-block.block-A.effect .message-effect.message-2 {
        right: 114px;
        top: unset;
        bottom: 162px;
	}

	.introduction-block.block-B {
		padding-bottom: 474px;
	}

	.introduction-block.block-C {
		padding: 40px 16px 463px 16px;
	}

	.introduction-block.block-D {
		padding: 44px 16px 450px 16px;
	}

	.introduction-block.block-B .introduction-block-bg-img {
		object-position: 84.5% calc(100% + 50px);
	}

	.introduction-block.block-B span {
		color: #ffffff;
	}

	.introduction-block.block-D .introduction-block-bg-img {
		object-position: 50% 100%;
	}

	.introduction-block.block-E {
		padding: 30px 16px 37px 16px;
	}

	.introduction-block.block-F {
		padding-bottom: 340px;
	}

	.introduction-block-image {
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	}

	.introduction .cta-button-wrapper {
		padding: 33px 0 26px 0;
	}

	.languages .section-title {
		margin-bottom: 28px;
	}

	.languages .section-title h2 {
		margin-bottom: 7px;
	}

	.languages-item,
	.languages-items .tns-item,
	.languages-items img {
		position: relative;
		height: 350px;
	}

	.languages-items img {
		object-fit: cover;
	}

	.languages-item-content {
		color: #ffffff;
		width: calc(100% - 10px);
	}

	.slider-nav {
		gap: 8px;
		justify-content: center;
		padding: 30px 0 0 0;
	}

	.slider-nav span {
		width: 11px;
		height: 11px;
		border-radius: 50%;
		background-color: #D9D9D9;
		cursor: pointer;
	}

	.slider-nav span.tns-nav-active {
		background-color: #A4A4A4;
	}

	.slider-nav.modes-nav {
		padding-top: 0;
		padding-bottom: 40px;
	}

	.languages-item-content span {
		display: inline-block;
		line-height: 24px;
	}

	.languages-item-content div {
		margin: 10px 0 20px 0;
	}

	.languages .cta-button-wrapper {
		margin-top: 30px;	
	}

	.mode-image {
		height: 277px;
	}

	.mode-item .mode-content h5 {
		font-size: 22px;
	}

	.mode-image img {
		height: 100%;
		width: 100%;
		object-fit: cover;
	}

	.usage-blocks {
		flex-direction: column;
	}

	.usage-block {
		height: 289px;
		width: 100%;
	}

	.usage-blocks-subgroup {
		flex-direction: column;
	}

	.usage-block-image {
		object-fit: cover;
	}

	.usage-block h4 {
		position: relative;
		font-size: 22px;
		line-height: 29px;
		padding: 26px 17px;
	}

	.features .section-title {
		padding: 42px 0 26px 0;
	}

	.features-list {
		margin: -123px auto 0 auto;
	}

	.features-item {
		max-width: 294px;
		margin-left: 2px;
	}

	.features-item h5 {
		font-size: 22px;
		line-height: 26px;
		margin-bottom: 10px;
	}

	.guarantee {
		padding: 27px 0 24px 0;
	}

	.guarantee-content {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 13px;
	}

	.guarantee-content h5 {
		max-width: 256px;
		width: 100%;
		margin: 0 auto 10px auto;
		font-size: 18px;
		line-height: 22px;
	}

	.guarantee-content p {
		max-width: 294px;
		width: 100%;
		margin: 0 auto;
		font-size: 14px;
		line-height: 22px;
	}

	.comparison-table {
		margin: 41px 0 47px 0;
	}

	.comparison-header {
		height: 72px;
	}

	.comparison-header-product img {
		right: 0;
	}

	.comparison-row {
		font-size: 14px;
		line-height: 18px;
	}

	.comparison-row div {
		gap: 9px;
	}

	.comparison-row div:first-child {
		padding: 6px 5px 6px 0;
		width: 29.5%;
	}

	.comparison-row div:nth-child(2) {
		padding: 6px 5px 6px 5px;
		width: 35%;
	}

	.comparison-row div:nth-child(3) {
		padding: 6px 0 6px 14px;
	}

	.reviews {
		padding: 37px 0 4px 0;
	}

	.banner-footer .banner-inner {
		padding-top: 31px;
	}

	.banner-footer .cta-button-wrapper {
		margin-top: 2px;
	}

	.faq {
		background: #F4FBFF;
		padding: 48px 0;
		margin-bottom: 218px;
	}

	.faq .section-title {
		max-width: 320px;
		margin: 0 auto 18px auto;
	}

	.faq .section-title h2 {
		line-height: 37px;
	}

	.faq-items {
		gap: 20px;
	}

	.faq-item {
		border: none;
		background: #ffffff;
		padding: 18px 100px 18px 19px;
		font-size: 16px;
		line-height: 27px;
	}

	.faq-item.open {
		padding: 18px 100px 18px 19px;
	}

	.faq-opener {
		top: 16px;
		right: 17px;
	}

	.faq-item.open .faq-opener {
		top: 23px;
	}

	.faq-answer {
		line-height: 28px;
	}

	.cta-fixed {
		background: #ffffff;
		z-index: 1;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		padding: 10px 0;
		transition: opacity 0.175s, transform 0.17s;
	}

	.cta-fixed.hidden {
		pointer-events: none;
		opacity: 0;
		transform: translate(0, 7px);
	}

	.faq .cta-button-wrapper {
		margin: 0;
	}

	footer {
		padding-bottom: 150px;
	}
}

@media screen and (max-width: 991px) and (min-width: 960px) {
	.introduction-block-bg-img {
		object-fit: cover;
	}

}

@media screen and (min-width: 768px) {
	.menu-opener {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	header {
		padding: 12px 0 10px 0;
		border-bottom: 1px solid #D6D6D6;
	}

	.header-content {
		align-items: center;
		padding: 0 24px;
	}

	header .logo img {
		width: 66px;
		height: 33px;
	}

	header .go-to-offer {
		display: none;
	}

	header nav {
		background-color: #ffffff;
		position: absolute;
		bottom: 0;
		transform: translate(-100%, 100%);
		transition: 0.18s transform ease-out, opacity 0.095s ease-in-out;
		opacity: 0;
		width: 100%;
		left: 0;
	}

	header nav ul {
		width: 100%;
		flex-direction: column;
	}

	header nav ul a {
		display: inline-block;
		width: 100%;
		color: #000;
		font-size: 16px;
		font-weight: 500;
		line-height: 24px;
		border-bottom: 1px solid #D6D6D6;
		border-left: 1px solid #D6D6D6;
		border-right: 1px solid #D6D6D6;
		padding: 11px 14px 10px 14px;
	}

	header nav ul li:first-child a {
		border-top: 1px solid #D6D6D6;
	}

	header .menu-opener {
		width: 28px;
		height: 22px;
		position: relative;
		order: 1;
	}

	header .menu-opener span {
		position: absolute;
		height: 4px;
		width: 100%;
		background-color: #000000;
		top: 0;
		left: 0;
		border-radius: 20px;
		transition: 0.17s;
	}

	header .menu-opener span:nth-child(2) {
		top: 9px;
	}

	header .menu-opener span:nth-child(3) {
		top: 18px;
	}

	header .menu-opener.open span:first-child {
		transform: rotate(45deg);
		top: 10px;
	}

	header .menu-opener.open span:nth-child(2) {
		transform: rotate(-45deg);
		top: 10px;
	}

	header .menu-opener.open span:nth-child(3) {
		opacity: 0;
		top: 10px;
	}

	header .menu-opener.open~nav {
		transform: translate(0, 100%);
		opacity: 1;
		transition: 0.125s transform ease-out, opacity 0.125s ease-out;
	}

	header nav li.active a,
	header nav li:hover a {
		font-weight: 700;
		color: #ffffff;
		background: #1E5EC2;
	}
}


@media screen and (max-width: 600px) {
	.usage-block {
		height: 191px;
	}

	.usage-block.block-A {
		height: 298px;
	}

	.reviews-list {
		display: flex;
		flex-direction: column;
	}

	.review:nth-child(1) {
		order: 1;
	}

	.review:nth-child(2) {
		order: 5;
	}

	.review:nth-child(3) {
		order: 2;
	}

	.review:nth-child(4) {
		order: 6;
	}

	.review:nth-child(5) {
		order: 3;
	}

	.review:nth-child(6) {
		order: 7;
	}

	.review:nth-child(7) {
		order: 4;
	}

	.review:nth-child(8) {
		order: 8;
	}

	footer {
		background-image: url(../img/int/footer-bg-image-mb.webp);
		background-size: 100%;
		background-position: 0 0;
		font-size: 12px;
		line-height: 20px;
	}

	footer ul {
		gap: 20px;
	}

	footer ul li:not(:last-child)::after {
		right: -12px;
	}
}


@media screen and (max-width: 374px) {
	.comparison-row {
		letter-spacing: -0.32px;
		font-size: 13px;
		line-height: 17px;
	}

	.comparison-row div:nth-child(2) {
		padding: 10px 4px 8px 4px;
		width: 36.5%;
	}

	.comparison-row div:nth-child(3) {
		padding: 10px 0 8px 4px;
	}
}