/*
	CSS file for Darts Matek
*/


/*	General	
------------------------------*/
	
	* {
		padding: 0;
		margin: 0;
		outline: none;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	body {
		color: #113041;
		font-family: Montserrat, sans-serif;
		font-size: 22px;
		font-weight: 400;
		line-height: 150%;
		margin-top: 146px;
		background: #fff;
	}

		body.no-scroll {
			overflow: hidden;
			height: 100vh; /* Prevents background content from moving */
		}
	
	img,
	svg {
		display: block;
		max-width: 100%;
		height: auto;
	}

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

	a img {
		border: 0;
	}

	a,
	svg,
	path,
	button {
		transition: all ease 0.4s;
	}

	.container {
		width: calc(100% - 128px);
		max-width: 1310px;
		margin: 0 auto;
	}

	.wrapper {
		position: relative;
		overflow: hidden;
	}

	::selection {
		color: #113041;
		background: #D7DF23;
	}

	.responsive-video {
		height: 0;
		padding-top: 25px;
		padding-bottom: 67.5%;
		position: relative;
		overflow: hidden;
	}

		.responsive-video.widescreen {
			padding-bottom: 57.25%;
		}

		.responsive-video.vimeo {
			padding-top: 0;
		}

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


/*	Common Elements
-------------------------------------------*/


	/*
	 *	Button
	 */
	.btn {
		display: inline-block;
		color: #113041;
		font-family: Montserrat, sans-serif;
		font-size: 18px;
		font-weight: 700;
		line-height: normal;
		text-align: center;
		text-transform: uppercase;
		padding: 17px 32px 18px 32px;
		border-radius: 32px;
		background: #D7DF23;
		box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0);
		box-sizing: border-box;
		border: 0;
		cursor: pointer;
		transition: all ease 0.4s;
	}

		.btn:hover {
			background: #E4EC20;
			box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0.16);
		}

	.btn.outline {
		padding: 15px 32px 16px 32px;
		background: rgba(17, 48, 65, 0);
		border: 2px solid #113041;
	}

		.btn.outline:hover {
			background: rgba(17, 48, 65, 0.08);
			box-shadow: none;
		}

	.btn.transparent {
		background: transparent;
	}

		.btn.transparent:hover {
			background: #E4EC20;
			box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0.16);
		}


	/*
	 *	Appstore
	 */
	.appstore {

	}

		.appstore .links {
			display: flex;
			margin-top: 24px;
		}

			.appstore .links a + a {
				margin-left: 24px;
			}


	/*
	 *	Form
	 */
	.form-wrapper {
		border-radius: 24px;
		padding: 64px 48px 48px 48px;
		background: #113041;
		box-sizing: border-box;
	}

	.gform_ajax_spinner,
	.gform_validation_errors,
	.gform_validation_container,
	.gform_required_legend,
	.validation_error {
		display: none;
	}

	.validation_message {
		color: #F00;
		font-size: 14px;
		font-weight: 700;
		line-height: normal;
		padding: 8px 32px 0 32px;
	}

	.gform_heading {
		margin-bottom: 40px;
	}

		.gform_heading .gform_title {
			color: #D7DF23;
			font-size: 40px;
			font-weight: 700;
			line-height: 120%;
		}

		.gform_heading .gform_description {
			color: #fff;
			font-size: 22px;
			font-style: normal;
			font-weight: 700;
			line-height: 150%;
			margin-top: 16px;
		}

	.gform_fields {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 -8px;
	}

		.gfield {
			width: 100%;
			margin: 0 8px 16px 8px;
		}

			.gfield.gfield--width-half {
				width: calc(50% - 16px);
			}

			.gfield_label {
				display: none;
			}

			.gfield input,
			.gfield textarea {
				width: 100%;
				display: block;
				color: #fff;
				font-family: Montserrat, sans-serif;
				font-size: 18px;
				font-weight: 400;
				line-height: normal;
				padding: 17px 32px 18px 32px;
				border-radius: 32px;
				background: rgba(255, 255, 255, 0.20);
				box-sizing: border-box;
				border: 0;
			}

			.gfield textarea {
				height: 160px;
				resize: none;
			}

			.gfield--type-consent {
				border: 0;
				margin-bottom: 0;
				padding-top: 24px;
			}

				.gfield--type-consent input {
					display: none;
				}

				.gfield--type-consent .ginput_container .gform-field-label {
					display: block;
					color: #fff;
					font-size: 18px;
					font-weight: 400;
					line-height: 150%;
					padding-left: 36px;
					position: relative;
					cursor: pointer;
				}

					.gfield--type-consent .gform-field-label:before {
						content: '';
						top: 1px;
						left: 0;
						width: 24px;
						height: 24px;
						border-radius: 50%;
						border: 2px solid #D7DF23;
						background: #fff;
						box-sizing: border-box;
						position: absolute;
					}

					.gfield--type-consent input:checked + .gform-field-label:before {
						background: radial-gradient(circle at center, black 7px, transparent 7px), #ffffff;
					}

				.gfield--type-consent .gform-field-label a {
					color: #D7DF23;
					font-weight: bold;
					text-decoration: underline;
				}

					.gfield--type-consent .gform-field-label a:hover {
						text-decoration: none;
					}

			.gfield--type-section:not(:first-child) {
				padding-top: 24px;
			}

				.gsection_title {
					color: #ffffff;
					font-size: 22px;
					font-weight: 700;
					line-height: 150%;
				}

			.gfield--type-repeater_start {
				display: none;
			}

			.gfield--type-repeater_end {
				padding: 0;
				margin: 0 0 8px 0;
			}

				.gfield .repeater-field-header {
					display: none;
				}

				.gfield .container-repeater-field {
					display: flex;
					justify-content: space-between;
				}

				.gf-repeater-field-button-add {
					display: inline-flex;
					align-items: center;
					color: #ffffff;
					font-size: 18px;
					font-weight: 700;
					line-height: normal;
					text-align: center;
					text-transform: uppercase;
					margin-top: 22px;
					padding: 15px 32px 16px 32px;
					border-radius: 32px;
					background: transparent;
					box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0);
					border: 2px solid #ffffff;
					box-sizing: border-box;
					cursor: pointer;
					transition: all ease 0.4s;
				}

					.gf-repeater-field-button-add svg {
						margin-right: 8px;
					}

					.gf-repeater-field-button-add:hover {
						color: #D7DF23;
						border-color: #D7DF23;
						box-shadow: none;
					}

						.gf-repeater-field-button-add:hover svg {
							fill: #D7DF23;
						}

		.form-wrapper .gform_button {
			margin-top: 32px;
		}


	/*
	 *	Select
	 */
	.select2-container {
		display: block;
		width: auto !important;
	}

		.select2-container--default .select2-selection--single {
			height: auto;
			border: 0;
			background: none !important;
			position: relative;
		}

		.select2-container .select2-selection--single .select2-selection__rendered {
			width: 100%;
			display: block;
			color: #fff;
			font-family: Montserrat, sans-serif;
			font-size: 18px;
			font-weight: 400;
			line-height: normal;
			padding: 17px 32px 18px 32px;
			border-radius: 32px;
			background: rgba(255, 255, 255, 0.20);
			box-sizing: border-box;
			border: 0 !important;
		}

		.select2-container--default .select2-selection--single .select2-selection__arrow {
			top: 0;
			bottom: 0;
			right: 30px;
			width: 14px;
			height: 100%;
			position: absolute;
			background: url('../img/select-arrow.svg') no-repeat center center / 14px 8px;
		}

			.select2-container--open .select2-selection--single .select2-selection__arrow {
				transform: rotate(180deg);
			}

			.select2-container--default .select2-selection--single .select2-selection__arrow b {
				display: none;
			}

		.select2-dropdown {
			z-index: 1;
			white-space: nowrap;
			border: 0 !important;
			border-radius: 32px !important;
			background: #415967;
			box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0.09);
			transform: translate3d(0, 15px, 0);
			overflow: hidden;
		}

			.select2-container--open .select2-dropdown--below {
				margin-top: -8px;
			}

			.select2-container--open .select2-dropdown--above {
				margin-top: -15px;
			}

			.select2-search--dropdown {
				display: none !important;
			}

			.select2-dropdown ul {
				margin: 0 !important;
			}

			.select2-results__option {
				color: #ffffff;
				font-size: 18px;
				padding: 12px 32px;
				box-sizing: border-box;
			}

				.select2-results__option:first-child {
					display: none;
				}

			.select2-container--default .select2-results__option--selected {
				background: rgba(255, 255, 255, 0.1);
			}

			.select2-container--default .select2-results__option--highlighted[aria-selected] {
				color: #113041;
				background: #D7DF23 !important;
			}


	/*
	 *	Swiper Pagination
	 */
	.swiper-pagination {
		top: auto;
		bottom: auto;
		position: relative;
		display: flex;
		justify-content: center;
		margin-top: 50px;
	}

		.swiper-pagination-bullet {
			width: 16px;
			height: 16px;
			opacity: 0.4;
			border-radius: 8px;
			background: #113041;
			transition: all ease 0.4s;
		}

		.swiper-pagination-bullet-active {
			opacity: 1;
			width: 48px;
		}


	/*
	 *	News item
	 */
	.news-item {
		display: block;
		text-align: left;
		background: #fff;
		overflow: hidden;
		position: relative;
		border-radius: 24px !important;
		box-shadow: 0 4px 24px 0 rgba(17, 48, 65, 0.08);
	}

		 .news-item .category {
			z-index: 2;
			top: 24px;
			left: 24px;
			color: #113041;
			font-size: 14px;
			font-weight: 700;
			line-height: normal;
			text-transform: uppercase;
			position: absolute;
			padding: 8px 16px;
			border-radius: 16px;
			background: #D7DF23;
		}

		 .news-item .image {
			display: block;
			width: 100%;
			padding-bottom: 75%;
			overflow: hidden;
			position: relative;
		}

			 .news-item .image img {
				width: 100%;
				height: 100%;
				position: absolute;
				object-fit: cover;
				object-position: center;
				transition: all ease 0.3s;
			}

			 .news-item:hover .image img {
				transform: scale(1.09);
			}

		 .news-item .content {
			padding: 32px 24px;
		}

			 .news-item .content .title {
				font-size: 22px;
			}

				 .news-item:hover .content .title {
					color: #CBD31C;
				}

			 .news-item .content p {
				font-size: 18px;
				line-height: 150%;
				margin-top: 12px;
			}


	/*
	 *	General Content
	 */
	.general-content {

	}

		.general-content > * {
			margin-top: 32px;
		}

		.general-content > *:first-child {
			margin-top: 0;
			padding-top: 0;
		}

		.general-content h1 {
			font-size: 48px;
			font-weight: 700;
			line-height: 120%;
		}

		.general-content h2 {
			font-size: 32px;
			font-weight: 700;
			line-height: 120%;
		}

		.general-content h3 {
			font-size: 24px;
			font-weight: 700;
			line-height: 120%;
		}

		.general-content h2 + p,
		.general-content h3 + p {
			margin-top: 16px;
		}

		.general-content a {
			color: #D7DF23;
			text-decoration: underline;
		}

			.general-content a:hover {
				text-decoration: none;
			}

		.general-content blockquote {
			font-size: 32px;
			font-weight: 700;
			line-height: 120%;
			margin-left: 85px;
			position: relative;
		}

			.general-content blockquote:before {
				content: "";
				top: -8px;
				left: -24px;
				width: 62px;
				height: 48px;
				z-index: -1;
				position: absolute;
				background: url('../img/icon-quote.svg') no-repeat top left;
			}

		.general-content img {
			display: block;
			width: 100%;
			height: auto;
			border-radius: 24px;
			margin-top: 48px;
		}

		.general-content .wp-caption {
			width: 100% !important;
			margin-top: 0;
		}

			.general-content .wp-caption .wp-caption-text {
				font-size: 18px;
				font-weight: 400;
				line-height: 150%;
				margin: 16px 24px 0 24px;
			}

		.general-content ol {
			margin-left: 30px;
		}

			.general-content ol li {
				padding-left: 5px;
			}

		.general-content ul {
			margin-left: 15px;
			list-style-type: '\2022';
		}

			.general-content ul li {
				padding-left: 20px;
			}

	
/*	Header
-------------------------------------------*/
	
	header {
		top: 0;
		left: 0;
		right: 0;
		z-index: 1000;
		position: fixed;
		background: #ffffff;
		padding: 24px 0 22px 0;
		border-bottom: 2px solid #D7DF23;
		transition: all ease 0.4s;
	}

		header .container {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}

		header .logo img {
			transition: all ease 0.4s;
		}

		header nav {
			max-width: calc(100% - 130px);
		}

		header nav ul.main {
			display: flex;
			align-items: center;
			list-style: none;
			margin-left: 106px;
		}

			header nav ul.main > li {
				position: relative;
			}

			header nav ul.main > li + li {
				margin-left: 48px;
			}

				header nav ul.main > li > a {
					font-size: 18px;
					font-weight: 700;
					line-height: normal;
					text-transform: uppercase;
					padding: 13px 0;
					position: relative;
				}

					header nav ul.main > li:not(.current-menu-item):hover > a {
						color: #D7DF23;
					}

					header nav ul.main > li.current-menu-item > a:before {
						content: "";
						top: 50%;
						left: -16px;
						width: 48px;
						height: 48px;
						z-index: -1;
						margin-top: -24px;
						background: #D7DF23;
						border-radius: 50%;
						position: absolute;
					}

				header nav ul.main > li.menu-item-has-children > a {
					padding-right: 16px;
					background: url('data:image/svg+xml,%3Csvg width="12" height="7" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M1.00195 0.5L6.00195 5.5L11.002 0.5" stroke="%23113041"/%3E%3C/svg%3E') no-repeat right center;
				}

					header nav ul.main > li.menu-item-has-children:not(.current-menu-item):hover > a {
						background: url('data:image/svg+xml,%3Csvg width="12" height="7" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M1.00195 0.5L6.00195 5.5L11.002 0.5" stroke="%23D7DF23"/%3E%3C/svg%3E') no-repeat right center;
					}

			header nav ul.sub-menu {
				display: block;
				z-index: 9000;
				left: -16px;
				padding: 12px;
				background: #FFF;
				position: absolute;
				border-radius: 0 20px 20px 20px;
				box-shadow: 0 24px 56px 0 rgba(0, 0, 0, 0.08);
				list-style: none;
				opacity: 0;
				visibility: hidden;
				transform: translate3d(0, 15px, 0);
				transition: all ease 0.3s;
			}

				header nav ul.sub-menu li a {
					display: block;
					font-size: 18px;
					font-weight: 700;
					line-height: normal;
					text-transform: uppercase;
					white-space: nowrap;
					border-radius: 8px;
					padding: 18px 24px;
				}

					header nav ul.sub-menu li a:hover {
						background: #D7DF23;
					}

			header nav li:hover ul.sub-menu {
				opacity: 1;
				visibility: visible;
				transform: translate3d(0, 0, 0);
			}


		/*
		 *	Bars
		 */
		header .bars {
			width: 50px;
			height: 50px;
			display: none;
			align-items: center;
			justify-content: center;
			cursor: pointer;
			margin-right: -13px;
			z-index: 10;
		}

			header .bars span {
				display: block;
				width: 24px;
				height: 2px;
				position: relative;
				background: #D7DF23;
				transition: all ease 0.4s;
			}

			header .bars span:before,
			header .bars span:after {
				content: "";
				width: 24px;
				height: 2px;
				background: #113041;
				position: absolute;
				transition: all ease 0.4s;
			}

			header .bars span:before {
				width: 20px;
				top: -8px;
				right: 0;
			}

			header .bars span:after {
				width: 16px;
				top: 8px;
				right: 0;
			}


	/*
	 *	Tiny
	 */
	header.tiny {
		padding: 8px 0;
	}


	/*
	 *	Opened nav
	 */
	.opened-nav header .bars span:before {
		top: 0;
		width: 24px;
		transform-origin: center center;
		transform: rotate(-45deg);
	}

	.opened-nav header .bars span:after {
		top: 0;
		width: 24px;
		transform-origin: center center;
		transform: rotate(45deg);
	}

	.opened-nav header .bars span {
		background: transparent !important;
	}

	.opened-nav .mobile-menu {
		opacity: 1;
		visibility: visible;
		transform: translate3d(0, 0, 0);
	}


	/*
	 *	Mobile menu
	 */
	.mobile-menu {
		top: calc(100% - 20px);
		right: 15px;
		width: 100%;
		max-width: 280px;
		padding: 32px;
		border-radius: 24px;
		background: #ffffff;
		position: absolute;
		box-shadow: 0 24px 56px 0 rgba(0, 0, 0, 0.15);
		transform: translate3d(0, 15px, 0);
		opacity: 0;
		visibility: hidden;
		transition: all ease 0.4s;
	}

		.mobile-menu .menu {
			list-style: none;
		}

			.mobile-menu .menu a {
				display: inline-block;
				color: #113041;
				font-size: 16px;
				font-weight: 700;
				line-height: normal;
				text-transform: uppercase;
				padding: 14px 14px 14px 16px;
				position: relative;
				z-index: 2;
			}

			.mobile-menu .menu > li.current-menu-item > a:before {
				content: "";
				top: 50%;
				left: 0px;
				width: 48px;
				height: 48px;
				z-index: -1;
				margin-top: -24px;
				background: #D7DF23;
				border-radius: 50%;
				position: absolute;
			}

			.mobile-menu .menu > li.menu-item-has-children > a {
				padding-right: 16px;
				background: url('data:image/svg+xml,%3Csvg width="12" height="7" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M1.00195 0.5L6.00195 5.5L11.002 0.5" stroke="%23113041"/%3E%3C/svg%3E') no-repeat right center;
			}

			.mobile-menu .menu ul.sub-menu {
				display: none;
				z-index: 9000;
				padding: 8px 0 8px 16px;
				list-style: none;
			}

				.mobile-menu ul.sub-menu li a {
					font-weight: 600;
				}

		.mobile-menu .help {
			font-size: 16px;
			padding: 32px 16px;
		}

			.mobile-menu .help h4 {
				color: #D7DF23;
				font-size: 16px;
				font-weight: 800;
				line-height: normal;
			}

			.mobile-menu .help p {
				margin-top: 16px;
			}

				.mobile-menu .help a {
					font-weight: 700;
					text-decoration: underline;
				}

		.mobile-menu .socials {
			display: flex;
			margin: 0 16px;
		}

			.mobile-menu .socials a {
				display: flex;
				width: 48px;
				height: 48px;
				border-radius: 50%;
				background: #D7DF23;
				align-items: center;
				justify-content: center;
			}

				.mobile-menu .socials a + a {
					margin-left: 16px;
				}




/*	Footer
-------------------------------------------*/
	
	footer {
		position: relative;
		padding-top: 1px;
		padding-bottom: 90px;
		background: #113041;
	}

	footer .box {
		display: flex;
		position: relative;
		margin-top: -125px;
		background: #D7DF23;
		border-radius: 24px;
	}

		footer .box .left {
			width: 50%;
			padding: 64px 100px 64px 85px;
			border-right: 1px solid #113041;
			box-sizing: border-box;
		}

		footer .box .right {
			width: 50%;
			padding: 64px 85px 64px 100px;
			border-left: 1px solid #113041;
			box-sizing: border-box;
		}

		footer .box h2 {
			font-size: 32px;
			font-weight: 700;
			line-height: 120%;
		}

		footer .box p {
			font-size: 18px;
			line-height: 150%;
			margin-top: 16px;
		}

		footer .box .btn {
			margin-top: 32px;
		}

	footer .columns {
		display: flex;
		color: #fff;
		font-size: 18px;
		font-weight: 500;
		line-height: normal;
		justify-content: space-between;
		padding-top: 70px;
	}

		footer .col-about {

		}

			footer .col-about > img {
				margin-bottom: 24px;
			}

			footer .col-about p {
				max-width: 225px;
				line-height: 150%;
			}

			footer .col-about .socials {
				display: flex;
				margin-top: 24px;
			}

				footer .col-about .socials a {
					display: flex;
					width: 56px;
					height: 56px;
					border-radius: 50%;
					background: #D7DF23;
					align-items: center;
					justify-content: center;
				}

					footer .col-about .socials a + a {
						margin-left: 24px;
					}

					footer .col-about .socials a:hover {
						background: #E4EC20;
						box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0.16);
					}

		footer .columns h4 {
			color: #D7DF23;
			font-size: 18px;
			font-weight: 700;
			line-height: normal;
			text-transform: uppercase;
			margin-bottom: 40px;
		}

			footer .columns ul {
				list-style: none;
			}

				footer .columns ul li + li {
					margin-top: 16px;
				}

					footer .columns ul li a:hover {
						color: #D7DF23;
					}

			footer .columns p {

			}

				footer .columns p + p {
					margin-top: 35px;
				}

				footer .columns p span {
					display: block;
					margin-bottom: 16px;
				}

					footer .columns p a {
						font-weight: bold;
						text-decoration: underline;
					}
					
				footer .columns .wpml-ls-legacy-list-horizontal ul {
					display: flex;
					font-weight: bold;
				}	
				
					footer .columns .wpml-ls-legacy-list-horizontal ul li + li {
						margin-top: 0;
					}
				
					footer .columns .wpml-ls-legacy-list-horizontal ul li + li:before {
						content: "/";
						padding-left: 3px;
					}
					
					footer .columns .wpml-ls-legacy-list-horizontal ul li.wpml-ls-current-language a {
						color: #D7DF23;					
					}

		footer .col-newsletter {
			width: 100%;
			max-width: 550px;
		}

			footer .col-newsletter p {
				margin-bottom: 32px;
			}

			footer .col-newsletter .gform_fields .gfield:nth-child(2) {
				width: calc(100% - 237px);
			}

			footer .col-newsletter .gform_heading {
				display: none;
			}

			footer .col-newsletter .gform_footer {
				display: flex;
				align-items: flex-start;
				justify-content: flex-end;
			}

			footer .col-newsletter .gform_button {
				display: block;
				width: 205px;
				padding-left: 0;
				padding-right: 0;
				margin-top: -74px;
			}

				footer .col-newsletter .gform_body:has(.gfield:nth-child(2) .validation_message) + .gform_footer .gform_button {
					margin-top: -100px;
				}


/*	General Content
-------------------------------------------*/



/*	Section: Hero
-------------------------------------------*/

	.hero {
		padding-top: 64px;
		background: url('../img/bg-shape.svg') no-repeat -678px -517px;
	}

		.hero .container {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}

		.hero .content {
			width: calc( 50% - 40px);
			max-width: 535px;
			padding-right: 70px;
		}

			.hero .content .subtitle {
				color: #D7DF23;
				font-size: 22px;
				font-weight: 700;
				line-height: 150%;
				margin-bottom: 12px;
			}

				.hero .content .subtitle span {
					font-weight: 400;
				}

			.hero .content .title {
				color: #113041;
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 24px;
			}

			.hero .content p + p {
				margin-top: 33px;
			}

			.hero .content .button-container {
				display: flex;
				margin-top: 32px;
			}

				.hero .content .button-container .btn + .btn {
					margin-left: 16px;
				}

		.hero .image {
			width: 50%;
			position: relative;
		}

			.hero .image:after {
				content: '';
				top: -24px;
				left: -24px;
				width: 100%;
				height: 100%;
				position: absolute;
				border: 4px solid #D7DF23;
				border-radius: 24px;
				box-sizing: border-box;
			}

			.hero .image .wrap {
				height: 625px;
				border-radius: 24px;
				overflow: hidden;
				position: relative;
			}

				.hero .image .wrap img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
					position: absolute;
				}

	.hero.alt {
		min-height: 770px;
		background: url('../img/bg-shape.svg') no-repeat -614px -433px;
	}

		.hero.alt .image:after {
			display: none;
		}

		.hero.alt .image img {
			display: block;
			width: auto;
			margin: 0 auto;
			max-height: 618px;
		}

	.hero.story {
		min-height: 0;
		padding-top: 40px;
		padding-bottom: 120px;
		background: #F5F5F5 url('../img/hero-home-bg.png') no-repeat bottom center / 100% 282px;
	}

		.hero.story .content {
			width: 48%;
			padding-bottom: 110px;
		}

		.hero.story .title {
			display: inline-block;
			position: relative;
		}

		.hero.story .title span {
			display: inline-block;
			position: relative;
			z-index: 2;
		}

			.hero.story .title span:before {
				content: "";
				top: 12px;
				left: -7px;
				right: -12px;
				height: 42px;
				z-index: -1;
				position: absolute;
				background: url('../img/gallery-line.svg') no-repeat top left / 100% 100%;
			}

			.hero.story .title .left { left: -58px; bottom: -29px; position: absolute; }
			.hero.story .title .right { right: -39px; top: -30px; position: absolute; }

		.hero.story .image {
			width: 52%;
			margin-right: -26px;
			position: relative;
		}

			.hero.story .image:before {
				content: '';
				width: 378px;
				height: 360px;
				left: 44px;
				bottom: -207px;
				position: absolute;
				background: url('../img/arrow-dm-story.svg') no-repeat top left / contain;
			}

			.hero.story .image img {
				max-height: 674px;
			}

	.hero.competition {
		min-height: 740px;
		padding-top: 14px;
		padding-bottom: 40px;
	}

		.hero.competition .title {
			display: inline-block;
			position: relative;
			margin-bottom: 32px;
		}

			.hero.competition .title span {
				display: inline-block;
				position: relative;
				z-index: 3;
			}

			.hero.competition .title span:before {
				content: "";
				top: 1px;
				left: 0;
				right: 56px;
				height: 64px;
				z-index: -1;
				position: absolute;
				background: url('../img/twi-d2-line.svg') no-repeat top left / 100% 100%;
			}

			.hero.competition .title .left { left: -58px; bottom: -29px; position: absolute; }
			.hero.competition .title .right { right: -42px; top: -12px; position: absolute; }

		.hero.competition .image {
			display: flex;
			justify-content: flex-end;
		}

		.hero.competition .image img {
			max-height: 690px;
			margin: 0;
		}


/*	Section: Hero (Home)
-------------------------------------------*/

	/*
	 *	Hero
	 */
	.hero-home {
		padding: 70px 0 128px 0;
		background: #F5F5F5 url('../img/hero-home-bg.png') no-repeat bottom center / 100% 282px;
	}

		.hero-home .container {
			display: flex;
			justify-content: space-between;
		}

		/*
		 *	Content
		 */
		.hero-home .content {
			display: flex;
			justify-content: space-between;
			flex-direction: column;
			width: calc(49% - 60px);
			max-width: 560px;
			padding-top: 56px;
			position: relative;
		}

			.hero-home .content .subtitle {
				color: #D7DF23;
				font-size: 22px;
				font-weight: 700;
				line-height: 150%;
			}

			.hero-home .content .title {
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				margin-top: 12px;
			}

				.hero-home .content .title span {
					display: inline-block;
					position: relative;
					z-index: 2;
				}

					.hero-home .content .title span:before {
						content: "";
						top: 4px;
						left: 0;
						right: -10px;
						height: 100%;
						z-index: -1;
						position: absolute;
						background: url('../img/hero-home-line.svg') no-repeat center center / 100% 100%;
					}

			.hero-home .content .button-container {
				margin-top: 32px;
				position: relative;
			}

				.hero-home .content .button-container img {
					top: 3px;
					left: -40px;
					position: absolute;
				}

			.hero-home .content .d1 {
				top: 14px;
				right: 20px;
				position: absolute;
			}

			.hero-home .content .stats {
				display: flex;
				justify-content: space-between;
			}

				.hero-home .content .stats .item {
					width: 136px;
					font-size: 16px;
					font-weight: 500;
					line-height: 120%;
				}

					.hero-home .content .stats .item strong {
						display: block;
						font-size: 48px;
						font-weight: 700;
						line-height: 120%;
						margin-bottom: 12px;
						padding-bottom: 8px;
						border-bottom: 2px solid #D7DF23;
					}



		/*
		 *	Media
		 */
		.hero-home .media {
			width: 51%;
			position: relative;
		}

			.hero-home .media:before {
				content: '';
				top: 24px;
				left: 24px;
				width: 100%;
				height: 100%;
				position: absolute;
				border-radius: 24px;
				border: 4px solid #D7DF23;
				box-sizing: border-box;
			}

			.hero-home .media .play {
				display: flex;
				top: 50%;
				left: -45px;
				width: 80px;
				height: 80px;
				z-index: 2;
				padding-left: 8px;
				align-items: center;
				justify-content: center;
				border-radius: 50%;
				position: absolute;
				background: #D7DF23;
				box-sizing: border-box;
			}

			.hero-home .media .video {
				display: block;
				min-height: 625px;
				background: #e1e1e1;
				border-radius: 24px;
				overflow: hidden;
				position: relative;
			}

				.hero-home .media .video video {
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
					position: absolute;
				}


/*	Section: Why
-------------------------------------------*/

	.why {
		padding: 28px 0 65px 0;
		position: relative;
	}

		.why:before {
			content: '';
			z-index: -1;
			top: 0;
			left: -590px;
			width: 1185px;
			height: 1185px;
			position: absolute;
			background: url('../img/bg-shape.svg') no-repeat center center / 100% 100%;
		}

		.why .section-title {
			display: inline-block;
			font-size: 56px;
			font-weight: 700;
			line-height: 120%;
			margin-bottom: 52px;
			position: relative;
		}

			.why .section-title:after {
				content: '';
				top: -120px;
				left: calc(100% - 68px);
				width: 310px;
				height: 246px;
				position: absolute;
				background: url('../img/why-arrow.svg') no-repeat top left / contain;
			}

			.why .section-title span {
				display: inline-block;
				position: relative;
			}

				.why .section-title span:after {
					content: '';
					top: 0;
					left: 48px;
					right: -15px;
					bottom: -15px;
					z-index: -1;
					position: absolute;
					background: url('../img/why-line.svg') no-repeat center center / 100% 100%;
				}

		.why .swiper {
			overflow: visible;
		}

		.why .swiper-wrapper {
			display: flex;
			flex-wrap: wrap;
			margin: 0 -12px -27px -12px;
		}

			.why .swiper-slide {
				height: auto;
				padding: 48px;
				margin: 0 12px 27px 12px;
				border-radius: 24px;
				background: #F5F5F5;
				box-shadow: 0 4px 32px 0 rgba(0, 0, 0, 0.16);
				box-sizing: border-box;
			}

				.why .swiper-slide .title {
					font-size: 40px;
					font-weight: 700;
					line-height: 120%;
					margin-top: 24px;
					margin-bottom: 16px;
				}

			.why .swiper-slide.size-third {
				width: calc(33.3333% - 24px);
			}

			.why .swiper-slide.size-half {
				width: calc(50% - 24px);
			}

			.why .swiper-slide.color-blue {
				color: #fff;
				background: #113041;
			}

			.why .swiper-slide.color-green {
				background: #D7DF23;
			}


/*	Section: Text with image
-------------------------------------------*/

	.twi {
		margin-top: 85px;
	}

		.twi .container {
			display: flex;
			align-items: center;
			justify-content: space-between;
			position: relative;
		}

		.twi .image {
			width: calc(50% - 12px);
			box-sizing: border-box;
		}

			.twi .image .wrap {
				max-width: 644px;
				width: 100%;
				padding-bottom: 100%;
				position: relative;
				border-radius: 50%;
			}

				.twi .image .wrap img {
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					border-radius: 50%;
					object-fit: cover;
					object-position: center;
					position: absolute;
				}

			.twi .image .wrap:before {
				content: '';
				top: 24px;
				left: 24px;
				width: 100%;
				height: 100%;
				position: absolute;
				background: #D7DF23;
				border-radius: 50%;
			}

			.twi .image .wrap:after {
				content: '';
				top: -24px;
				left: -24px;
				width: 100%;
				height: 100%;
				position: absolute;
				border: 8px solid #D7DF23;
				border-radius: 50%;
				box-sizing: border-box;
			}

		.twi .content {
			width: calc(50% - 12px);
			padding-left: 110px;
			box-sizing: border-box;
		}

			.twi .content .title {
				display: inline-block;
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 26px;
				position: relative;
			}

				.twi .content .title span {
					display: inline-block;
					position: relative;
				}

					.twi .content .title span:before {
						content: '';
						top: 0;
						left: 0;
						right: 0;
						height: 100%;
						z-index: -1;
						position: absolute;
						background-size: 100% 100%;
						background-repeat: no-repeat;
						background-position: center center;
					}

					.twi .content .title.d1 span:before {
						top: 21px;
						right: -5px;
						background-image: url('../img/twi-d1-line.svg');
					}

					.twi .content .title.d2 span:before {
						top: 0;
						right: -57px;
						background-image: url('../img/twi-d2-line.svg');
					}

					.twi .content .title.d3 span:before {
						top: 7px;
						right: -5px;
						height: 59px;
						background-image: url('../img/twi-d2-line.svg');
					}

					.twi .content .title.d4 span:before {
						top: 10px;
						right: -3px;
						height: 52px;
						background-image: url('../img/twi-d4-line.svg');
					}

					.twi .content .title.d5 span:before {
						top: 1px;
						right: -10px;
						height: 73px;
						background-image: url('../img/twi-d1-line.svg');
					}

					.twi .content .title.d6 span:before {
						top: 15px;
						left: 14px;
						right: 5px;
						height: 51px;
						background-image: url('../img/featured-news-line.svg');
					}

				.twi .content .title img {
					position: absolute;
				}

					.twi .content .title.d1 .left { left: -53px; bottom: -23px; }
					.twi .content .title.d1 .right { right: -48px; top: -60px; }

					.twi .content .title.d2 .left { left: -50px; bottom: -33px; }
					.twi .content .title.d2 .right { right: -100px; top: -42px; }

					.twi .content .title.d3 .left { left: -46px; bottom: -17px; }
					.twi .content .title.d3 .right { right: -73px; top: -33px; }

					.twi .content .title.d4 .left { left: -54px; bottom: -38px; }
					.twi .content .title.d4 .right { right: -70px; top: -24px; }

					.twi .content .title.d5 .left { left: -59px; bottom: -24px; }
					.twi .content .title.d5 .right { right: -73px; top: -33px; }

					.twi .content .title.d6 .left { left: -47px; bottom: -43px; }
					.twi .content .title.d6 .right { right: -48px; top: -43px; }

				.twi p + p {
					margin-top: 33px;
				}

			.twi .content .buttons {
				display: flex;
				margin-top: 32px;
			}

				.twi .content .buttons .btn + .btn {
					margin-left: 24px;
				}

			.twi .content .appstore {
				margin-top: 42px;
			}

	.twi.image-right .image {
		order: 2;
	}

		.twi.image-right .image .wrap:before {
			top: 24px;
			left: -24px;
		}

		.twi.image-right .image .wrap:after {
			top: -24px;
			left: 24px;
			border-width: 4px;
		}

	.twi.image-right .content {
		order: 1;
		padding-left: 0;
		padding-right: 110px;
	}

	.twi .arrow {
		top: calc(100% - 24px);
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
	}

		.twi .arrow.alt {
			top: calc(100% - 49px);
			left: calc(50% - 41px);
		}

	.twi-wrapper {
		padding-bottom: 214px;
		background: url('../img/bg-shape.svg') no-repeat right -546px top 240px;
	}

		.twi-wrapper .twi + .twi {
			margin-top: 130px;
		}


/*	Section: CTA
-------------------------------------------*/

	.cta {
		margin-top: 55px;
	}

		.twi + .cta {
			margin-top: 110px;
		}

		.cta .box {
			overflow: hidden;
			position: relative;
			border-radius: 24px;
			box-shadow: 0 4px 32px 0 rgba(0, 0, 0, 0.16);
		}

			.cta .box .image {
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				position: absolute;
			}

				.cta .box .image:before {
					content: '';
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					position: absolute;
					background: linear-gradient(180deg, rgba(17, 48, 65, 0.00) 40%, #113041 80%);
				}

			.cta .box .image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}

			.cta .box .content {
				z-index: 2;
				display: flex;
				color: #fff;
				height: 560px;
				position: relative;
				flex-direction: column;
				align-items: flex-start;
				justify-content: flex-end;
				padding: 0 58px 68px 58px;
				box-sizing: border-box;
			}

				.cta .box .badge {
					top: 48px;
					left: 58px;
					font-size: 14px;
					font-weight: 700;
					line-height: normal;
					text-transform: uppercase;
					border: 1px solid #fff;
					border-radius: 16px;
					padding: 8px 26px;
					position: absolute;
				}

				.cta .box .title {
					font-size: 32px;
					font-weight: 700;
					line-height: 120%;
					margin-bottom: 14px;
				}

				.cta .box p {
					max-width: 532px;
				}

				.cta .box .btn {
					margin: 20px 0 0 -8px;
				}


/*	Section: Featured News
-------------------------------------------*/

	.featured-news {
		margin-top: 40px;
		text-align: center;
	}

		.home .featured-news {
			margin-top: -48px;
		}

		.hero.competition + .featured-news {
			padding-bottom: 10px;
		}

		.featured-news.grey {
			padding: 190px 0 56px 0;
			background: #F5F5F5 url('../img/featured-news-bg.png') no-repeat top center / 100% 88px;
		}

			.featured-news.grey:has(+ footer) {
				padding-bottom: 190px;
			}

		.featured-news .section-title {
			display: inline-block;
			font-size: 56px;
			font-weight: 700;
			line-height: 120%;
			margin-bottom: 42px;
			position: relative;
		}

			.featured-news .section-title span {
				display: inline-block;
				position: relative;
				z-index: 2;
			}

				.featured-news .section-title span:after {
					content: '';
					top: 7px;
					left: 5px;
					width: 100%;
					height: 52px;
					z-index: -1;
					position: absolute;
					background: url('../img/featured-news-line.svg') no-repeat center center;
				}

			.featured-news .section-title .left {
				left: -56px;
				bottom: -29px;
				position: absolute;
			}

			.featured-news .section-title .right {
				top: -30px;
				right: -46px;
				position: absolute;
			}

		.featured-news .swiper {
			overflow: visible;
		}

			.featured-news .swiper-wrapper {
				padding-bottom: 32px;
			}

			.featured-news .swiper-slide {
				width: 420px;
				height: auto;
			}

				.featured-news .swiper-slide .news-item {
					display: flex;
					flex-direction: column;
					height: 100%;
				}

		.featured-news .swiper-pagination {
			margin-top: 25px;
		}


/*	Section: Gallery
-------------------------------------------*/

	.gallery {
		padding: 70px 0 200px 0;
	}

		.gallery .head {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin-bottom: 52px;
		}

			.gallery .section-title {
				display: inline-block;
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				position: relative;
			}

				.gallery .section-title span {
					display: inline-block;
					position: relative;
				}

					.gallery .section-title span:after {
						content: '';
						top: 8px;
						left: 0;
						right: 0;
						height: 49px;
						z-index: -1;
						position: absolute;
						background: url('../img/gallery-line.svg') no-repeat center center / 100% 100%;
					}

				.gallery .section-title .left {
					left: -35px;
					bottom: -52px;
					position: absolute;
				}

				.gallery .section-title .right {
					top: -38px;
					right: -52px;
					position: absolute;
				}

			.gallery .arrows {
				display: flex;
			}

				.gallery .arrow {
					display: flex;
					width: 58px;
					height: 58px;
					align-items: center;
					justify-content: center;
					border-radius: 64px;
					background: #D7DF23;
					transition: all ease 0.4s;
					cursor: pointer;
				}

					.gallery .arrow:hover {
						background: #E4EC20;
						box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0.16);
					}

				.gallery .arrow + .arrow {
					margin-left: 32px;
				}

				.gallery .arrow.swiper-button-disabled {
					opacity: 0.3;
					cursor: not-allowed;
					filter: grayscale(100%);
				}

		.gallery .swiper {

		}

			.gallery .swiper-slide {
				width: calc(33.333% - 16px);
			}

				.gallery .swiper-slide .image {
					display: block;
					width: 100%;
					padding-bottom: 114%;
					overflow: hidden;
					position: relative;
				}

					.gallery .swiper-slide .image img {
						width: 100%;
						height: 100%;
						position: absolute;
						object-fit: cover;
						object-position: center;
						transform: scale(1);
						transition: all ease 0.3s;
					}

					.gallery .swiper-slide .image:hover img {
						transform: scale(1.09);
					}

				.gallery .swiper-slide.type-video .image:before {
					content: "";
					top: 50%;
					left: 50%;
					z-index: 10;
					width: 80px;
					height: 80px;
					margin: -40px 0 0 -40px;
					position: absolute;
					background: url('../img/icon-play.svg') no-repeat center center / contain;
				}

			.gallery .swiper-slide.group {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
			}

				.gallery .swiper-slide.group a {
					width: calc(50% - 12px);
				}

				.gallery .swiper-slide.group a:first-child {
					width: 100%;
					margin-bottom: 24px;
				}

					.gallery .swiper-slide.group a:first-child .image {
						padding-bottom: calc(57% - 12px);
					}



/*	Section: Features
-------------------------------------------*/

	.features {
		margin-top: 32px;
	}

	.features .swiper {
		overflow: visible;
	}

		.features .swiper-wrapper {
			display: flex;
			flex-wrap: wrap;
			width: auto;
			margin: 0 -12px;
			padding: 32px 0;
		}

		.features .swiper-slide {
			width: calc(33.3333% - 24px);
			height: auto;
			padding: 32px;
			margin: 0 12px 24px 12px;
			border-radius: 24px;
			background: #F5F5F5;
			box-shadow: 0 4px 32px 0 rgba(0, 0, 0, 0.16);
			box-sizing: border-box;
		}

			.features .swiper-slide .icon {
				display: flex;
				width: 64px;
				height: 64px;
				align-items: center;
				justify-content: center;
				background: #D7DF23;
				border-radius: 50%;
				margin-bottom: 24px;
			}

			.features .swiper-slide .title {
				font-size: 32px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 16px;
			}

			.features .swiper-slide p {
				font-size: 18px;
				font-weight: 400;
				line-height: 150%;
			}

		.features .swiper-slide.color-blue {
			color: #fff;
			background: #113041;
		}


/*	Section: Program
-------------------------------------------*/

	.program {
		margin-top: 34px;
		text-align: center;
	}

		.program .section-title {
			display: inline-block;
			font-size: 56px;
			font-weight: 700;
			line-height: 120%;
			margin-bottom: 45px;
			position: relative;
		}

			.program .section-title span {
				display: inline-block;
				position: relative;
			}

				.program .section-title span:after {
					content: '';
					top: 20px;
					left: 10px;
					right: 15px;
					height: 49px;
					z-index: -1;
					position: absolute;
					background: url('../img/program-line.svg') no-repeat center center / 100% 100%;
				}

			.program .section-title .left {
				left: -39px;
				bottom: -21px;
				position: absolute;
			}

			.program .section-title .right {
				top: -25px;
				right: -60px;
				position: absolute;
			}

		.program .items {
			display: flex;
			margin: 0 -12px;
			padding-bottom: 95px;
			justify-content: space-between;
			border-bottom: 2px solid #D7DF23;
		}

			.program .item {
				margin: 0 12px;
				text-align: left;
			}

				.program .item img {
					margin-bottom: 24px;
				}

				.program .item p:after {
					content: "";
					display: block;
					width: 87px;
					height: 6px;
					margin-top: 24px;
					background: #113041
				}


/*	Section: Packages
-------------------------------------------*/

	.packages {
		padding: 110px 0 50px 0;
		position: relative;
	}

		.packages .section-title {
			display: inline-block;
			font-size: 56px;
			font-weight: 700;
			line-height: 120%;
			position: relative;
		}

			.packages .section-title:after {
				content: '';
				top: -120px;
				left: 100%;
				width: 310px;
				height: 246px;
				position: absolute;
				background: url('../img/why-arrow.svg') no-repeat top left;
			}

			.packages .section-title span {
				display: inline-block;
				position: relative;
			}

				.packages .section-title span:after {
					content: '';
					top: -8px;
					left: 3px;
					right: -1px;
					height: 92px;
					z-index: -1;
					position: absolute;
					background: url('../img/why-line.svg') no-repeat center center / 100% 100%;
				}

		.packages .swiper {
			overflow: visible;
		}

		.packages .swiper-wrapper {
			padding: 64px 0 60px 0;
		}

			.packages .swiper-slide {
				height: auto;
				padding: 24px 24px 32px 24px;
				border-radius: 24px;
				background: #fff;
				box-shadow: 0 4px 32px 0 rgba(0, 0, 0, 0.16);
				box-sizing: border-box;
			}

				.packages .swiper-slide .title {
					font-size: 40px;
					font-weight: 700;
					line-height: 120%;
					margin-top: 38px;
				}

				.packages .swiper-slide .title small {
					display: block;
					font-size: 32px;
					line-height: 120%;
				}

				.packages .swiper-slide p {
					color: #909090;
					margin-top: 24px;
					/*hyphens: auto;*/
				}

				.packages .swiper-slide ul {
					margin-top: 68px;
					list-style: none;
				}

					.packages .swiper-slide ul li {
						text-align: right;
						padding: 12px 0;
						border-bottom: 1px solid #E3E3E3;
						background: url('../img/package-icon-no.svg') no-repeat left center;
					}

					.packages .swiper-slide ul li.y {
						background-image: url('../img/package-icon-yes.svg');
					}

		.packages .bottom {
			padding-top: 60px;
			text-align: center;
		}

			.packages .bottom p {
				display: inline-block;
				font-weight: bold;
				max-width: 435px;
				position: relative;
			}

			.packages .bottom p:before {
				content: '';
				top: -136px;
				right: calc(100% - 20px);
				width: 310px;
				height: 246px;
				transform: scale(-1, 1);
				position: absolute;
				background: url('../img/why-arrow.svg') no-repeat bottom right / contain;
			}


/*	Section: News slider
-------------------------------------------*/

	.news-slider {
		padding-bottom: 64px;
		background: url('../img/bg-shape.svg') no-repeat left -614px bottom 0;
	}

		.news-slider .swiper-slide {
			width: calc(100% - 128px);
			max-width: 1090px;
			transform: scale(0.82);
			transition: transform ease 0.4s;
		}

			.news-slider .swiper-slide-active {
				transform: scale(1);
			}

			.news-slider .cta .box .badge {
				left: 48px;
				color: #113041;
				border-color: #113041;
			}

			.news-slider .cta .box .content {
				padding: 48px;
				max-width: 560px;
			}

		.news-slider .swiper-pagination-bullet {
			width: 16px;
			height: 16px;
			opacity: 0.4;
		}

			.news-slider .swiper-pagination-bullet-active {
				width: 48px;
				opacity: 1;
			}



/*	Section: Latest News
-------------------------------------------*/

	.news {
		margin-top: 64px;
	}

		.news .section-title {
			display: inline-block;
			font-size: 56px;
			font-weight: 700;
			line-height: 120%;
			margin-bottom: 42px;
			position: relative;
		}

			.news .section-title span {
				display: inline-block;
				position: relative;
				z-index: 2;
			}

				.news .section-title span:after {
					content: '';
					top: 7px;
					left: 5px;
					right: 5px;
					height: 52px;
					z-index: -1;
					position: absolute;
					background: url('../img/gallery-line.svg') no-repeat center center / 100% 100%;
				}

			.news .section-title .left {
				left: -56px;
				bottom: -29px;
				position: absolute;
			}

			.news .section-title .right {
				top: -30px;
				right: -46px;
				position: absolute;
			}

		.news .items {
			display: flex;
			flex-wrap: wrap;
			margin: 0 -12px;
			padding-bottom: 142px;
		}

			.news .items .news-item {
				width: calc(33.333% - 24px);
				margin: 0 12px 48px 12px;
			}


/*	Section: Single Post
-------------------------------------------*/

	.post {
		position: relative;
		overflow: hidden;
	}

		.post .featured-image {
			width: 100%;
			height: 510px;
			position: relative;
		}

			.post .featured-image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
			}

		.post .container {
			display: flex;
		}

		.post .content-wrapper {
			width: calc(100% - 485px);
			padding: 64px 72px 230px 0;
			box-sizing: border-box;
		}

		.post aside {
			width: 485px;
			padding: 0 0 230px 64px;
			position: relative;
			box-sizing: border-box;
		}

			.post aside:before {
				content: '';
				top: 0;
				left: 0;
				z-index: -1;
				width: 100vw;
				height: 100%;
				position: absolute;
				background: #F5F5F5;
			}

			.post aside h2 {
				font-size: 40px;
				font-weight: 700;
				line-height: 120%;
				text-align: center;
				margin: 72px 0 32px 0;
			}

			.post aside .news-item + .news-item {
				margin-top: 32px;
			}

			.post aside .more {
				margin-top: 32px;
				text-align: center;
			}


/*	Section: Contact
-------------------------------------------*/

	.page-contact {
		padding: 64px 0 190px 0;
	}

		.page-contact .container {
			display: flex;
			justify-content: space-between;
		}

		.page-contact .content {
			width: 100%;
			max-width: 425px;
		}

			.page-contact .content h1 {
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 48px;
			}

			.page-contact .content {
				font-size: 18px;
				line-height: 150%;
			}

				.page-contact .content .row + .row {
					margin-top: 48px;
				}

				.page-contact .content .head {
					display: flex;
					align-items: center;
					margin-bottom: 12px;
				}

					.page-contact .content .head .icon {
						display: flex;
						width: 48px;
						height: 48px;
						margin-right: 16px;
						border-radius: 50%;
						background: #D7DF23;
						justify-content: center;
						align-items: center;
					}

					.page-contact .content .head h3 {
						width: calc(100% - 64px);
						font-size: 32px;
						font-style: normal;
						font-weight: 700;
						line-height: 120%; /* 38.4px */
					}

				.page-contact .content p {
					margin-left: 64px;
				}

					.page-contact .content p a {
						display: inline-block;
						font-size: 22px;
						font-weight: bold;
						margin-top: 16px;
					}

				.page-contact .person {
					display: flex;
					align-items: center;
					margin-top: 16px;
				}

					.page-contact .person .image {
						width: 128px;
						height: 128px;
						border-radius: 50%;
						border: 4px solid #D7DF23;
						overflow: hidden;
						position: relative;
						box-sizing: border-box;
						margin-right: 24px;
					}

						.page-contact .person .image img {
							width: 100%;
							height: 100%;
							object-fit: cover;
							object-position: center;
						}

					.page-contact .person .info {
						width: calc(100% - 152px);
					}

						.page-contact .person h4 {
							font-size: 22px;
							font-weight: 700;
							line-height: 150%;
						}

							.page-contact .person h4:after {
								content: "";
								display: block;
								width: 64px;
								height: 4px;
								background: #D7DF23;
								margin-top: 12px;
								margin-bottom: 12px;
							}

						.page-contact .person a {
							font-size: 18px;
							line-height: 150%;
							text-decoration: underline;
						}

							.page-contact .person a:hover {
								color: #D7DF23;
							}

				.page-contact .content .socials {
					display: flex;
					margin: 24px 0 0 64px;
				}

					.page-contact .content .socials a {
						display: flex;
						width: 56px;
						height: 56px;
						border-radius: 50%;
						background: #D7DF23;
						align-items: center;
						justify-content: center;
					}

						.page-contact .content .socials a + a {
							margin-left: 24px;
						}

					.page-contact .content .socials a:hover {
						background: #E4EC20;
						box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0.16);
					}

		.page-contact .form-wrapper {
			width: calc(100% - 490px);
		}


/*	Section: Targets
-------------------------------------------*/

	.targets {
	}

		.targets .container {
			display: flex;
			justify-content: space-between;
			padding: 64px 0;
			border-top: 2px solid #D7DF23;
			border-bottom: 2px solid #D7DF23;
		}

		.targets .title {
			width: calc(50% - 15px);
		}

			.targets .section-title {
				display: inline-block;
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				position: relative;
			}

				.targets .section-title span {
					display: inline-block;
					position: relative;
				}

					.targets .section-title span:after {
						content: '';
						left: 0;
						right: 5px;
						bottom: 4px;
						height: 39px;
						z-index: -1;
						position: absolute;
						background: url('../img/hero-home-line.svg') no-repeat center center / 100% 100%;
					}

				.targets .section-title .left { bottom: -44px; left: -36px; position: absolute; }
				.targets .section-title .right { top: -18px; right: -30px; position: absolute; }

			.targets .section-title:after {
				content: '';
				right: -210px;
				bottom: -173px;
				width: 310px;
				height: 246px;
				transform: scale(-1, 1);
				position: absolute;
				background: url('../img/why-arrow.svg') no-repeat top left / contain;
			}

		.targets .text {
			width: calc(50% - 15px);
		}

			.targets .text p + p {
				margin-top: 32px;
			}

			.targets .text .btn {
				margin-top: 32px;
			}


/*	Section: Solution
-------------------------------------------*/

	.solution {
		padding: 90px 0 0 0;
		position: relative;
	}

	.solution .top {
		display: flex;
		min-height: 495px;
	}

		.solution .top .head {
			width: 445px;
		}

			.solution .top .section-title {
				display: inline-block;
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 52px;
				position: relative;
			}

				.solution .top .section-title span {
					display: inline-block;
					position: relative;
				}

					.solution .top .section-title span:after {
						content: '';
						top: 10px;
						left: -1px;
						right: -4px;
						height: 61px;
						z-index: -1;
						position: absolute;
						background: url('../img/twi-d1-line.svg') no-repeat center center / 100% 100%;
					}

				.solution .top .section-title .left { left: -48px; bottom: -31px; position: absolute; }
				.solution .top .section-title .right { top: -26px; right: -46px; position: absolute; }

		.solution .top .content {
			display: flex;
			width: calc(100% - 445px);
			padding-top: 50px;
			justify-content: space-between;
		}

			.solution .top .col {
				width: calc(50% - 12px);
			}

				.solution .top .col h3 {
					font-size: 32px;
					font-weight: 700;
					line-height: 120%;
					margin-bottom: 32px;
				}

				.solution .top .col {

				}

			.solution .top .image {
				bottom: 0;
				z-index: 2;
				right: calc(50% + 273px);
				position: absolute;
			}

				.solution .top .image:after {
					content: '';
					top: 24px;
					left: -24px;
					width: 100%;
					height: 100%;
					position: absolute;
					border: 4px solid #D7DF23;
					border-radius: 24px;
					box-sizing: border-box;
				}

				.solution .top .image .wrap {
					width: 550px;
					height: 515px;
					border-radius: 24px;
					overflow: hidden;
					position: relative;
				}

					.solution .top .image img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						object-position: center;
						position: absolute;
					}

		.solution .bottom {
			padding-bottom: 64px;
			background: #F5F5F5;
			position: relative;
		}

			.solution .bottom:before {
				content: '';
				height: 227px;
				z-index: -1;
				left: 0;
				right: 0;
				bottom: calc(100% - 10px);
				position: absolute;
				background: url('../img/solutions-bg.png') no-repeat center center / 100% 100%;
			}

			.solution .bottom .container {
				padding-left: 445px;
				box-sizing: border-box;
			}

			.solution .bottom h3 {
				display: inline-block;
				font-size: 32px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 24px;
				position: relative;
				z-index: 2;
			}

				.solution .bottom h3:before {
					content: '';
					top: 0;
					left: 8px;
					right: 8px;
					z-index: -1;
					height: 51px;
					position: absolute;
					background: url('../img/twi-d2-line.svg') no-repeat center center / 100% 100%;
				}

			.solution .bottom p {
				max-width: 756px;
			}



/*	Section: Devices
-------------------------------------------*/

	.devices {
		margin-top: 90px;
		padding-bottom: 24px;
	}

		.devices.alt {
			margin-top: 135px;
		}

		.devices .subtitle {
			display: flex;
			align-items: center;
			font-size: 22px;
			font-weight: 700;
			line-height: 150%;
			margin-bottom: 16px;
		}

			.devices .subtitle .icon {
				width: 64px;
				height: 64px;
				display: flex;
				align-items: center;
				justify-content: center;
				background: #D7DF23;
				border-radius: 50%;
				margin-right: 16px;
			}

		.devices .section-title {
			display: inline-block;
			font-size: 56px;
			font-weight: 700;
			line-height: 120%;
			margin-bottom: 56px;
			position: relative;
		}

			.devices .section-title span {
				display: inline-block;
				position: relative;
			}

				.devices .section-title span:after {
					content: '';
					top: 14px;
					left: 0;
					right: -11px;
					height: 51px;
					z-index: -1;
					position: absolute;
					background: url('../img/featured-news-line.svg') no-repeat center center / 100% 100%;
				}

			.devices .section-title .left { left: -51px; bottom: -40px; position: absolute; }
			.devices .section-title .right { top: -28px; right: -29px; position: absolute; }

		.devices .swiper-slide h3 {
			font-size: 32px;
			font-weight: 700;
			line-height: 120%;
			margin-bottom: 24px;
		}

		.devices .swiper-slide p:after {
			content: '';
			display: block;
			width: 87px;
			height: 6px;
			margin-top: 32px;
			background: #D7DF23;
		}


/*	Section: Quality Time
-------------------------------------------*/

	.qtime {
		padding: 50px 0;
	}

		.qtime .container {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.qtime .content {
			width: 580px;
			padding-right: 110px;
		}

			.qtime .section-title {
				display: inline-block;
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 42px;
				position: relative;
			}

				.qtime .section-title span {
					display: inline-block;
					position: relative;
				}

					.qtime .section-title span:after {
						content: '';
						top: 12px;
						left: 13px;
						right: 20px;
						height: 55px;
						z-index: -1;
						position: absolute;
						background: url('../img/gallery-line.svg') no-repeat center center / 100% 100%;
					}

				.qtime .section-title .left { left: -48px; bottom: -23px; position: absolute; }
				.qtime .section-title .right { top: -15px; right: -72px; position: absolute; }

			.qtime .appstore {
				margin-top: 24px;
			}

		.qtime .image {
			width: calc(100% - 580px);
			position: relative;
		}

			.qtime .image:after {
				content: '';
				top: 24px;
				left: -24px;
				width: 100%;
				height: 100%;
				position: absolute;
				border: 4px solid #D7DF23;
				border-radius: 24px;
				box-sizing: border-box;
			}

			.qtime .image .wrap {
				height: 565px;
				border-radius: 24px;
				overflow: hidden;
				position: relative;
			}

				.qtime .image .wrap img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
					position: absolute;
				}


/*	Section: Parent Features
-------------------------------------------*/

	.parent-features {
		margin-top: 90px;
	}

		.parent-features .swiper-slide h3 {
			font-size: 32px;
			font-weight: 700;
			line-height: 120%;
			margin-bottom: 24px;
		}

		.parent-features .swiper-slide p:after {
			content: '';
			display: block;
			width: 87px;
			height: 6px;
			margin-top: 32px;
			background: #D7DF23;
		}


/*	Section: App Stats
-------------------------------------------*/

	.app-stats {

	}

		.app-stats .items {
			display: flex;
			padding: 64px 0 60px 0;
			border-bottom: 2px solid #D7DF23;
		}

			.app-stats .item {
				min-width: 110px;
				font-size: 16px;
				font-weight: 500;
				line-height: 120%;
			}

				.app-stats .item + .item {
					margin-left: 64px;
				}

				.app-stats .item strong {
					display: flex;
					align-items: center;
					font-size: 48px;
					font-weight: 700;
					line-height: 120%;
					margin-bottom: 12px;
					padding-bottom: 8px;
					border-bottom: 2px solid #D7DF23;
				}

					.app-stats .item strong svg {
						display: block;
						margin-left: 10px;
					}


/*	Section: Hero - App
-------------------------------------------*/

	.hero-app {
		margin-top: 64px;
	}

		.hero-app .box {
			padding: 72px 85px 93px 85px;
			border-radius: 32px;
			background: #D7DF23;
			position: relative;
		}

		.hero-app .image {
			top: 20px;
			right: 26px;
			position: absolute;
		}

		.hero-app .box .content {
			width: 50%;
			max-width: 470px;
			position: relative;
		}

			.hero-app .box .content:before {
				content: '';
				width: 162px;
				top: 72px;
				left: 380px;
				bottom: 65px;
				position: absolute;
				background: url('../img/hero-app-arrow.svg') no-repeat top left / 100% 100%;
			}

			.hero-app .box .content h1 {
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 24px;
			}

			.hero-app .box .content h1 + p {
				min-height: 165px;
				margin-bottom: 24px;
			}


/*	Section: Motivation
-------------------------------------------*/

	.motivation {
		padding: 30px 0 0 0;
	}

		.motivation .container {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.motivation .content {
			width: 100%;
			max-width: 530px;
			padding-left: 110px;
		}

			.motivation .section-title {
				display: inline-block;
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 24px;
				position: relative;
			}

				.motivation .section-title span {
					display: inline-block;
					position: relative;
				}

					.motivation .section-title span:after {
						content: '';
						top: 16px;
						left: 5px;
						right: 0;
						height: 55px;
						z-index: -1;
						position: absolute;
						background: url('../img/twi-d1-line.svg') no-repeat center center / 100% 100%;
					}

				.motivation .section-title .left { left: -45px; bottom: -31px; position: absolute; }
				.motivation .section-title .right { top: -22px; right: -50px; position: absolute; }

			.motivation p + p {
				margin-top: 32px;
			}

		.motivation .image {
			width: calc(100% - 580px);
			position: relative;
		}

			.motivation .image:after {
				content: '';
				top: -24px;
				left: 24px;
				width: 100%;
				height: 100%;
				position: absolute;
				border: 4px solid #D7DF23;
				border-radius: 24px;
				box-sizing: border-box;
			}

			.motivation .image .wrap {
				height: 565px;
				border-radius: 24px;
				overflow: hidden;
				position: relative;
			}

				.motivation .image .wrap img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
					position: absolute;
				}



/*	Section: Renewed
-------------------------------------------*/

	.renewed {
		padding: 50px 0 0 0;
		position: relative;
	}

		.renewed:before {
			content: '';
			top: 10px;
			left: 50%;
			width: 156px;
			height: 195px;
			z-index: 2;
			position: absolute;
			transform: translate3d(-50%, 0, 0);
			background: url('../img/arrow-renewed.svg') no-repeat center center / 100% 100%;
		}

		.renewed .container {
			display: flex;
			align-items: flex-end;
			justify-content: space-between;
		}

		.renewed .content {
			width: 100%;
			max-width: 530px;
			padding: 0 30px 70px 0;
		}

			.renewed .section-title {
				display: inline-block;
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 24px;
				position: relative;
			}

				.renewed .section-title span {
					display: inline-block;
					position: relative;
				}

					.renewed .section-title span:after {
						content: '';
						top: 17px;
						left: 5px;
						right: 5px;
						height: 53px;
						z-index: -1;
						position: absolute;
						background: url('../img/twi-d2-line.svg') no-repeat center center / 100% 100%;
					}

				.renewed .section-title .left { left: -43px; bottom: -42px; position: absolute; }
				.renewed .section-title .right { top: -30px; right: -67px; position: absolute; }

			.renewed p + p {
				margin-top: 32px;
			}

		.renewed .image {
			width: calc(100% - 560px);
			height: 710px;
			position: relative;
		}

			.renewed .image img {
				left: 0;
				bottom: 0;
				max-width: none;
				height: 100%;
				position: absolute;
			}


/*	Section: Hero (Home)
-------------------------------------------*/

	.founder {
		padding: 60px 0 190px 0;
		background: #F5F5F5;
	}

		.founder .container {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.founder .image {
			width: 53%;
		}

		.founder .content {
			width: 47%;
			max-width: 550px;
			padding-left: 15px;
			box-sizing: border-box;
		}

			.founder .content .subtitle {
				color: #D7DF23;
				font-size: 22px;
				font-weight: 700;
				line-height: 150%;
				margin-bottom: 8px;
			}

			.founder .content .title {
				display: inline-block;
				font-size: 48px;
				font-weight: 700;
				line-height: 120%;
				margin-bottom: 24px;
				position: relative;
			}

				.founder .content .title span {
					display: inline-block;
					position: relative;
					z-index: 2;
				}

					.founder .content .title span:after {
						content: '';
						top: 11px;
						left: 13px;
						right: 2px;
						height: 45px;
						z-index: -1;
						position: absolute;
						background: url('../img/gallery-line.svg') no-repeat center center / 100% 100%;
					}

				.founder .content .title .left { left: -52px; bottom: -40px; position: absolute; }
				.founder .content .title .right { top: -49px; right: -56px; position: absolute; }

			.founder .content h3 {
				font-size: 32px;
				font-weight: 700;
				line-height: 120%;
				margin: 48px 0 24px 0;
			}


/*	Section: Thank you
-------------------------------------------*/

	.thank-you {
		text-align: center;
		padding: 65px 0 260px 0;
		background: url('../img/bg-shape.svg') no-repeat -804px -433px, url('../img/bg-shape.svg') no-repeat right -732px bottom -613px;
	}

		.thank-you .container {
			max-width: 652px;
		}

		.thank-you img {
			margin: 0 auto;
		}

		.thank-you h1 {
			font-size: 56px;
			font-weight: 700;
			line-height: 120%;
			margin: 5px 0 24px 0;
		}

		.thank-you .btn {
			width: 100%;
			max-width: 310px;
			margin-top: 32px;
		}



/*	Section: Video gallery
-------------------------------------------*/

	.videos {
		padding-top: 80px;
	}

		.videos .head {
			display: flex;
			align-items: flex-end;
			justify-content: space-between;
			margin-bottom: 48px;
		}

			.videos .head .subtitle {
				color: #D7DF23;
				font-size: 22px;
				font-weight: 700;
				line-height: 150%;
				margin-bottom: 12px;
			}

			.videos .section-title {
				display: inline-block;
				font-size: 56px;
				font-weight: 700;
				line-height: 120%;
				position: relative;
			}

				.videos .section-title span {
					display: inline-block;
					position: relative;
				}

					.videos .section-title span:after {
						content: '';
						top: 5px;
						left: 8px;
						right: -20px;
						height: 68px;
						z-index: -1;
						position: absolute;
						background: url('../img/gallery-line.svg') no-repeat center center / 100% 100%;
					}

				.videos .section-title .left { left: -46px; bottom: -29px; position: absolute; }
				.videos .section-title .right { top: -33px; right: -80px; position: absolute; }
				
				.videos .head .button-container {
					display: flex;
					margin-top: 32px;
				}
				
					.videos .head .button-container .btn + .btn {
						margin-left: 16px;
					}

			.videos .head p {
				max-width: 530px;
			}
			
				.videos .head p a {
					text-decoration: underline;
				}
				
					.videos .head p a:hover {
						color: #D7DF23;
					}

		.videos .main .responsive-video {
			overflow: hidden;
			position: relative;
			border-radius: 24px;
		}

			.videos .main .unmute {
				z-index: 100;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				position: absolute;
				cursor: pointer;
			}

		.videos .thumbs {
			display: flex;
			margin: 24px -12px 0 -12px;
		}

			.videos .thumbs .item {
				width: 25%;
				margin: 0 12px;
			}

				.videos .thumbs .item.current {
					display: none !important;
				}

				.videos .thumbs .item .image {
					display: flex;
					width: 100%;
					height: 208px;
					border-radius: 24px;
					overflow: hidden;
					position: relative;
					align-items: center;
					justify-content: center;
					background: #113041;
				}

					.videos .thumbs .item .image img {
						width: 100%;
						height: 100%;
						opacity: 0.36;
						z-index: 1;
						object-fit: cover;
						object-position: center;
						position: absolute;
						transition: all ease 0.4s;
					}

					.videos .thumbs .item .image .play {
						display: flex;
						width: 80px;
						height: 80px;
						z-index: 2;
						padding-left: 8px;
						position: relative;
						align-items: center;
						justify-content: center;
						border-radius: 50%;
						box-sizing: border-box;
						background: #D7DF23;
						transition: all ease 0.4s;
					}

					.videos .thumbs .item .image:hover .play {
						background: #E4EC20;
						box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0.16);
					}

					.videos .thumbs .item .image:hover img {
						transform: scale(1.09);
					}

				.videos .thumbs .item p {
					font-weight: bold;
					margin-top: 16px;
				}

	.workshop-videos {
		padding-top: 70px;
		padding-bottom: 200px;
		background: url('../img/bg-shape.svg') no-repeat -614px -433px;
	}

		.workshop-videos .head {
			z-index: 5;
			position: relative;
		}


/*	Section: Application
-------------------------------------------*/

	.application {
		margin-top: 80px;
	}


/*	Section: Events Calendar
-------------------------------------------*/

	.calendar {
		padding-bottom: 60px;
	}

		.calendar .section-title {
			display: inline-block;
			font-size: 56px;
			font-weight: 700;
			line-height: 120%;
			margin-bottom: 24px;
			position: relative;
		}

			.calendar .section-title span {
				display: inline-block;
				position: relative;
			}

				.calendar .section-title span:after {
					content: '';
					top: -1px;
					left: -1px;
					right: 32px;
					height: 67px;
					z-index: -1;
					position: absolute;
					background: url('../img/twi-d2-line.svg') no-repeat center center / 100% 100%;
				}

			.calendar .section-title .left { left: -42px; bottom: -36px; position: absolute; }
			.calendar .section-title .right { top: -30px; right: -23px; position: absolute; }

		.calendar .filters {
			margin-bottom: 10px;
		}

			.calendar .filters .years {
				color: #BCBBBB;
				font-size: 22px;
				font-weight: 700;
				line-height: 150%;
				min-height: 40px;
			}

				.calendar .filters .years a + a {
					margin-left: 13px;
				}

				.calendar .filters .years a.current {
					color: #113041;
					font-size: 32px;
					font-weight: 700;
					line-height: 120%;
				}

					.calendar .filters .years a:not(.current):hover {
						color: #D7DF23;
					}

			.calendar .filters .months {
				width: 100%;
				overflow: auto;
				padding-top: 3px;
			}

				.calendar .filters .months div {
					font-size: 0;
					line-height: 0;
					white-space: nowrap;
					padding-bottom: 10px;
				}

				.calendar .filters .months * {
					display: inline-block;
					color: #BCBBBB;
					font-size: 18px;
					font-weight: 700;
					line-height: 18px;
					text-transform: uppercase;
				}

					.calendar .filters .months * + * {
						margin-left: 24px;
					}

				.calendar .filters .months a {
					color: #113041;
					position: relative;
				}

					.calendar .filters .months a:before {
						content: '';
						display: block;
						top: -4px;
						right: -4px;
						width: 6px;
						height: 6px;
						border-radius: 50%;
						background: #D7DF23;
						position: absolute;
					}

					.calendar .filters .months a:hover {
						color: #D7DF23;
					}

		@media (min-width: 768px) {
			.calendar .swiper {
				overflow: visible;
			}
			.calendar .swiper-wrapper {
				display: block;
			}
		}

		.calendar .item {
			width: 100%;
			color: #D7DF23;
			font-size: 18px;
			font-weight: 700;
			line-height: 150%;
			background: #113041;
			border-radius: 100px;
			padding: 0 24px;
			margin-bottom: 28px;
			box-sizing: border-box;
			box-shadow: 0 4px 16px 0 rgba(24, 42, 71, 0.16);
			transition: border-radius ease 0.4s 0.4s;
		}

			@media (min-width: 768px) {
				.calendar .item:not(.opened):hover {
					color: #113041;
					background: #D7DF23;
					transition: border-radius ease 0.4s 0.4s, color ease 0.4s, background ease 0.4s;
				}

				.calendar .item:not(.opened):hover svg {
					fill: #113041;
				}
			}

			.calendar .item.opened {
				border-radius: 32px;
				transition: border-radius ease 0s 0s;
			}

			.calendar .item .head {
				width: 100%;
				display: flex;
				flex-wrap: wrap;
				cursor: pointer;
				padding: 20px 0 20px 0;
			}

				.calendar .item .label {
					display: block;
					font-size: 12px;
					font-weight: 400;
					line-height: 150%;
				}

				.calendar .item .dates {
					width: 380px;
					display: flex;
				}

					.calendar .item .dates .sep {
						margin: 16px 12px 0 12px;
					}

					.calendar .item .dates .value {
						line-height: 150%;
						text-transform: capitalize;
					}

					.calendar .item .dates .value span {
						font-weight: 400;
					}

				.calendar .item .title {
					width: calc(100% - 650px);
					padding-right: 40px;
					box-sizing: border-box;
				}

				.calendar .item .type {
					width: 170px;
				}

				.calendar .item .details {
					width: 100px;
					height: 45px;
					display: flex;
					align-items: center;
					justify-content: flex-end;
					font-size: 12px;
					font-weight: 700;
					line-height: normal;
					text-transform: uppercase;
				}

					.calendar .item .details span:before {
						content: attr(data-title);
					}

						.calendar .item.opened .details span:before {
							content: attr(data-close);
						}

					.calendar .item .details svg {
						display: block;
						margin-left: 8px;
					}

						.calendar .item.opened .details svg {
							transform: rotate(-90deg);
						}

			.calendar .item .content {
				display: none;
				color: #ffffff;
				font-weight: 400;
				padding: 25px 0 50px 0;
				border-top: 1px solid #D7DF23;
			}

				.calendar .item .content .buttons {
					display: flex;
					flex-wrap: wrap;
					margin-top: 30px;
				}

					.calendar .item .content .buttons .btn {
						margin-right: 24px;
					}

		.calendar .no-events {
			padding: 0 20px;
			text-align: center;
		}

			.calendar .no-events svg {
				display: block;
				margin: 40px auto 5px auto;
			}

			.calendar .no-events p {
				max-width: 430px;
				color: #113041;
				font-size: 18px;
				font-weight: 700;
				line-height: 150%;
				margin: 0 auto 16px auto;
			}


	/*
	 *	Modal
	 */
	.modal-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 9000;
		opacity: 0;
		display: flex;
		visibility: hidden;
		background: rgba(255, 255, 255, 0.5);
		align-items: flex-end;
		justify-content: center;
		transition: all ease 0.2s;
	}

		.modal-overlay.show {
			opacity: 1;
			visibility: visible;
		}

		.bottom-sheet {
			width: 100%;
			background: #113041;
			border-top-left-radius: 16px;
			border-top-right-radius: 16px;
			padding: 24px 18px 0px 18px;
			position: relative;
			transform: translateY(100%);
			transition: transform 0.2s ease-out;
		}

		.bottom-sheet.show {
			transform: translateY(0);
		}

			.bottom-sheet .drag-handle {
				width: 206px;
				height: 5px;
				background: #D7DF23;
				margin: 0 auto 32px auto;
			}

			.bottom-sheet .modal-content {
				color: #ffffff;
				flex: 1; /* Allows content to fill available space */
				overflow-y: auto; /* Enables scrolling inside modal */
				scrollbar-width: thin; /* For Firefox */
				scrollbar-color: transparent transparent;
			}

			.bottom-sheet .modal-content .modal-inner-content {
				width: 100%;
				position: relative;
				height: 70vh;
				padding-bottom: 48px;
			}

			.bottom-sheet .general-content {
				padding-bottom: calc(48px + env(safe-area-inset-bottom));
			}

				.bottom-sheet .general-content:has(+ .buttons) {
					padding-bottom: 0;
				}

			.bottom-sheet .buttons {
				margin-top: 32px;
				display: flex;
				flex-direction: column;
				padding-bottom: calc(48px + env(safe-area-inset-bottom));
			}

				.bottom-sheet .buttons .btn + .btn {
					margin-top: 16px;
					margin-left: 0
				}


/*	Section: Documents
-------------------------------------------*/

	.documents {
		padding: 72px 0 200px 0;
	}

		.documents .title {
			font-size: 56px;
			font-weight: 700;
			line-height: 120%;
		}

		.documents .items {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 32px 0 -16px 0;
		}

			.documents .item {
				display: flex;
				justify-content: space-between;
				width: calc(50% - 12px);
				margin-bottom: 16px;
				padding: 18px 32px;
				background: #ffffff;
				border-radius: 100px;
				border: 1px solid #ffffff;
				box-shadow: 0 4px 24px 0 rgba(17, 48, 65, 0.08);
				box-sizing: border-box;
				cursor: pointer;
			}

				.documents .item span {
					display: block;
					width: calc(100% - 40px);
					font-size: 18px;
					line-height: normal;
					white-space: nowrap;
					text-overflow: ellipsis;
					overflow: hidden;
				}

				.documents .item:hover {
					border-color: #D7DF23;
				}

					.documents .item:hover svg {
						fill: #CBD31C;
					}


/*	Section: General Page
-------------------------------------------*/

	.page-general {
		padding: 56px 0 200px 0;
	}


/*	Section: Products
-------------------------------------------*/

	.hero-products {
		background: none !important;
	}

		.hero-products .title {
			position: relative;
		}

			.hero-products .title span {
				position: relative;
			}

			.hero-products .title span:before {
				content: "";
				top: 1px;
				left: -10px;
				right: 45px;
				height: 72px;
				z-index: -1;
				position: absolute;
				background: url('../img/twi-d2-line.svg') no-repeat top left / 100% 100%;
			}

			.hero-products .title .left { left: -42px; bottom: -36px; position: absolute; }
			.hero-products .title .right { left: 365px; top: -21px; position: absolute; }

		.hero-products .image:after {
			left: 24px;
			height: auto;
			bottom: 24px;
		}

		.hero-products .image .swiper-slide {
			height: 495px;
			border-radius: 24px;
			overflow: hidden;
			position: relative;
		}

			.hero-products .image .swiper-slide img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: absolute;
			}

			.hero-products .image .swiper-pagination {
				top: 100%;
				bottom: auto;
				margin-top: 32px;
				position: absolute;
			}

	.products-form {
		margin: 120px 0 200px 0;
	}


/*	Popup
-------------------------------------------*/

	.popup {
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9005;
		overflow: auto;
		position: fixed;
		background: rgba(17, 48, 65, 0.6);
		opacity: 0;
		visibility: hidden;
		transition: all ease 0.3s;
	}

	.popup.show {
		opacity: 1;
		visibility: visible;
	}

	.popup .inner {
		display: table;
		width: 100%;
		height: 100vh;
		vertical-align: middle;
	}

	.popup .inner .tr {
		padding: 20px;
		display: table-cell;
		vertical-align: middle;
	}

	.popup .box {
		margin: 0 auto;
		position: relative;
		opacity: 0;
		width: 670px;
		height: 670px;
		transform: translate3d(0px, 50px, 0px);
		transition: all ease 0.5s 0s;
	}

	 	.popup .box > .close {
			top: 12px;
			right: 12px;
			width: 56px;
			height: 56px;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 50%;
			background: #D7DF23;
			position: absolute;
			cursor: pointer;
		}

		.popup .box:before {
			content: '';
			top: 12px;
			left: 12px;
			width: 100%;
			height: 100%;
			z-index: -1;
			position: absolute;
			background: #D7DF23;
			border-radius: 50%;
		}

		.popup .box:after {
			content: '';
			top: -12px;
			left: -12px;
			width: 100%;
			height: 100%;
			z-index: 1;
			position: absolute;
			border: 8px solid #D7DF23;
			border-radius: 50%;
			box-sizing: border-box;
		}

		.popup .box .inner {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 670px;
			height: 670px;
			border-radius: 50%;
			background: #FFFFFF;
			box-sizing: border-box;
		}

			.popup .gform_wrapper {
				max-width: 425px;
				z-index: 2;
				position: relative;
			}

			.popup .gform_heading {
				margin-bottom: 24px;
			}

				.popup .gform_title {
					color: #113041;
					text-align: center;
					padding-top: 64px;
					background: url('../img/icon-crown-2.svg') no-repeat top center;
				}

				.popup .gfield input {
					color: #113041;
					background: rgba(17, 48, 65, 0.10);
				}

				.popup .gfield--type-captcha {
					margin-bottom: 24px;
				}

					.popup .gfield--type-captcha:has(.validation_message) {
						margin-bottom: 32px;
					}

					.popup .ginput_recaptcha {
						display: flex;
						justify-content: center;
						position: relative;
					}

					.popup .gfield--type-captcha .validation_message {
						left: 50%;
						width: 304px;
						margin-top: 5px;
						margin-left: 0;
						text-align: center;
						transform: translateX(-50%);
						box-sizing: border-box;
					}

				.popup .gfield--type-hidden {
					display: none !important;
				}

				.popup .gform_footer {
					text-align: center;
					padding-bottom: 20px;
				}

				.popup .validation_message {
					color: #ffffff;
					font-size: 10px;
					font-weight: 600;
					line-height: 14px;
					background: #d3163e;
					position: absolute;
					margin: -12px 0 0 16px;
					padding: 3px 10px;
					border-radius: 12px;
				}

			.popup .gform_confirmation_wrapper {
				z-index: 2;
				max-width: 470px;
				text-align: center;
				position: relative;
			}

				.popup .gform_confirmation_wrapper h3 {
					color: #113041;
					text-align: center;
					font-size: 40px;
					font-weight: 700;
					line-height: 120%;
					margin-bottom: 16px;
					padding-top: 64px;
					background: url('../img/icon-heart.svg') no-repeat top center;
				}

				.popup .gform_confirmation_wrapper .btn {
					margin-top: 24px;
				}


	.popup.show .box {
		opacity: 1;
		transform: translate3d(0px, 0px, 0px);
	}



/*	Responsive
-------------------------------------------*/

@media (max-width: 1440px)
{
	.solution .top .image { right: calc(100% - 445px); }
}

@media (max-width: 1400px)
{
	header nav ul.main { margin-left: 60px; }
	header nav ul.main > li + li { margin-left: 32px; }

	footer .col-newsletter { max-width: 460px; }

	.page-contact .gform_heading .gform_title br { display: none; }

	.hero-app .box { padding-left: 65px; padding-right:  65px; }
	.hero-app .box .content:before { left: 340px; }
	.hero-app .image { right: 10px; z-index: 3; }

	.targets .section-title:after { width: 250px; right: -140px; bottom: -185px; }
}

@media (max-width: 1250px)
{
	body { margin-top: 131px; font-size: 20px; }
	.container { width: calc(100% - 60px); }

	header nav ul.main { margin-left: 30px; }
	header nav ul.main > li + li { margin-left: 22px; }

	footer .box .left { padding-left: 64px; padding-right: 64px; }
	footer .box .right { padding-left: 64px; padding-right: 64px; }
	footer .col-newsletter { max-width: 430px; }

	.twi { padding-left: 15px; padding-right: 15px; }
	.twi .content { padding-left: 70px; }
	.twi.image-right .content { padding-left: 0; padding-right: 70px; }

	.features .swiper-slide .title { font-size: 28px; }

	.post aside { width: 420px; padding-left: 48px; }
	.post aside h2 { font-size: 36px; }
	.post .content-wrapper { width: calc(100% - 420px); padding-right: 48px; }

	.general-content h1 { font-size: 40px; }

	.form-wrapper { padding: 48px; }
	.gform_heading .gform_title { font-size: 36px; }
	.gform_heading .gform_description { font-size: 20px; }

	.hero-app .box .content:before { display: none; }
	.hero-app .box .content { max-width: 410px; }
	.hero-app .box .content h1 + p { min-height: 0; }

	.hero.story .content { padding-bottom: 0; }
	.hero.story .image { margin-right: 0; }
	.hero.story .image:before { width: 328px; left: 30px; bottom: -245px;  }

	.renewed .image { height: 570px; }

	.founder .image { width: 50%; }
}

@media(max-width: 1140px)
{
	body { font-size: 18px; }

	header nav ul.main > li > a { font-size: 16px; }
	header nav ul.main > li.current-menu-item > a::before { width: 42px; height: 42px; margin-top: -21px; left: -14px; }
	header .logo img { width: 90px; height: 83px; }

	footer { padding-bottom: 70px; }
	footer .box p { font-size: 17px; margin-top: 15px; margin-left: 0; width: 100%; max-width: 650px; }
	footer .columns { font-size: 16px; }
	footer .columns h4 { font-size: 16px; }
	footer .col-about .socials a + a { margin-left: 16px; }
	footer .col-newsletter { max-width: 320px; }
	footer .col-newsletter p { margin-bottom: 16px; }
	footer .col-newsletter .gform_fields .gfield:nth-child(2) { width: 100%; }
	footer .col-newsletter .gform_button { margin-top: 0 !important; }

	.btn { font-size: 17px; }

	.appstore .links img { height: 48px; width: auto; }
	.appstore .links a + a { margin-left: 18px; }

	.hero-home { padding-top: 45px; padding-bottom: 100px; }
	.hero-home .content .subtitle { font-size: 19px; }
	.hero-home .content .title { font-size: 48px; }
	.hero-home .content .stats .item { width: 120px; font-size: 14px; }
	.hero-home .content .stats .item strong { font-size: 40px; }

	.hero .content .subtitle { font-size: 19px; }
	.hero .content .title { font-size: 48px; }
	.hero .content .btn { padding-left: 24px; padding-right: 24px; }

	.hero.alt:not(.story) { min-height: 610px; background-position: -614px -590px; }
	.hero.story .image:before { width: 300px; height: 330px; }

	.workshop-videos { background-position: -614px -590px; }

	.why .section-title { font-size: 48px; }
	.why .section-title:after { width: 280px; left: calc(100% - 30px); }
	.why .section-title span:after { bottom: -10px; }
	.why .swiper-slide { padding: 32px; }
	.why .swiper-slide .icon img { height: 60px; width: auto; }
	.why .swiper-slide .title { font-size: 40px; }

	.twi .image { width: calc(50% - 30px); }
	.twi .content { padding-left: 50px; }
	.twi.image-right .content { padding-left: 0; padding-right: 50px; }
	.twi .content .title { font-size: 48px; }
	.twi .arrow { width: 130px; }
	.twi .arrow.alt { left: 50%; top: calc(100% - 40px); }

	.twi-wrapper { background-size: 1000px 1000px; background-position: right -580px top 200px; }

	.cta .box .content { height: 500px; padding: 0 40px 48px 40px; }
	.cta .box .badge { left: 40px; top: 40px; }

	.featured-news.grey { padding-top: 140px; }
	.featured-news .section-title { font-size: 48px; }

	.news-item .category { font-size: 12px; }
	.news-item .content { padding-top: 26px; padding-bottom: 26px; }
	.news-item .content .title { font-size: 19px; }
	.news-item .content p { font-size: 16px; }

	.gallery { padding-bottom: 180px; }
	.gallery .section-title { font-size: 48px; }
	.gallery .arrow { width: 52px; height: 52px; }
	.gallery .arrow svg { width: 24px; height: 24px; }
	.gallery .arrow + .arrow { margin-left: 24px; }

	.packages .section-title { font-size: 48px; }
	.packages .section-title span::after { height: 76px; }

	.packages .swiper-slide .title { font-size: 32px; }
	.packages .swiper-slide .title small { font-size: 27px; }
	.packages .bottom p:before { width: 250px; top: -160px; }

	.features .swiper-slide { padding: 24px; }
	.features .swiper-slide .title { font-size: 26px; }
	.features .swiper-slide p { font-size: 16px; }

	.program .section-title { font-size: 48px; }
	.program .section-title span:after { height: 38px; }
	.program .item img { width: 64px; height: 64px; }

	.news-slider { padding-bottom: 10px; }

	.post aside { width: 390px; padding-left: 32px; }
	.post aside h2 { font-size: 36px; }
	.post .content-wrapper { width: calc(100% - 390px); padding-right: 32px; }
	.post .featured-image { height: 410px; }

	.general-content blockquote { margin-left: 64px; }

	.page-contact .content h1 { font-size: 48px; }
	.page-contact .content .head h3 { font-size: 28px; }
	.page-contact .content { font-size: 16px; }
	.page-contact .form-wrapper { padding: 32px; }
	.page-contact .form-wrapper { width: calc(100% - 440px); }

	.hero-app { margin-top: 56px; }
	.hero-app .box { padding: 64px 50px 72px 50px; }
	.hero-app .box .content h1 { font-size: 48px; }
	.hero-app .image { width: 520px; }

	.app-stats .item strong { font-size: 42px; }

	.parent-features .swiper-slide h3 { font-size: 28px; }
	.parent-features .swiper-slide p { font-size: 16px; }

	.qtime .content { width: 50%; padding-right: 0; }
	.qtime .image { width: 50%; }
	.qtime .image .wrap { height: 480px; }

	.targets .section-title { font-size: 48px; }
	.targets .section-title:after { width: 240px; height: 210px; right: -130px; }

	.solution .top .section-title { font-size: 48px; }
	.solution .top .col h3 { font-size: 28px; }
	.solution .top .image { right: calc(100% - 425px); }

	.devices .section-title { font-size: 48px; }
	.devices .section-title span:after { height: 42px; }
	.devices .swiper-slide h3 { font-size: 28px; }

	.motivation .section-title { font-size: 48px; }
	.motivation .section-title span:after { height: 48px; }
	.motivation .section-title .right { width: 48px; height: 48px; }
	.motivation .content { max-width: 57%; padding-left: 90px; box-sizing: border-box; }
	.motivation .image { width: 43%; }
	.motivation .image .wrap { height: 420px; }

	.renewed:before { width: 135px; }
	.renewed .section-title { font-size: 48px; }
	.renewed .section-title .right { width: 55px; height: 55px; }
	.renewed .content { width: 50%; box-sizing: border-box; max-width: 100%; }
	.renewed .image { width: 50%; height: 540px; }

	.founder .image { padding-right: 20px; box-sizing: border-box; }
	.founder .content .title { font-size: 40px; }
	.founder .content h3 { font-size: 28px; }

	.videos .section-title { font-size: 48px; }
	.videos .head p { max-width: 410px; }
	.videos .thumbs .item .image { height: 160px; }
	.videos .thumbs .item .image .play { width: 60px; height: 60px; padding-left: 6px; }
	.videos .thumbs .item .image .play svg { width: 20px; height: 20px; }
	.videos .thumbs .item p { font-size: 15px; line-height: 120%; }

	.documents .title { font-size: 48px; }
	.documents .item span { font-size: 16px; }

	.calendar .section-title { font-size: 48px; }
	.calendar .item .dates { width: 340px; }
	.calendar .item .type { width: 130px; }
	.calendar .item .title { width: calc(100% - 570px); }
}

@media (max-width: 1023px)
{
	body { font-size: 16px; margin-top: 109px; }

	header { padding: 12px 0; }
	header .container { justify-content: space-between; align-content: center }
	header .bars { display: flex; }
	header nav { display: none; }
	header.tiny .logo img { height: 55px; width: auto; }

	footer .box .left { padding: 40px 45px; }
	footer .box .right { padding: 40px 45px; }
	footer .box h2 { font-size: 28px; }
	footer .box p { font-size: 16px; }
	footer .columns { flex-wrap: wrap; }
	footer .columns h4 { margin-bottom: 24px; }
	footer .col-newsletter { max-width: 100%; padding-top: 60px; }
	footer .col-newsletter p br { display: none; }
	footer .col-newsletter .gform_button { width: 100%; }

	.hero-home { background-size: 100% 140px; padding-bottom: 30px; }
	.hero-home .container { flex-direction: column; }
	.hero-home .media { width: 100%; }
	.hero-home .media:before { top: 12px; left: 12px; }
	.hero-home .media .video { min-height: 0; padding-bottom: 75%; }
	.hero-home .media .play { left: 50%; margin: -40px 0 0 -40px; }
	.hero-home .content { width: 100%; max-width: 100%; order: 2; padding-top: 48px; }
	.hero-home .content .subtitle { font-size: 18px; }
	.hero-home .content .title { font-size: 40px; }
	.hero-home .content .button-container { display: inline-block; }
	.hero-home .content .button-container img { left: calc(100% + 15px); top: -5px; }
	.hero-home .content .stats { margin-top: 50px; max-width: 500px; }
	.hero-home .content .stats .item strong { font-size: 32px; }

	.hero { background-size: 1000px 1000px; background-position: -500px -150px; }
	.hero .container { flex-direction: column; }
	.hero .image { width: calc(100% - 12px); margin-left: 12px;  }
	.hero .image:after { top: -12px; left: -12px;  }
	.hero .image .wrap { height: auto; padding-bottom: 75%; }
	.hero .content { width: 100%; max-width: 100%; padding-right: 0; order: 2; margin-top: 36px; }
	.hero .content .subtitle { font-size: 18px; }
	.hero .content .title { font-size: 40px; }

	.hero.alt:not(.story) { background: none; padding-top: 24px; padding-bottom: 48px; min-height: 0; }
	.hero.alt .content { margin-top: 16px; }
	.hero.alt .content .subtitle { margin-bottom: 16px; }
	.hero.alt .content .title { margin-bottom: 16px; }
	.hero.alt .image { width: 100%; margin-left: 0; }
	.hero.alt .image img { max-width: 500px; }

	.workshop-videos { background: none; }

	.hero.story { padding-top: 32px; padding-bottom: 140px; min-height: 0; background-size: 100% 100px; }
	.hero.story .content { width: 100%; margin-top: 36px; }
	.hero.story .content .title br { display: none; }
	.hero.story .title .left { width: 50px; height: 50px; left: -45px; bottom: -25px; }
	.hero.story .title span:before { height: 32px; }
	.hero.story .image:before { display: none; }

	.hero.alt.competition { padding-bottom: 80px; }
	.hero.competition .image img { margin: 0 auto; }
	.hero.competition .title br { display: none; }
	.hero.competition .title span:before { height: auto; top: 10px; bottom: 0; right: 0; left: 0; }

	.why { padding-top: 40px; padding-bottom: 0; }
	.why:before { display: none; }
	.why .section-title { font-size: 40px; }
	.why .section-title:after { display: none; }
	.why .swiper-wrapper { flex-wrap: nowrap; margin: 0; }
	.why .swiper-slide { margin: 0; width: calc(50% - 20px) !important; }
	.why .swiper-slide .title { font-size: 34px; }

	.twi { margin-top: 70px; padding-left: 0; padding-right: 0; }
	.twi .container { display: block; }
	.twi .image { width: 100%; max-width: 500px; margin-left: auto; margin-right: auto; }
	.twi .image .wrap:before { top: 12px; left: 12px; }
	.twi .image .wrap:after { top: -12px; left: -12px; border-width: 4px; }
	.twi.image-right .image .wrap:before { top: 12px; left: -12px; }
	.twi.image-right .image .wrap:after { top: -12px; left: 12px; }
	.twi .content { width: 100%; padding-left: 0; padding-right: 0 !important; padding-top: 60px; }
	.twi .content .title { font-size: 40px; }
	.twi .content .title.d1 span::before { top: 16px; }
	.twi .content .title.d1 .left { width: 48px; height: 48px; left: -46px; }
	.twi .content .title.d1 .right { width: 60px; height: 59px; top: -22px; }
	.twi .content .appstore { margin-top: 32px; }
	.twi .arrow { display: none; }

	.twi-wrapper { background: transparent; }
	.twi-wrapper .twi + .twi { margin-top: 70px; }

	.twi + .cta { margin-top: 64px; }

	.featured-news .swiper-slide { width: 66%; }
	.featured-news 	.swiper-pagination { margin-top: 20px; margin-bottom: 24px; }

	.packages { padding-top: 90px; padding-bottom: 0; }
	.packages .section-title:after { display: none; }
	.packages .swiper-wrapper { padding-top: 40px; padding-bottom: 0; }
	.packages .swiper-slide { width: 400px; }
	.packages .bottom { padding-top: 32px; }
	.packages .bottom p:before { display: none; }

	.features .swiper-wrapper { flex-wrap: nowrap; width: 100%; margin-left: 0; margin-right: 0; padding-bottom: 0; }
	.features .swiper-slide { width: 360px; margin-left: 0; margin-right: 0; }
	.features .swiper-pagination { margin-top: 32px; }

	.program .items { flex-wrap: wrap; }
	.program .item { width: calc(50% - 36px); }
	.program .item:nth-child(n+3) { margin-top: 48px; }

	.news-slider { background: transparent; padding-bottom: 0; }
	.news-slider .swiper-slide { width: 100%; max-width: 100%; transform: scale(1) !important; margin-top: 0 !important; }
	.news-slider .swiper-slide .box { border-radius: 0; }
	.news { margin-top: 56px; }
	.news .items .news-item { width: calc(50% - 24px); }

	.post .container { display: block; }
	.post .content-wrapper { width: 100%; padding-right: 0; padding-bottom: 64px; }

	.post aside { width: 100%; padding-top: 64px; padding-left: 0 }
	.post aside h2 { margin-top: 0; text-align: left; }
	.post aside:before { top: 0; left: -64px; width: auto; right: -64px; }

	.page-contact { padding-top: 56px; }
	.page-contact .container { display: block; }
	.page-contact .content { max-width: 100%; }
	.page-contact .content h1 + .row p br { display: none !important; }
	.page-contact .form-wrapper { width: auto; margin: 64px -30px 0 -30px; }

	.app-stats .items { padding: 48px 0; }
	.app-stats .item { font-size: 15px; }
	.app-stats .item strong { font-size: 36px; }

	.hero-app .image { position: relative; right: auto; width: 100%; top: -45px; }
	.hero-app .image img { max-width: 500px; margin: 0 auto -35px auto; display: block; }
	.hero-app .box { padding: 0 50px 64px 50px; }
	.hero-app .box .content { width: 100%; max-width: 100%; }
	.hero-app .box .content h1 { font-size: 40px; }

	.parent-features { margin-top: 64px; }

	.qtime .container { flex-direction: column; padding-top: 12px; }
	.qtime .content { width: 100%; max-width: 100%; order: 2; margin-top: 48px; }
	.qtime .section-title { font-size: 48px; margin-bottom: 24px; }
	.qtime .section-title span:after { height: auto; top: 0; bottom: 0; left: 0; right: 0; }
	.qtime .section-title br { display: none; }
	.qtime .image { width: calc(100% - 12px); margin-left: 12px; }
	.qtime .image:after { top: 12px; left: -12px; }

	.featured-news { margin-top: 10px; }
	.featured-news.grey { background-size: 100% 50px; padding-top: 120px; }

	.targets .container { display: block; }
	.targets .title { width: 100%; }
	.targets .section-title { font-size: 40px; }
	.targets .section-title:after { display: none; }
	.targets .section-title .left { width: 48px; height: 48px; left: -29px; bottom: -30px; }
	.targets .section-title .right { width: 56px; height: auto; left: calc(100% + 5px); top: 5px; }
	.targets .text { width: 100%; margin-top: 16px; }

	.solution .top { display: block; }
	.solution .top .section-title { font-size: 40px; }
	.solution .top .section-title br { display: none; }
	.solution .top .section-title span:after { height: 48px; }
	.solution .top .section-title .left { width: 40px; height: 40px; left: -24px; bottom: -23px; }
	.solution .top .section-title .right { width: 36px; height: 36px; top: -17px; left: calc(100% - 3px); }
 	.solution .top .content { padding-top: 0; width: 100%; flex-wrap: wrap; }
	.solution .top .col { width: calc(50% - 24px); }
	.solution .top .col h3 { font-size: 24px; margin-bottom: 16px; }
	.solution .top .image { width: calc(100% - 12px); position: relative; right: auto; bottom: auto; order: 2; margin-top: 50px; margin-left: 12px; }
	.solution .top .image:after { top: 12px; left: -12px; }
	.solution .top .image .wrap { width: auto; }
	.solution .bottom { margin-top: 120px; padding-top: 20px; }
	.solution .bottom:before { height: 70px; left: -40px; }
	.solution .bottom .container { padding-left: 0; }

	.devices { margin-top: 56px; }
	.devices .subtitle { font-size: 20px; }
	.devices .section-title { font-size: 40px; margin-bottom: 48px; }
	.devices .section-title .left { left: -45px; bottom: -32px; }
	.devices .section-title span:after { height: 36px; }
	.devices .swiper-slide h3 { font-size: 24px; }

	.devices.alt { margin-top: 64px; }

	.motivation { padding-top: 60px; }
	.motivation .container { display: block; }
	.motivation .image { width: calc(100% - 12px); margin-right: 12px; }
	.motivation .image:after { top: -12px; left: 12px; }
	.motivation .image .wrap { padding-bottom: 70%; height: auto; }
	.motivation .content { width: 100%; max-width: 100%; padding-left: 0; margin-top: 36px; }
	.motivation .section-title { font-size: 40px; }
	.motivation .section-title span:after { height: 40px; top: 14px; }
	.motivation .section-title .left { width: 55px; height: 55px; }

	.renewed:before { display: none; }
	.renewed .container { flex-direction: column; }
	.renewed .section-title { font-size: 40px; }
	.renewed .section-title span:after { top: 12px; height: 43px; }
	.renewed .content { width: 100%; order: 2; padding-top: 48px; padding-bottom: 48px; padding-right: 0; }
	.renewed .image { width: 100%; height: 530px; }

	.founder .container { display: block; }
	.founder .image { width: 100%; padding-right: 0; }
	.founder .image img { max-width: 500px; margin: 0 auto; }
	.founder .content { width: 100%; max-width: 100%; padding-left: 0; }
	.founder .content .title .left { width: 60px; height: 60px; }
	.founder .content h3 { margin: 32px 0 16px 0; }

	.videos .head { display: block; margin-bottom: 32px; }
	.videos .head .title { width: 100%; }
	.videos .head .subtitle { font-size: 20px; }
	.videos .section-title { font-size: 40px; }
	.videos .section-title span:after { height: auto; top: 0; bottom: 0; left: 0; right: -10px; }
	.videos .section-title .left { width: 50px; height: 50px; left: -42px; bottom: -22px; }
	.videos .head p { max-width: 100%; margin-top: 16px; }
	.videos .thumbs { margin-left: -8px; margin-right: -8px; }
	.videos .thumbs .item { margin: 0 8px; }
	.videos .thumbs .item .image { height: 130px; }
	.videos .thumbs .item .image .play { width: 48px; height: 48px; }

	.documents { padding-top: 48px; }
	.documents .item { width: 100%; }

	.calendar .section-title { font-size: 40px; margin-bottom: 32px; }
	.calendar .section-title span:after { top: 0; bottom: 0; height: auto; }
	.calendar .filters .months * { font-size: 17px; }
	.calendar .filters .months * + * { margin-left: 18px; }
	.calendar .item { border-radius: 32px; }
	.calendar .item .head { flex-wrap: wrap; }
	.calendar .item .title { order: 1; width: 100%; margin-bottom: 12px; }
	.calendar .item .dates { order: 2; width: 400px; }
	.calendar .item .type { order: 3; width: calc(50% - 200px); }
	.calendar .item .details { order: 4; width: calc(50% - 200px); }

	/*.hero-products .content { order: 1; margin-top: 0 !important; margin-bottom: 48px; }
	.hero-products .content .title br { display: none; }
	.hero-products .image { order: 2; margin-left: 0; margin-right: 12px; }
	.hero-products .image:after { left: 12px; }*/

	.hero-products .content { margin-top: 80px; }
	.hero-products .content .title br { display: none; }
	.hero-products .content .title span:before { height: 100%; }
	.hero-products .content .title .right { left: auto; right: 0; }
	.products-form { margin-top: 60px; }
}

@media (max-width: 767px)
{
	body { margin-top: 74px; }

	.container { width: calc(100% - 32px); }

	.btn { font-size: 16px; line-height: normal; padding: 14px 32px 14px 32px; }
	.btn.outline { padding: 12px 30px 12px 30px; }

	.appstore .links a + a { margin-left: 12px; }
	.appstore p strong { font-weight: 800; }

	.swiper-pagination { margin-top: 40px; }
	.swiper-pagination-bullet { height: 4px; width: 20px; margin-top: 1px !important; }
	.swiper-pagination-bullet-active { height: 6px; width: 32px; margin-top: 0 !important; }

	.news-item .category { top: 16px; left: 16px; }
	.news-item .content .title { font-weight: 800; }

	header { padding: 8px 0; }
	header .logo img { width: auto; height: 56px !important; }
	.mobile-menu { top: calc(100% + 2px); left: 0; right: 0; width: auto; max-width: none; height: 100vh; border-radius: 0; box-shadow: none; }

	footer { padding-bottom: 56px; }
	footer .box { display: block; margin-top: -164px; padding: 0 24px; }
	footer .box .left { width: 100%; border-right: 0; border-bottom: 2px solid #113041; padding-left: 0; padding-right: 0; }
	footer .box .right { width: 100%; border-right: 0; border-left: 0; padding-left: 0; padding-right: 0; }
	footer .box .btn { margin-top: 24px; }
	footer .box h2 { font-size: 24px; font-weight: 800; }
	footer .columns { padding-top: 32px; }
	footer .columns > div { width: 100%; }
	footer .columns > div + div { margin-top: 48px; }
	footer .columns h4 { font-weight: 800; margin-bottom: 16px; }
	footer .columns p span { margin-bottom: 8px; }
	footer .columns p + p { margin-top: 16px; }
	footer .columns p a { font-weight: 800; }
	footer .col-about > img { width: auto; height: 88px; }
	footer .col-about p { max-width: 100%; }
	footer .col-about .socials a { width: 48px; height: 48px; }
	footer .col-about + .col-links { display: none; }
	footer .col-newsletter { padding-top: 0; }
	footer .col-newsletter p { margin-bottom: 24px; }

	.hero-home { padding-top: 24px; padding-bottom: 0; background-size: 120% 95px; }
	.hero-home .media { width: auto; margin-right: 12px; }
	.hero-home .media:before { border-width: 2px; }
	.hero-home .media .play { width: 48px; height: 48px; padding-left: 4px; margin: -24px 0 0 -24px; }
	.hero-home .media .play svg { width: 19px; height: 19px; }
	.hero-home .media .video { padding-bottom: 92%; }
	.hero-home .content { padding-top: 36px; }
	.hero-home .content .d1 { display: none; }
	.hero-home .content .subtitle { font-size: 16px; }
	.hero-home .content .title { font-size: 32px; margin-top: 16px; }
	.hero-home .content .button-container img { top: 0; left: calc(100% + 9px); width: 32px; height: 32px; }
	.hero-home .content .stats { margin-top: 48px; justify-content: space-between; flex-wrap: wrap; margin-bottom: -24px; }
	.hero-home .content .stats .item { font-size: 16px; width: calc(50% - 12px); margin-bottom: 24px; }
	.hero-home .content .stats .item strong { font-size: 48px; }

	.hero { padding-top: 36px; background-size: 545px 545px; background-position: -271px 80px; }
	.hero .container { flex-direction: column; }
	.hero .image:after { border-width: 2px; }
	.hero .image .wrap { padding-bottom: 92%; }
	.hero .content { width: 100%; max-width: 100%; padding-right: 0; order: 2; margin-top: 24px; }
	.hero .content .subtitle { font-size: 16px; margin-bottom: 16px; }
	.hero .content .title { font-size: 32px; }
	.hero .content p + p { margin-top: 24px; }
	.hero .content .button-container { flex-direction: column; align-items: flex-start; }
	.hero .content .button-container .btn { min-width: 225px; }
	.hero .content .button-container .btn + .btn { margin-left: 0; margin-top: 24px; }

	.hero.alt .content .button-container .btn { min-width: 0; }
	.hero.alt .content .subtitle { font-weight: 800; }

	.hero.alt.competition { padding-top: 10px; padding-bottom: 65px; }
	.hero.alt.competition .content .title .left { display: none; }
	.hero.alt.competition .content .title .right { display: none; }
	.hero.alt.competition .content .button-container .btn + .btn { margin-top: 16px; }
	.hero.alt.competition .content .button-container .btn.transparent { background: #F5F5F5; }

	.hero.story { padding-top: 24px; padding-bottom: 100px; background-size: 100% 85px; }
	.hero.story .content { margin-top: 24px; }
	.hero.story .title span:before { display: none; }
	.hero.story .title .left { display: none; }
	.hero.story .title .right { display: none; }

	.why { padding-top: 58px; }
	.why .section-title { font-size: 32px; margin-bottom: 24px; }
	.why .section-title span:after { left: 10px; right: 10px; top: -3px; bottom: -5px; }
	.why .swiper-slide { width: calc(100vw - 64px) !important; padding: 32px 24px; }
	.why .swiper-slide .icon img { height: 48px; }
	.why .swiper-slide .title { font-size: 24px; font-weight: 800; margin-top: 16px; }

	.twi { margin-top: 65px; padding: 0; }
	.twi .image { width: calc(100% - 24px); }
	.twi .image .wrap:after { border-width: 4px; }
	.twi .content { padding-top: 50px; }
	.twi .content .title { font-size: 32px; }
	.twi .content .title.d1 span:before { top: 10px; }
	.twi .content .title.d1 .left { width: 40px; height: 40px; left: -28px; bottom: -30px; }
	.twi .content .title.d1 .right { width: 47px; height: 45px; left: calc(100% - 5px); top: -18px; }
	.twi .content .title.d2 span:before { right: -20px; left: -5px; bottom: 0; top: 4px; }
	.twi .content .title.d2 .left { width: 42px; height: 42px; left: -34px; bottom: -24px; }
	.twi .content .title.d2 .right { width: 32px; height: 32px; left: calc(100% + 21px); top: -19px; }
	.twi .content .title.d3 span:before { height: auto; top: 4px; bottom: -2px; right: 5px; }
	.twi .content .title.d3 .left { width: 32px; height: 32px; left: -21px; bottom: -24px; }
	.twi .content .title.d3 .right { width: 46px; height: 46px; left: 100%; top: -29px; }
	.twi .content .title.d4 span:before { height: auto; top: 3px; bottom: -7px; right: -7px; }
	.twi .content .title.d4 .left { width: 45px; height: 45px; left: -20px; bottom: -19px; z-index: -1; }
	.twi .content .title.d4 .right { width: 52px; height: 52px; left: 175px; z-index: -1; }
	.twi .content .title.d5 span:before { top: -2px; bottom: -4px; left: -1px; right: -7px; height: auto; }
	.twi .content .title.d5 .left { width: 32px; height: 32px; left: -21px; bottom: -24px; }
	.twi .content .title.d5 .right { width: 46px; height: 46px; left: 100%; top: -29px; }
	.twi .content .title.d6 span:before { height: auto; top: 7px; bottom: -3px; left: 0; right: -4px; }
	.twi .content .title.d6 .left { display: none; }
	.twi .content .title.d6 .right { display: none; }
	.twi p + p { margin-top: 24px; }
	.twi .content .buttons .btn { width: calc(50% - 8px); padding-left: 0; padding-right: 0; }
	.twi .content .buttons .btn + .btn { margin-left: 16px; }

	.cta .box .badge { top: 24px; left: 24px; padding: 9px 16px; border-radius: 48px; }
	.cta .box .content { padding: 0 24px 32px 24px; }
	.cta .box .title { font-size: 22px; }
	.cta .box .btn { margin-left: 0; }

	.home .featured-news { margin-top: 48px; }
	.featured-news { text-align: left; }
	.featured-news.grey { background-size: 100% 30px; padding-top: 75px; padding-bottom: 16px; }
	.featured-news .section-title { font-size: 32px; margin-bottom: 32px; }
	.featured-news .section-title span:after { height: 30px; right: 0; left: -1px; background-size: 100% 100%; }
	.featured-news .section-title .left { width: 32px; height: 32px; left: -25px; bottom: -18px; }
	.featured-news .section-title .right { width: 28px; height: 32px; left: 100%; top: 0; }
	.featured-news .swiper-slide { width: calc(100% - 48px); }
	.featured-news .more { text-align: center; }

	.gallery { padding-top: 56px; padding-bottom: 215px; }
	.gallery .head { margin-bottom: 24px; }
	.gallery .section-title { font-size: 32px; }
	.gallery .section-title span:after { height: 90%; top: 4px; left: 0; right: -8px; }
	.gallery .section-title .left { width: 40px; height: 40px; bottom: -21px; left: -30px; }
	.gallery .section-title .right { width: 48px; height: 48px; top: -25px; right: -45px; }
	.gallery .arrows { display: none; }
	.gallery .swiper-slide { width: calc(100% - 48px); }
	.gallery .swiper-slide .image { padding-bottom: 80%; }
 	.gallery .swiper-slide.type-video .image:before { width: 60px; height: 60px; margin: -30px 0 0 -30px; }
	.gallery .swiper { margin: 0 -16px; padding: 0 16px; }

	.packages .section-title { font-size: 32px; }
	.packages .section-title br { display: none; }
	.packages .section-title span:after { height: auto; top: -8px; bottom: -5px; }
	.packages .swiper-wrapper { padding-top: 32px; }
	.packages .swiper-slide { width: calc(100vw - 48px); padding: 24px 16px 24px 16px; box-shadow: 0 2px 24px 8px rgba(0, 0, 0, 0.04); }
	.packages .swiper-slide .icon img { width: 48px; height: 48px; }
	.packages .swiper-slide .title { font-size: 24px; font-weight: 800; margin-top: 24px; }
	.packages .swiper-slide .title small { font-size: 22px; font-weight: 700; }
	.packages .swiper-slide p { margin-top: 16px; }
	.packages .swiper-slide ul { margin-top: 36px; }
	.packages .swiper-slide ul li { padding: 8px 0 12px 0; background-size: 24px 24px; background-position: 0 8px; }
	.packages .bottom { padding-top: 16px; }
	.packages .bottom p { font-weight: 800; }

	.features .swiper-slide { width: calc(100% - 48px); margin-bottom: 8px; }
	.features .swiper-slide .icon { margin-bottom: 16px; }
	.features .swiper-slide .title { font-size: 22px; }

	.program { margin-top: 54px; text-align: left; }
	.program .items { margin-left: 0; margin-right: 0; }
	.program .section-title { font-size: 32px; margin-bottom: 32px; }
	.program .section-title span:after { height: auto; top: 5px; bottom: 0px; left: 0; right: -4px; }
	.program .section-title .left { width: 46px; height: 46px; left: -34px; bottom: -14px; }
	.program .section-title .right { width: 48px; height: 48px; left: 100%; top: -14px; }
	.program .items { padding-bottom: 0; border-bottom: 0; }
	.program .item { width: 100%; min-height: 96px; margin-left: 0; margin-right: 0; display: flex; align-items: center; justify-content: space-between; position: relative; }
	.program .item + .item { margin-top: 48px; }
	.program .item img { margin-bottom: 0; width: 72px; height: 72px; }
	.program .item p { width: calc(100% - 124px); position: relative; box-sizing: border-box }
	.program .item p:after { display: none; }
	.program .item:before { content: ""; position: absolute; left: 96px; top: 4px; bottom: 4px; width: 4px; height: auto; background: #113041; }

	.news-slider .swiper-slide { width: 100%; max-width: 100%; transform: scale(1) !important; margin-top: 0 !important; }
	.news-slider .swiper-slide .box .content { height: 80vh; max-height: 600px; border-radius: 0; padding: 16px 16px 32px 16px; }
	.news-slider .cta .box .badge { left: 16px; }
	.news-slider .swiper-pagination-bullet { width: 8px; height: 8px; margin: 0 8px !important; }
	.news-slider .swiper-pagination-bullet-active { width: 24px; height: 8px; }

	.news .items { padding-bottom: 210px; }
	.news .items .news-item { width: 100%; margin-bottom: 16px; }

	.post .featured-image { height: 280px; }
	.post .content-wrapper { padding-top: 32px; }
	.post aside { padding-top: 48px; }
	.post aside h2 { font-size: 32px; margin-bottom: 24px; }

	.general-content > * { margin-top: 24px; }
	.general-content h1 { font-size: 28px; font-weight: 800; }
	.general-content h2 { font-size: 22px; }
	.general-content h3 { font-size: 20px; }
	.general-content h4 { font-size: 16px; }
	.general-content blockquote { font-size: 22px; margin-left: 32px; margin-top: 56px; padding-bottom: 24px; }
	.general-content img { margin-top: 32px; }
	.general-content .wp-caption .wp-caption-text { margin: 8px 16px 0 16px; }

	.general-content ul li  { padding-left: 12px; }

	.page-contact { padding-top: 24px; padding-bottom: 226px; }
	.page-contact .content h1 { font-size: 32px; margin-bottom: 32px; }
	.page-contact .content .head { margin-bottom: 16px; }
	.page-contact .content .head h3 { font-size: 22px; }
	.page-contact .content p { margin-left: 0; }
	.page-contact .content p a { font-size: 16px; font-weight: 800; }
	.page-contact .person .image { width: 110px; height: 110px; }
	.page-contact .person h4 { font-size: 20px; }
	.page-contact .person h4:after { margin-top: 8px; }
	.page-contact .person a { font-size: 16px; }
	.page-contact .content .socials { margin: 20px 0 0 0; }
	.page-contact .content .socials a { width: 48px; height: 48px; }
	.page-contact .form-wrapper { margin-left: -16px; margin-right: -16px; }

	.form-wrapper { padding: 48px 24px !important;  }
	.gform_heading { margin-bottom: 32px; }
	.gform_heading .gform_title { font-size: 24px; font-weight: 800; }
	.gform_heading .gform_description { font-size: 16px; font-weight: 800; line-height: 120%; }

	.gfield { width: 100% !important; }
	.gfield input, .gfield textarea { font-size: 16px; padding: 14px 24px; border-radius: 24px; }

	.select2-container .select2-selection--single .select2-selection__rendered { font-size: 16px; padding: 14px 24px; border-radius: 24px; }
	.select2-container--default .select2-selection--single .select2-selection__arrow { right: 24px; }

	.gsection_title { font-size: 16px; }
	.gfield--type-section:not(:first-child) { padding-top: 16px; }

	.gfield .container-repeater-field { display: block; width: calc(100% - 16px); }
	.gfield .repeater-field-item + .repeater-field-item { padding-top: 16px; }
	.repeater-field-footer { padding: 0 8px; }
	.gf-repeater-field-button-add { padding: 14px 24px; font-size: 16px; width: 100%; }

	.validation_message { padding-left: 24px; padding-right: 24px; }

	.gfield--type-consent { padding-top: 16px; }
	.gfield--type-consent .ginput_container .gform-field-label { font-size: 16px; }
	.form-wrapper .gform_button { width: 100%; }

	.hero-app { margin-top: 105px; }
	.hero-app .container { margin: 0; width: 100%; max-width: 100%; }
	.hero-app .image { margin: 0 16px; width: auto; top: -80px; margin-bottom: -80px; }
	.hero-app .image img { width: 100%; max-width: 100%; }
	.hero-app .box { padding: 0 16px 28px 16px; }
	.hero-app .box .content h1 { font-size: 32px; margin-bottom: 16px; }

	.app-stats .items { flex-wrap: wrap; }
	.app-stats .items .item { width: auto; min-width: 132px; font-size: 16px; }
	.app-stats .item + .item { margin-left: 0; }
	.app-stats .item:nth-child(even) { margin-left: 45px; }
	.app-stats .item:nth-child(n+3) { margin-top: 32px; }
	.app-stats .item strong { font-size: 32px; }

	.parent-features { margin-top: 32px; }
	.parent-features .container { width: 100%; }
	.parent-features .swiper-slide { width: calc(100% - 48px); }
	.parent-features .swiper-slide h3 { font-size: 22px; }

	.qtime { padding-top: 36px; }
	.qtime .image:after { border-width: 2px; }
	.qtime .image .wrap { height: auto; padding-bottom: 92%; }
	.qtime .content { margin-top: 36px; }
	.qtime .section-title { font-size: 28px; font-weight: 800; margin-bottom: 16px; }
	.qtime .section-title .left { width: 42px; height: 42px; left: -31px; bottom: -24px; }
	.qtime .section-title .right { width: 44px; height: 44px; top: -23px; left: calc(100% - 17px); }
	.qtime .appstore { margin-top: 32px; }

	.hero.alt .image img { max-width: 100%; }

	.targets .container { padding: 40px 0 48px 0; }
	.targets .section-title { font-size: 32px; }
	.targets .section-title span:after { height: auto; top: 8px; bottom: 2px; left: -5px; right: -6px; }
	.targets .section-title .right { width: 48px; }

	.solution { padding-top: 40px; }
	.solution .top .section-title { font-size: 32px; margin-bottom: 24px; }
	.solution .top .section-title br { display: unset; }
	.solution .top .col { width: 100%; }
	.solution .top .col h3 { font-size: 22px; }
	.solution .top .image { order: 2; margin-top: 24px; }
	.solution .top .image:after { border-width: 2px; }
	.solution .top .image + .col { order: 3; margin-top: 36px; }
	.solution .top .image .wrap { height: auto; padding-bottom: 92%; }
	.solution .bottom { margin-top: 65px; padding-bottom: 42px; padding-top: 10px; }
	.solution .bottom:before { left: 0; background-size: 100% 100%; background-image: url('../img/solutions-bg-mobile.png'); }
	.solution .bottom h3 { font-size: 22px; margin-bottom: 32px; }
	.solution .bottom h3:before { top: auto; left: 0; right: 0; bottom: -1px; height: 2px; background: #D7DF23; }

	.devices { padding-bottom: 0; }
	.devices .subtitle { font-size: 16px; margin-bottom: 24px; }
	.devices .section-title { font-size: 32px; margin-bottom: 32px; }
	.devices .section-title span:after { height: 28px; top: 10px; right: -6px; }
	.devices .section-title .left { width: 50px; height: 50px; left: -28px; bottom: -31px; }
	.devices .section-title .right { width: 44px; height: 44px; left: 100%; top: -17px; }
	.devices .swiper { margin-left: -16px; margin-right: -16px; }
	.devices .swiper-slide { width: calc(100% - 80px); }
	.devices .swiper-slide h3 { font-size: 22px; }
	.devices .swiper-slide p:after { height: 4px; }

	.motivation { padding-top: 34px; }
	.motivation .image:after { border-width: 2px; }
	.motivation .image .wrap { padding-bottom: 92%; }
	.motivation .content { margin-top: 32px; }
	.motivation .section-title { font-size: 32px; margin-bottom: 16px; }
	.motivation .section-title span:after { height: auto; top: 8px; bottom: -5px; left: -3px; }
	.motivation .section-title .left { width: 44px; height: 44px; left: -28px; bottom: -24px; }
	.motivation .section-title .right { width: 42px; height: 42px; left: 100%; top: -16px; }
	.motivation p + p { margin-top: 24px; }

	.renewed .image { height: 300px; }
	.renewed .content { padding-top: 32px; }
	.renewed .section-title { font-size: 32px; }
	.renewed .section-title span:after { top: 3px; bottom: 0; left: 0; right: 0; height: auto; }
	.renewed .section-title .left { width: 40px; height: 40px; left: -25px; bottom: -25px; }
	.renewed .section-title .right { width: 40px; height: 40px; left: 100%; top: -20px; }
	.renewed p + p { margin-top: 24px; }

	.founder { padding: 48px 0 235px 0; }
	.founder .image img { max-width: 100%; }
	.founder .content .subtitle { margin-top: 16px; font-size: 16px; font-weight: 800; }
	.founder .content .title { font-size: 28px; }
	.founder .content .title span:after { top: 0; bottom: 0; left: -5px; right: -3px; height: auto; }
	.founder .content .title .left { width: 48px; height: 48px; left: -32px; bottom: -38px; }
	.founder .content .title .right { width: 38px; height: 38px; top: -18px; left: auto; right: -23px; }
	.founder .content h3 { margin-top: 24px; font-size: 22px; }

	.videos { padding-top: 32px; }
	.videos .head { margin-bottom: 24px; }
	.videos .head .subtitle { font-size: 16px; line-height: 120%; font-weight: 800; margin-bottom: 16px; }
	.videos .section-title { font-size: 32px; }
	.videos .section-title span:after { display: none; }
	.videos .section-title .left { display: none; }
	.videos .section-title .right { display: none; }
	.videos .head .button-container { display: block; margin-bottom: 24px; }
	.videos .head .button-container .btn { width: 100%; }
	.videos .head .button-container .btn + .btn { margin-left: 0; margin-top: 16px; }
	.videos .thumbs { display: block; margin: 16px 0 0 0; }
	.videos .thumbs .item:not(.current) { display: flex; width: 100%; align-items: center; margin: 0; }
	.videos .thumbs .item .image { width: 155px; height: 104px; }
	.videos .thumbs .item p { width: calc(100% - 155px); margin: 0; padding-left: 16px; box-sizing: border-box }
	.videos .thumbs .item + .item { margin-top: 16px; }

	.application { margin-top: 50px; }

	.documents { padding-bottom: 235px; }
	.documents .title { font-size: 28px; }
	.documents .item { padding-left: 24px; padding-right: 24px; }

	.page-general { padding: 32px 0 200px 0; }

	.calendar { padding-bottom: 0; }
	.calendar .section-title { font-size: 32px; margin-bottom: 40px; }
	.calendar .section-title span:after { bottom: -3px; left: 0; top: -3px; right: 25px; }
	.calendar .section-title .left { width: 48px; height: 48px; bottom: -36px; left: -27px; }
	.calendar .section-title .right { width: 40px; height: 40px; top: -28px; right: -14px; }

	.calendar .filters .years { font-size: 16px; min-height: 28px; }
	.calendar .filters .years a.current { font-size: 22px; }
	.calendar .filters .months { margin-left: -16px; width: calc(100% + 32px); padding: 20px 16px 0 16px; box-sizing: border-box }
	.calendar .filters .months * { font-size: 16px; }
	.calendar .filters .months * + * { margin-left: 24px; }
	.calendar .items { margin-left: -16px; margin-right: -16px; }
	.calendar .swiper-slide { width: calc(100vw - 48px); }
	.calendar .swiper-pagination { margin-top: 4px; }
	.calendar .item { padding: 26px 16px 32px 16px; font-size: 16px; border-radius: 16px !important; }
	.calendar .item .head { flex-direction: column; padding: 0; }
	.calendar .item .head > * { width: 100%; margin-top: 12px; padding-top: 12px; border-top: 1px solid #D7DF23; }
	.calendar .item .head .title { padding-top: 0; margin-top: 0; margin-bottom: 0; border-top: 0; }
	.calendar .item .dates { display: block; }
	.calendar .item .dates .sep svg { transform: rotate(90deg); margin: 6px 0 6px -26px; transform-origin: bottom right; }
	.calendar .item .details { min-height: 0; padding-top: 32px; justify-content: flex-start; height: auto; }
	.calendar .item .content { display: none !important; }
	.calendar .no-events svg { margin-top: 25px; }
	.calendar .no-events p { font-size: 16px; }

	.popup { overflow: hidden; }
	.popup .box { width: 540px; height: 540px; position: absolute; left: 50%; top: 50%; margin: -270px 0 0 -270px; }
	.popup .box:before { top: 10px; left: 10px; }
	.popup .box:after { border-width: 4px; top: -10px; left: -10px; }
	.popup .box > .close { width: 48px; height: 48px; right: calc(((540px - 100vw)/2) + 16px); top: -66px; }
	.popup .box > .close svg { width: 24px; height: 24px; }
	.popup .box .inner { width: 540px; height: 540px; }
	.popup .box .gform_wrapper { max-width: calc(100vw - 32px); }
	.popup .box .gform_title { font-size: 28px; font-weight: 800; line-height: 120%; background-size: auto 40px; padding-top: 46px; white-space: pre-wrap; word-wrap: break-word; padding-left: 35px; padding-right: 35px; }
	.popup .box .gfield { margin-bottom: 8px; }
	.popup .box .gform_footer { padding-top: 8px; }
	.popup .gform_confirmation_wrapper { max-width: calc(100vw - 32px); }
	.popup .gform_confirmation_wrapper h3 { font-size: 28px; font-weight: 800; line-height: 120%; background-size: auto 40px; padding-top: 46px; }

	.hero-products .image .swiper-slide { height: calc(100vw - 44px); }
	.hero-products .image:after { z-index: 10; bottom: 12px; }
	.hero-products .content { margin-top: 62px; }
	.hero-products .content .title br { display: initial; }
	.hero-products .content .title span:before { height: 100%; left: 0; right: 8px; }
	.hero-products .content .title .left { left: -16px; bottom: -16px; width: 25px; height: 25px; }
	.hero-products .content .title .right { left: 215px; top: -10px; width: 25px; height: 25px; }

	.products-form .container { width: 100%; }
	.products-form { margin-top: 48px; }
}


