/* 
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 */


/* HEADER */

header {
	position: relative;
	z-index: 999;
}

#site-header .header {
	backdrop-filter: blur(16px);
}

#site-header .elementor-social-icons-wrapper {
	display: inline-flex !important;
	min-width: 120px;
}

#site-header .elementor-animation-float:active, .elementor-animation-float:focus, .elementor-animation-float:hover {
	transform: translateY(-2px) !important;
}

.elementor-nav-menu--main .elementor-nav-menu ul a,
.elementor-nav-menu--main .elementor-nav-menu ul a.highlighted,
.elementor-nav-menu--main .elementor-nav-menu ul a:focus,
.elementor-nav-menu--main .elementor-nav-menu ul a:hover {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}
.elementor-nav-menu ul a,
.elementor-nav-menu ul a:active,
.elementor-nav-menu ul a:focus,
.elementor-nav-menu ul a:hover {
	border-left: 0px !important
}

.elementor-nav-menu .sub-arrow {
	font-size: 9px;
	opacity: .4;
	padding: 5px;
}
.elementor-nav-menu--dropdown .elementor-nav-menu--dropdown {
	border-width: 0px 0px 0px 3px !important;
}

.elementor-nav-menu--dropdown li:first-child a {
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
}
.elementor-nav-menu--dropdown li:first-child > a {
	border-top-left-radius: 16px !important;
	border-top-right-radius: 16px !important;
}

/* GENERAL */

.wpml-ls-legacy-list-horizontal {
	padding: 0 !important;
}

.breadcrumb_last {
	font-weight: 600;
}
#breadcrumbs span span {
	margin: 0 8px;
}
#breadcrumbs span span:first-child {
	margin: 0 8px 0 0;
}

.swoosh {
	position: relative;
	display: inline-block;
}
.swoosh::after {
	content: '';
	display: block;
	height: 10px;
	margin-top: 3px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 575 38' preserveAspectRatio='none'%3E%3Cpath fill='%23FF671D' fill-rule='evenodd' d='M0,27.7C100.45,6.24,310.91-47.79,556.45,27.79c6.9,2.13,12.85,4.11,18.14,6-80-17.32-178.9-27.83-287.13-27.83s-208,8.22-283.68,22.1Z' transform='translate(0 4)'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}

.eyebrow {
	display: inline-flex;
	align-items: center;
  	gap: 8px;
}
.eyebrow::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	flex-shrink: 0;
	background: var(--e-global-color-secondary);
	box-shadow: 0 0 0 3px rgba(255,103,29,.3);
}

.elementor-button {
	transition: .3s;
}

.box-animation .box {
	transition: transform .2s, box-shadow .2s;
}
.box-animation .box:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 28px rgba(0,32,92,.10) !important;
}

h1 strong {
	font-weight: 700;
  	color: var(--e-global-color-accent);
}

.news-reveal {
	max-height: 0;
	overflow: hidden;
	transition: max-height .4s cubic-bezier(.22,1,.36,1), padding .35s;
}
.news-card:hover .news-reveal {
	padding: 2px 20px 20px !important;
	max-height: 150px;
}

.fcard-desc {
	max-height: 0;
	overflow: hidden;
	transition: max-height .35s cubic-bezier(0,.8,.3,1), padding .35s ease;
}
.fcard:hover .fcard-desc {
	max-height: 160px;
	padding: 16px 24px 24px !important;
	border-top-color: rgba(0,32,92,.08) !important;
}
.fcard .elementor-heading-title {
	min-height: 38px;
}

/* BLOG */

.read-time {
	color: rgba(255, 255, 255, 0.6);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.05em;
}
.list-categories a {
	display: block;
	padding: 8px 0;
}
.last-posts article.elementor-post {
	flex-direction: row;
	gap: 12px;
}
.last-posts article.elementor-post .elementor-post__thumbnail {
	min-width: 76px;
}
.categories a {
	padding: 5px 14px;
	background: rgba(0,32,92,.07);
	border-radius: 999px;
	display: block;
}
.tags a {
	display: inline-block !important;
	padding: 6px 16px;
	border-radius: 999px;
	margin: 0 6px 8px 0;
	transition: background .2s, color .2s;
}
.tags a:hover {
	background: var(--e-global-color-secondary);
	color: #fff !important;
}
.tags .elementor-post-info__item-prefix {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-right: 12px;
}

/* HOME */

#hero .hero-slider {
	overflow: hidden;
}

#hero .hero-slider.elementor-widget-slides .elementor-slide-button {
	text-transform: none;
}
#hero .hero-slider .elementor-slide-heading {
	max-width: 26ch;
}
#hero .hero-slider .elementor-slide-heading h1 {
	color: #ffffff;
	font-size: clamp(1.75rem, 3vw, 2.55rem);
	font-weight: 700;
	line-height: 1.15em;
	letter-spacing: 0em;
	margin: 0;
}
#hero .hero-slider .elementor-slide-heading em {
	font-style: normal;
	color: var(--e-global-color-accent) !important;
}
#hero .hero-slider .elementor-slide-description {
	max-width: 56ch;
}
#hero .hero-slider .elementor-background-overlay {
	background: linear-gradient(to top, rgba(8,10,16,.88) 0%, rgba(8,10,16,.38) 55%, rgba(8,10,16,.06) 100%) !important;
}
#hero .hero-slider .swiper-pagination-bullet-active {
	width: 28px !important;
}
#hero .hero-slider .swiper-pagination-bullet {
	border-radius: 999px;
	transition: .3s;
}

.img-hover {
	height: 100%;
	opacity: 0;
	transition: opacity 1.4s ease-in-out !important;
}
.img-hover.is-active {
	opacity: 1;
}
.area-item {
	transition: background .3s;
}
.area-item:hover, .area-item.is-active {
	background: rgba(255,255,255,.04);
}
.area-item h3,
.area-item .elementor-widget-icon svg {
	transition: color .3s;
}
.area-item:hover .elementor-widget-icon svg, .area-item.is-active .elementor-widget-icon svg {
	fill: var(--e-global-color-accent) !important;
}
.area-item:hover h3, .area-item.is-active h3 {
	color: var(--e-global-color-accent) !important;
}
.area-item .area-link, .area-item.is-active .area-link > span {
	transition: transform .3s cubic-bezier(.22,1,.36,1), color .3s;
}
.area-item:hover .area-link, .area-item.is-active .area-link {
	transform: translateX(6px) !important;
}
.area-item:hover .area-link > span, .area-item.is-active .area-link > span {
	color: var(--e-global-color-accent) !important;
}

.timeline::before {
	content: '';
	position: absolute;
	top: 52px;
	left: 50%;
	height: 1px;
	background: linear-gradient(to right, transparent 0%, rgba(0, 32, 92, 0.12) 15%, rgba(0, 32, 92, 0.12) 85%, transparent 100%);
	width: 75%;
	display: block;
	transform: translate(-50%);
}
.grado-timeline::before {
	content: '';
	position: absolute;
	top: 80px;
	left: 50%;
	height: 2px;
	background: linear-gradient(90deg, #9aa6bd 0%, #FF8A4D 33%, #FF671D 66%, #00205C 100%);
	border-radius: 1px;
	width: 100%;
	display: block;
	z-index: 0;
	opacity: .55;
	transform: translate(-50%);
}
.tl-item:hover .tl-dot {
	transform: scale(1.1);
	box-shadow: rgba(255, 103, 29, 0.38) 0px 8px 24px !important;
}
.grado-timeline .tl-item:last-child:hover .tl-dot {
	box-shadow: 0 18px 56px rgba(0,32,92,.55) !important;
}

.partner-logo-chip > div {
	position: relative;
}
.partner-logo-chip > div::before, .partner-logo-chip > div::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	width: 80px;
	height: 100%;
	display: block;
	pointer-events: none;
}
.partner-logo-chip > div::before {
	left: 0;
	background: linear-gradient(to right, #F2F4F8, transparent);
}
.partner-logo-chip > div::after {
	right: 0;
	background: linear-gradient(to left, #F2F4F8, transparent);
}
.partner-logo-chip figure {
	transition: transform .2s, opacity .2s;
	background: #F2F4F8;
}
.partner-logo-chip img {
	filter: grayscale(30%);
	mix-blend-mode: multiply;
	transition: filter .2s;
	object-fit: contain;
	/*height: 75px;
	max-height: 75px;*/
}
.partner-logo-chip figure:hover {
	transform: translateY(-2px);
	opacity: .85;
}
.partner-logo-chip figure:hover img {
	filter: grayscale(0%);
}
.partner-logo-chip figure {
	display: flex;
	align-items: center;
	justify-content: center;
}

.rounded.elementor-widget-n-menu .e-n-menu-item:not(:last-of-type) .e-n-menu-title::after {
	border-radius: 50%;
}


.link-contact .elementor-icon-wrapper {
	line-height: 1;
}
.link-contact a {
	color: var( --e-global-color-primary );
	font-weight: 700;
	font-size: 20px;
}


/* FORMS */

span.label {
	display: none !important;
}

form div.row {
	margin: 0 -0.5rem;
	display: block;
	text-align: left;
}
.row:after {
	clear: both;
	display: table;
	content: " ";
}
.row:before {
	display: table;
	content: " ";
}

.col-xs-3 {
	width: 25%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-4 {
	width: 33.33%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-5 {
	width: 40%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-6 {
	width: 50%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-7 {
	width: 60%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-12 {
	width: 100%;
	float: left;
	padding: 0 0.5rem;
}
form div.form-group {
	display: inline-block;
	width: 100%;
	margin-bottom: 0.5rem;
}
form div.block-submit {
	display: inline-block;
	width: 100%;
	text-align: right;
}
form div.block-submit input[type="submit"] {
	background-color: var( --e-global-color-secondary );
	font-family: "Lato", sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-transform: none;
	line-height: 1;
	letter-spacing: 0px;
	color: rgb(255, 255, 255);
	border-radius: 999px;
	padding: 17px 30px;
	border: 0px;
}

label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 13px;
	color: var(--e-global-color-primary);
}

input[type="checkbox"],
input[type="radio"] {
    margin: 0 6px 0 0 !important;
}
select {
	cursor: pointer;
}
input[type="text"]:disabled,
select:disabled {
	opacity: 0.5;
	cursor: default;
}

div.wpcf7 .ajax-loader {
	display: none !important;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-response-output {
	border: 0;
	margin: 0;
	text-align: center;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="file"],
.wpcf7-form textarea,
.wpcf7-form select {
	margin-top: 0px;
	box-shadow: none;
	padding: 0.55rem 1rem;
	outline: none !important;
	max-width: 100%;
	width: 100%
}
.wpcf7-form select {
	font-family: "Lato", sans-serif;
	font-size: 15px;
	color: var( --e-global-color-text );
	background-color: rgb(247, 249, 252);
	border-style: solid;
	border-width: 1px;
	border-color: rgb(221, 227, 238);
	border-radius: 16px;
	padding: 0.7rem 1rem;
}
.wpcf7-form textarea {
	height: 78px;
}
.wpcf7-form input[type="text"]:focus, .wpcf7-form input[type="email"]:focus, .wpcf7-form input[type="tel"]:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus {
	border-style: solid;
	border-width: 1px;
	border-color: var( --e-global-color-secondary );
	box-shadow: rgba(255, 103, 29, 0.12) 0px 0px 0px 3px !important;
}
input[type="checkbox"], input[type="radio"] {
	border-width: 1px;
}

span[data-name="legal"], .wpcf7-form-control-wrap {
	display: inline-block;
	width: 100%;
	margin: 0;
	line-height: 1.2;
}
span[data-name="legal"] label {
	font-size: 12px;
	text-transform: none;
	letter-spacing: 0px;
	font-weight: 400;
	color: var( --e-global-color-5a6478m );
}
span[data-name="legal"] a {
	text-decoration: underline;
	color: var(--e-global-color-accent);
	transition: .3s color;
}
.wpcf7-form-control.wpcf7-checkbox {
	padding: 0;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	padding: 5px 0 !important;
	margin: 0 !important;
	border: 0 !important;
	font-size: 14px;
 	line-height: 1.2;
}
.wpcf7-form span.wpcf7-not-valid {
	border: 0 !important;
}
span.wpcf7-list-item {
	margin: 0;
	width: auto;
}
span.wpcf7-list-item > label {
	display: inline-block;
	padding: 0;
}
.wpcf7-not-valid-tip {
    font-size: 12px;
	text-transform: none;
	line-height: 1.2;
}
.wpcf7-spinner {
	margin: 0 auto;
	display: block;
}

/************************************************************************************
smaller than 991px
*************************************************************************************/
@media only screen and (max-width: 991px) {
	
	.col-xs-3,
	.col-xs-4,
	.col-xs-5,
	.col-xs-6,
	.col-xs-7 {
		width: 100%;
	}
	
}