/*Elementtor*/
.tw-video{
	position: relative;
	&::after{
		position: absolute;
		width: 100%;
		height: 100%;
		content: '';
		background: rgba(23, 24, 29, 0.7);
		top: 0;
		left: 0;
	}
	& iframe,
	& video{
		position: absolute;
		height: 100%;
		left: 0px;
		top: 0px;
		object-fit: cover;
	}
	& .container{
		position: relative;
		z-index: 2;
	}
	& .inner{
		display: flex;
		flex-direction: column;
		height: calc(100vh - 150px);
		justify-content: center;
		color: var(--white);
		& .twTitle{
			margin-bottom: 20px;
		}
		& .twBlockContent {
			margin-bottom: 30px;
			& p{
				font-weight: 600;
			}
		}
	}
}
.twCategories .inner{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: center;
	& .item{
		width: fit-content;
		max-width: 202px;
		border-radius: 6px;
		overflow: hidden;
		position: relative;
		& img{
			object-fit: cover;
			height: 246px;
			width: 100%;
		}
		&::after,
		& a,
		& .info{
			position: absolute;
			width: 100%;
			left: 0px;
		}
		&::after{
			content: '';
			background: linear-gradient(to bottom, rgb(23 24 29 / 0%), hsl(230 12% 10% / 90));
			height: 50%;
			bottom: 0px;
		}
		& a{
			height: 100%;
			z-index: 4;
		}
		&:hover{
			transform: translateY(-10px);
		}
	}
	& .info{
		text-align: center;
		color: var(--white);
		bottom: 30px;
		z-index: 2;
		width: 100%;
		pointer-events: none;
		& .title{
			font-size: 20px;
			line-height: normal;
		}
		& .meta{
			color: var(--gold);
			display: flex;
			gap: 5px;
			justify-content: center;
			& .tw-icon{
				background-color: var(--gold);
			}
		}
	}
}
.twCategories .twBlockContent{
	margin-top: 30px;
	text-align: center;
	& p{
		font-weight: 600;
	}
}

.twTitles .twTitle{
	margin: 0px;
}

.twFAQ{
	& .item{
		background: var(--white);
		margin-bottom: 20px;
		border-radius: 12px;
	}
	& .twBlockContent{
		padding: 10px 30px 30px 30px;
		&:not(.active){
			display: none;
		}
		& a:not(.btn-print){
			text-decoration: underline;
			color: inherit;
		}
	}
	& .twTitle{
		font-size: 18px;
		padding: 23px 23px 23px 110px;
		background-repeat: no-repeat;
		background-size: 90px 70px;
		background-position: left center;
		display: flex;
		align-items: center;
		justify-content: space-between;
		&::after{
			font-family: 'Font Awesome 5 Light';
			font-weight: 300;
			content: "\f053";
			color: var(--gold);
		}
		&.active::after{
			transform: rotate(-90deg);
		}
	}
}

.twArticles{
	padding-top: 10px;
	& .heading{
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 20px;
	}
	& .owl-carousel .owl-stage-outer{
		overflow: unset;
		overflow-x: clip;
	}
}
.twArticles .item{
	height: 500px;
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	background-repeat: no-repeat;
	background-size: cover;
	& h3{
		font-size: 18px;
		color: var(--white);
		padding: 30px;
		position: relative;
		pointer-events: none;
	}
	& a, span, &::before, &::after{
		position: absolute;
		&.linkCat{
			background: var(--noir-minus);
			color: var(--white);
			font-size: 14px;
			font-weight: 600;
			left: 5px;
			bottom: 5px;
			border-radius: 4px;
			padding: 5px 10px;
			text-transform: none;
			display: inline-block;
		}
	}
	& a:not(.linkCat){
		width: 100%;
		height: 100%;
		top: 0px;
		left: 0px;
	}
	&::before{
		width: 100%;
		height: 50%;
		top: 0px;
		left: 0px;
		background: linear-gradient(to bottom, var(--noir-minus), rgba(23, 24, 29, 0));
		content: '';
	}
	&:hover{
		transform: translateY(-10px);
	}
}

.twTestimonial{
	display: flex;
	& .owl-carousel .owl-stage-outer{
		overflow: unset;
		overflow-x: clip;
	}
	& .owl-carousel .item{
		opacity: 0.5;
	}
	& .owl-carousel .center.active .item{
		opacity: 1;
	}
}
.twTestimonial .item{
	background: var(--white);
	padding: 50px;
	border-radius: 12px;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.15);
	& .title{
		font-weight: 600;
	}
	& .star{
		display: flex;
		align-items: center;
		gap: 4px;
		margin: 10px 0px 30px 0px;
		color: #FFCE3B;
	}
	& .twBlockContent{
		font-size: 18px;
		font-weight: 300;
		line-height: 24px;
	}
}

.twContact{
	border-radius: 12px;
	overflow: hidden;
	background: var(--white);
	& img{
		max-height: 201px;
		object-fit: cover;
		width: 100%;
	}
	& .inner{
		padding: 25px 30px;
	}
	& .heading{
		display: flex;
		align-items: center;
		justify-content: space-between;
		& .twTitle{
			font-size: 24px;
		}
		& .status{
			display: inline-flex;
			align-items: center;
			font-size: 12px;
			gap: 5px;
			&::before{
				content: '';
				width: 8px;
				height: 8px;
				border-radius: 100%;
				background: var(--rouge-plus);
			}
			&.active::before{
				background: #82EC79;
			}
		}
	}
	& ul{
		display: flex;
		flex-flow: column;
		gap: 10px;
		& li{
			display: grid;
			grid-template-columns: 24px 1fr;
			gap: 7px;
			&::before{
				content: '';
				width: 24px;
				height: 24px;
				font-family: 'Font Awesome 5 Light';
				font-weight: 300;
				color: var(--rouge-plus);
				font-size: 18px;
				text-align: center;
			}
			&.address::before{
				content: "\f3c5";
			}
			&.phone::before{
				content: "\f095";
				transform: rotate(90deg);
			}
			&.email::before{
				content: "\f0e0";
			}
			&.zone::before{
				mask-image: url(img/metro.svg);
				background-color: var(--rouge-plus);
			}
		}
	}
}

.page-content.page-cms .twAddresss ul{
	list-style: none;
	display: flex;
	flex-flow: column;
	gap: 10px;
	& li{
		display: grid;
		grid-template-columns: 24px 1fr;
		&::before, & i{
			color: var(--rouge-plus);
		}
		& i{
			margin-top: 3px;
			&.fa-phone{
				transform: rotate(90deg);
			}
		}
		&.metro::before{
			content: '';
			mask-image: url(img/metro.svg);
			background-color: var(--rouge-plus);
			mask-size: 18px;
			mask-repeat: no-repeat;
			mask-position: center;
		}
	}
}

.twTimelines .item{
	display: flex;
	align-items: center;
	position: relative;
	justify-content: space-between;
	gap: 20px 0px;
	padding-bottom: 120px;
	& > *{
		display: flex;
		flex: 0 0 auto;
	}
	& .thumbnail, & .twBlockContent{
		width: 426px;
	}
	& .thumbnail{
		height: 280px;
		border-radius: 12px;
		overflow: hidden;
		& img{
			object-fit: cover;
			width: 100%;
			height: 100%;
		}
	}
	& .twBlockContent{
		flex-flow: column;
		& .twTitle{
			font-size: 26px;
		}
	}
	& .year{
		font-size: 50px;
		font-weight: 600;
		color: var(--rouge-minus);
		flex-direction: column;
		align-items: center;
		gap: 20px 0px;
		position: relative;
		&::after{
			content: '';
			width: 16px;
			height: 16px;
			background: var(--gold-soft-plus);
			border-radius: 100%;
		}
	}
	&:nth-child(2n + 2){
		flex-flow: row-reverse
	}
	&::before, &::after{
		content: '';
		position: absolute;
		width: 2px;
		height: calc(50% - 120px);
		left: calc(50% - 1px);
		background: var(--gold-soft-plus);
	}
	&::before{
		top: 0px;
	}
	&::after{
		bottom: 0px;
		height: calc(50% + 10px);
	}
	&:first-child::before{
		display: none;
	}
}

.twLinks{
	display: flex;
	flex-flow: column;
	gap: 30px 0px;
	& li{
		font-weight: 600;
		& .lbl{
			color: var(--gris-minus);
		}
	}
	& a:hover{
		color: var(--noir-plus);
		text-decoration: underline;
	}
}

.twCategoryCMS{
	& .twTabNav{
		display: flex;
		flex-flow: column;
		gap: 10px;
		list-style: none !important;
		& li{
			background: var(--white);
			border-radius: 12px;
			padding: 10px;
			font-weight: bold;
			display: grid;
			grid-template-columns: 24px 1fr;
			gap: 10px;
			align-items: center;
			border: 1px solid var(--gold-soft-plus);
			cursor: pointer;
			&::before{
				font-family: 'Font Awesome 5 Light';
				font-weight: 300;
				content: "\f054";
				color: var(--gold);
				width: 24px;
				height: 24px;
				text-align: center;
			}
			&.active, &:hover{
				background: transparent;
				border-color: transparent;
			}
		}
	}
	& .inner{
		margin-top: 20px;
	}
	& .twTabContent:not(.active),
	& .twTabContent.unactive{
		display: none;
	}
}

.elementor-widget-google_maps{
	border-radius: 12px;
	overflow: hidden;
	height: calc(100% - 30px);
}
.elementor-widget-google_maps > *,
.elementor-widget-google_maps .elementor-custom-embed,
.elementor-widget-google_maps .elementor-custom-embed iframe{
	height: 100%;
}

.twBlock{
	margin-bottom: 30px;
}

.elementor-section.elementor-section-stretched .elementor-widget-wrap .elementor-element{
	& .twBlock{
		margin-bottom: 10px;
	}
	&:last-child .twBlock{
		margin-bottom: 0px;
	}
}
.elementor-section .elementor-accordion .elementor-accordion-item{
	border-top: none;
	border-left: none;
	border-right: none;
}
.elementor-section .elementor-accordion .elementor-tab-content,
.elementor-section .elementor-accordion .elementor-tab-title{
	border: none;
	padding-left: 0px;
	padding-right: 0px;
}
.elementor-section .elementor-accordion .elementor-tab-title{
	padding-top: 30px;
	padding-bottom: 30px;
	position: relative;
	& .elementor-accordion-title{
		font-size: 16px;
		font-weight: 500;
	}
	& .elementor-accordion-icon.elementor-accordion-icon-right{
		position: absolute;
		top: 30px;right: 0px;
		-webkit-transition: all ease .3s;
		-moz-transition: all ease .3s;
		-ms-transition: all ease .3s;
		-o-transition: all ease .3s;
		transition: all ease .3s;
		transform: rotate(45deg);
	}
	&.elementor-active .elementor-accordion-icon.elementor-accordion-icon-right{
		transform: rotate(0deg);
	}
}

@media (min-width: 768px){
	.twTestimonial .item .twBlockContent{
		max-width: 550px;
	}
	.twArticles .owl-carousel .owl-stage-outer{
		width: calc(100% + 10px + (100vw - 1140px)/2);
	}
}

@media (max-width: 600px){
	.elementor-element .elementor-element > .elementor-widget-container{
		transform: none;
	}
	.twArticles .heading{
		flex-flow: column;
	}
}
@media (max-width:991px){
	.twArticles{
		& .heading{
			display: block;
			& a{
				margin-top:20px;
			}
		}
	}
}

@media (max-width: 480px){
	.twCategories .inner{
		flex-flow: column;
		& .item{
			max-width: 100%;
		}
	}
	.elementor-widget-google_maps iframe{
		min-height: 50vh;
	}
	.twArticles .item{
		height: 30vh;
	}
	.twTimelines .item{
		flex-flow: column;
		padding-bottom: 30px;
		&::after, &::before{
			display: none;
		}
		&:nth-child(2n + 2) {
			flex-flow: column;
		}
		& .thumbnail, & .twBlockContent{
			width: 100%;
		}
	}
}