/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

:root {
	--global--color--white: #ffffff;
	--global--color--black: #262626;
	--global--color--text: var(--global--color--black);
	--global--color--blue: #3c00ff;
}

html, body {
	scroll-behavior: smooth;
}

.page-template-default {
	overflow-X: hidden;
}

.button {
	display: inline-flex;
	padding: 20px 30px;
	font-size: 1rem;
	line-height: 1.5rem;
	justify-content: center;
	align-items: center;
}

.button--blue {
	background: var(--global--color--blue);
	color: var(--global--color--white) !important;
	border: 2px solid var(--global--color--white);
	border-radius: 30px;
	font-weight: 700 !important;
}

/* || language switcher */
.language-switcher {
	display: flex;
	justify-content: flex-start;
	gap: 10px;
}

.link.link--round,
.language-switcher .language-switcher__item {
	display: flex;
	width: 23px;
	height: 23px;
	justify-content: center;
	align-items: center;
	font-size: 0.625rem;
	line-height: 0.75rem;
	background: var(--global--color--black);
	color: var(--global--color--white);
	border-radius: 50%;
	border: 1px solid var(--global--color--black);
	transition: all .3s ease;
}	

.link.link--round--high-key {
	background: var(--global--color--white);
	color: var(--global--color--text);
}


.link.link--round.link--round-lit {
	width: 69px;
	height: 69px;
	font-size: 2rem;
	line-height: 2.625rem;
	background: var(--global--color--white);
	color: var(--global--color--text);
}

.link.link--round.link--round-lit:hover {
	background: var(--global--color--text);
	color: var(--global--color--white);
}


.link.link--round:hover,
.language-switcher .language-switcher__item:hover {
	background: var(--global--color--white);
	color: var(--global--color--text);
}

.link.link--round--high-key:hover {
	background: var(--global--color--black);
	color: var(--global--color--white);
}

/* menu sidebar */

.menu-hamburger {}

.menu-sidebar .button {
	margin-top: auto;
	margin-bottom: 16px;
	display: none;
}

@media (max-width: 767px) {
	.menu-sidebar .button {
		display: inline-flex;
	}
}

.menu-sidebar .menu-language__switcher {
	display: none;
	gap: 8px;
	justify-content: flex-start;
}

@media (max-width: 767px) {
	.menu-sidebar .menu-language__switcher {
		display: flex;
		margin-bottom: 120px;
	}
}

.menu-sidebar .menu-language__switcher a {
	font-size: 12px;
	line-height: 18.6px;
	font-weight: 300;
	color: var(--global--color--white);
}

.menu-sidebar-container {
	position: absolute;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	display: none;
}

.menu-sidebar-container.active {
	display: flex;
	justify-content: flex-end;
}

.menu-sidebar-container .elementor-widget-container {
	background: rgba(38, 38, 38, 0.8);
}

.menu-sidebar-container.active .elementor-widget-container {
	width: 100%;
}

.admin-bar .menu-sidebar-container {
	height: calc(100vh - 32px);
}

@media (max-width: 767px) {
	.admin-bar .menu-sidebar-container {
		height: calc(100vh - 46px);
	}
}

.menu-sidebar {
	display: flex;
	background: var(--global--color--blue);
	width: 400px;
	margin-left: auto;
	padding: 48px 40px 38px;
	/* height: 100%; */
	height: calc(100% + 46px);
	flex-flow: column;
	position: relative;
	z-index: 2;
	transform: translateX(100%);
	transition: all .3s ease .5s;
	align-items: flex-start;
	overflow: auto;
}

.menu-sidebar-container.active .menu-sidebar {
	transform: translateX(0);
}

.menu-sidebar__close {
	display: flex;
	width: 40px;
	height: 40px;
	background: url(./assets/icons/close.svg) center center / contain no-repeat;
    position: absolute;
    top: 5px;
    right: 5px;
}

.menu-sidebar-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-flow: column;
	gap: 1rem;
}

.menu-sidebar-list__item {}

.menu-sidebar-list__item .menu-sidebar-list__link {
	font-size: 1.5rem;
	line-height: 2rem;
	color: var(--global--color--white);
	font-weight: 700;
	letter-spacing: 1.5px;
}

/* Heading */
.heading-accent {
	position: relative;
	border-bottom: 5px solid var(--global--color--blue);
	background: var(--global--color--white);
}

.scroll-bottom-link {
	display: flex;

}

.scroll-bottom-link .elementor-icon {
	display: flex;
    align-items: center;
    width: 90px;
    height: 90px !important;
    justify-content: center;
    border-radius: 40px;
    box-shadow: 0 0 7px 0px rgba(0, 0, 0, 0.2);
}

.scroll-bottom-link .elementor-icon svg {
	transform: scale(1);
	transition: all .3s ease;
}

.scroll-bottom-link .elementor-icon:hover svg {
	transform: scale(0.8);
}

/* Swiper slider */

.main-swiper {
	overflow: visible !important;
}

.swiper-wrapper {

}

.case {
	display: flex;
	flex-flow: column;
	background: var(--global--color--black);
	color: var(--global--color--white);
	padding: 40px 50px;
	border-radius: 30px;
	font-size: 1.25rem;
	line-height: 1.5rem;
}

@media (max-width: 767px) {
	.case {
		padding: 20px;
	}
}

.case__header {
	display: flex;
	align-items: center;
}

@media (max-width: 767px) {
	.case__header {
		flex-flow: row wrap;
	}
}

.case__company-logo {
	display: flex;
	width: 110px;
	height: 110px;
	flex: 0 0 auto;
}

.case__company-logo img {
	flex: 0 0 100%;
}

.case__title {
}

.case .case__title {
	font-size: 2rem;
	line-height: 2.375rem;
	font-weight: 700;
	color: var(--global--color--white);
	margin-left: 20px;
	margin-top: 0;
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.case .case__title {
		font-size: 18px;
		font-weight: 700;
		line-height: 26px;
		flex: 1;
	}
}

.case__goals {
	display: flex;
	flex-flow: column;
	margin-left: auto;
	width: 372px;
	flex: 0 0 auto;
	padding-left: 20px;
}

@media (max-width: 767px) {
	.case__goals {
		margin-top: 10px;
		width: 100%;
		flex: 1 0 auto;
		padding: 0;
	}
}

.case__goals > span {
	font-weight: 700;
}

.case__goals > p {

}

.case__key-numbers {
	display: flex;
	flex-flow: row;
/*	justify-content: space-between;*/
	margin-top: 60px;
    gap: 40px;
    justify-content: space-around;
}

@media (max-width: 767px) {
	.case__key-numbers {
		flex-flow: row wrap;
		margin-top: 20px;
		gap: 20px;
	}
}

.case__key-numbers-item {
	display: flex;
	flex-flow: column;
	flex: 0 1 33%;
}

@media (max-width: 767px) {
	.case__key-numbers-item {
	    flex: 1 0 44%;
	}
}

.case__key-number {
	font-size: 64px;
	line-height: 77px;
	font-weight: 700;
	margin-bottom: 1rem;
}

@media (max-width: 767px) {
	.case__key-number {
		font-size: 46px;
		line-height: 46px;
		margin: 0;
	}
}

.swiper-slide:nth-child(4) .case__key-numbers-item:last-child .case__key-number {
	font-size: 2rem;
	line-height: 2.5rem;
}

.case__key-caption {
	font-weight: 700;
}


/* Contacts form */

#contactForm {

}

#contactForm .elementor-field {
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid rgba(99, 99, 99, 0.5);
	padding: 12px 0;
	border-radius: 0;
}

#contactForm .elementor-field:focus {
	outline: none;
}

#contactForm .elementor-field::placeholder {
	color: #b0b0b0;
	font-size: 1rem;
	line-height: 1.5rem;
	font-family: inherit;
}

/* Class rotator */
.rotator {
	display: inline-flex;
	flex-flow: column;
	overflow: hidden;
	height: 77px;
}

@media (max-width: 767px) {
	.rotator {
		height: 38px;
	}
}

.rotator-container {
	display: flex;
	flex-flow: column;
	height: inherit;
}

.rotator span {
/*	transform: translateY(100%);*/
	transition: all .3s ease;
	background: var(--global--color--white);
	height: inherit;
}
