
:root {
	--default-card-spacing: 40px;
	--large-card-spacing: 80px;
	--small-card-spacing: 20px;
	--slider-spacing: 60px;
}

/* General card styles */
.two-card-widget {
	background: white;
	border-radius: var(--default-border-radius);
}

.two-card-taxonomy-link {
	text-decoration: underline !important;
}

:is(.two-card-widget, .two-slider-widget) :is(p, span) {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
}

:is(.two-card-widget, .two-slider-widget) :is(h2) {
	font-family: var(--e-global-typography-61fe2b5-font-family), Sans-serif;
	font-size: var(--e-global-typography-61fe2b5-font-size);
	font-weight: var(--e-global-typography-61fe2b5-font-weight);
}

:is(.two-card-widget, .two-slider-widget) :is(h3) {
	font-family: var(--e-global-typography-f546e9a-font-family), Sans-serif;
	font-size: var(--e-global-typography-f546e9a-font-size);
	font-weight: var(--e-global-typography-f546e9a-font-weight);
}

.two-card-inner {
	display: flex;
	height: 100%;
}

.two-card-widget.two-card-basic .two-card-inner.right {
	flex-direction: row;
}

.two-card-widget.two-card-basic .two-card-inner.left {
	flex-direction: row-reverse;
}

.two-card-widget.two-card-vertical .two-card-inner {
	flex-direction: column-reverse;
}

.timeline .two-card-widget.two-card-vertical .two-card-inner {
	flex-direction: column;
}

.timeline .elementor-widget-card, .timeline .two-card-vertical {
	height: 100% !important;
}

.two-card-text {
	padding: var(--default-card-spacing);
	/* TODO make clamp for responsive */
	color: var(--e-global-color-primary) !important;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.two-card-inner button {
	margin-top: var(--small-spacing);
	background-color: var(--e-global-color-primary) !important;
	width: fit-content;
	padding: 12px 24px;
}

:is(.gridify, .gridify4) .two-card-vertical button {
	width: 100%;
}

.two-card-inner button:hover {
	background-color: var(--e-global-color-6304bf2) !important;
}

.two-card-vertical button {
	margin-top: auto;
}

.two-card-text button a, .two-slider-content button a {
	color: white !important;
	text-wrap: wrap;
}

.two-card-extra-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc(var(--default-card-spacing) / 2);
}

.two-card-image img {
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;
	border-radius: var(--default-border-radius) var(--default-border-radius) 0 0 !important;
}

.timeline .two-card-image img {
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;
	border-radius: 0 !important;
	padding: var(--small-card-spacing);
}

.two-card-image.right img {
	border-radius: 0 var(--default-border-radius) var(--default-border-radius) 0 !important;
}

.two-card-image.left img {
	border-radius: var(--default-border-radius) 0 0 var(--default-border-radius) !important;
}

.gridify .two-card-vertical {
	height: 100%;
}

.two-card-vertical .two-card-image img {
	height: 350px !important;
}

.timeline .two-card-vertical .two-card-image img {
	height: 180px !important;
}

.gridify .two-card-vertical .two-card-image img {
	height: 300px !important;
}

.gridify.gridify2 .two-card-vertical .two-card-image img {
	height: 350px !important;
}

.gridify.gridify4 .two-card-vertical .two-card-image img {
	height: 200px !important;
}

.two-card-vertical .two-card-image img.two-card-icon {
	position: absolute;
	left: 50%;
	top: 250px;
	transform: translateX(-50%);
	height: 100px !important;
	width: auto !important;
	overflow: hidden;
	border-radius: 0 !important;
}

/* 'Basic' preset card styles */
.two-card-widget.two-card-basic .two-card-text {
	flex: 0 1 60%;
}

.two-card-widget.two-card-basic .two-card-image {
	flex: 0 1 40%;
}

/* 'Large' preset card styles */
.two-card-widget.two-card-large .two-card-text {
	padding: calc(var(--default-card-spacing) * 2);
	/* TODO make clamp for responsive */
	flex: 0 1 50%;
}

.two-card-widget.two-card-large .two-card-image {
	flex: 0 1 50%;
}

/* Slider card styles */
.two-slider-widget {
	background: white;
	border-radius: var(--default-border-radius) !important;
}

.two-slide-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: 550px !important;
}

.two-slider-content {
	background-color: white;
	padding: var(--slider-spacing) 0 var(--slider-spacing) var(--slider-spacing);
	border-radius: var(--default-border-radius) !important;
}

.two-slider-image {
	margin: 60px;
	display: flex;
}

.image-padding img {
	padding: 40px;
	height: auto !important;
}

.two-slider-image img {
	border-radius: var(--default-border-radius) !important;
	width: 100%;
	object-fit: cover;
	height: 100% !important;
	max-height: 430px !important;
}

.glide__slide {
	margin: 0 auto;
	height: 550px !important;
}

.glide__arrows {
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.glide__arrow {
	background: none !important;
}

.glide__arrow img {
	padding: 0;
}

.glide__arrow.glide__arrow--right img {
	transform: rotate(180deg);
}

/* region lottie player styles */
.lottie-player-container {
	background-size: cover;
	width: 100%;
	background-color: #335377;
	border-radius: 25px;
	overflow: hidden;
	margin: 0;
	position: relative;
}

.computer {
	width: 100px;
	max-width: 100%;
	position: absolute;
	top: 20%;
	left: 7%;
}

.point-image {
	max-width: 100%;
}

.point {
	background-color: #002855;
	animation: solid 2s infinite;
	height: 30px;
	width: 30px;
	margin: 0 30px;
	border-radius: 50%;
	display: flex;
	position: absolute;
	z-index: 1;
	justify-content: center;
	align-items: center;
}

@keyframes solid {
	0% {
		box-shadow: 0 0 0 0 rgba(227, 232, 41, 1);
	}
	
	50% {
		box-shadow: 0 0 0 15px rgba(227, 232, 41, 0);
	}
	
	100% {
		box-shadow: 0 0 0 0 rgba(197, 66, 131, 0);
	}
}

.lottie-modal {
	background: rgba(0, 0, 0, .5);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	display: none;
	border-radius: 20px;
	transition: .3s all ease-in-out;
}

.lottie-modal-inner {
	width: 70%;
	height: auto;
	background: rgba(0, 40, 85, .75);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	border-radius: 20px;
	z-index: 3;
	padding: 40px;
}

.lottie-modal-inner:after {
	content: "✕";
	/* content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' viewBox='0 0 135.5 135.5'%3E%3Cpath d='M6.4 135.2a9.9 9.9 0 0 1-5.7-5c-.4-1-.6-1.7-.6-3.3 0-4-2-1.8 28.2-32l27-27L28.6 41C-1.7 11 0 13 0 9c0-1.8.2-2.4.7-3.6A9.9 9.9 0 0 1 5 1c2.2-1 5.5-1 7.8 0 .7.5 9.9 9.4 28 27.5l27 27 26.9-27c18.1-18 27.2-27 28-27.4a9.7 9.7 0 0 1 7.8 0c1.7.7 3.3 2.4 4.1 4.2.6 1.2.7 1.8.7 3.6 0 4 2 1.7-28.2 32l-27 27L107 94.6c30.2 30.2 28.4 28.2 28.4 32.3 0 1.5-.1 2.4-.6 3.3-.7 1.7-2.5 3.6-4.1 4.4-1.2.6-1.7.7-3.9.7-2 0-2.7 0-3.8-.6-1-.5-6.6-6-28.2-27.5l-27-26.9-26.9 26.9a466.7 466.7 0 0 1-28.2 27.5 12 12 0 0 1-6.3.5z'/%3E%3C/svg%3E"); */
	color: white;
	position: absolute;
	top: 0;
	right: 0;
	padding: 20px;
}

.lottie-modal-content {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	color: white;
}

.lottie-modal-content h2 {
	font-size: var(--e-global-typography-fe2edca-font-size);
	font-weight: var(--e-global-typography-fe2edca-font-weight);
}

.lottie-modal-inner {
	display: grid;
	grid-template-columns: 320px auto;
	gap: 40px;
}

.lottie-modal-image {
	display: flex;
}

.lottie-modal-image img {
	width: 320px;
	height: 320px !important;
	margin: auto;
	border-radius: 50% !important;
	object-fit: cover;
}

/* endregion */
@media screen and (max-width: 1300px) {
	.lottie-modal-inner {
		width: 100%;
		grid-template-columns: 150px 1fr;
	}
	
	.lottie-modal-image img {
		width: 150px;
		height: 150px !important;
	}
}

@media screen and (max-width: 1024px) {
	.glide__slide {
		margin: 0;
		height: auto !important;
	}
	
	.two-slide-inner {
		grid-template-columns: 1fr;
		height: auto !important;
	}
	
	.two-slider-image {
		order: -1;
	}
	
	.two-slider-image img {
		height: 300px !important;
		object-fit: cover;
		width: 100%;
	}
	
	.two-slider-content {
		padding: 0 var(--slider-spacing);
	}
	
	.timeline .two-slider-content {
		padding: 0;
	}
	
	.glide__arrows {
		top: 530px;
	}
}

@media screen and (max-width: 810px) {
	.lottie-modal-inner {
		width: 100%;
		height: 100%;
		grid-template-columns: 0 1fr;
		padding: 0;
		gap: 0;
		overflow-y: scroll;
	}
	
	.two-card-widget.two-card-basic .two-card-inner.right {
		flex-direction: column-reverse;
	}
	
	.two-card-widget.two-card-basic .two-card-inner.left {
		flex-direction: column-reverse;
	}
	
	.two-card-widget.two-card-dual-text .two-card-inner.right {
		flex-direction: column;
	}
	
	.two-card-widget.two-card-dual-text .two-card-inner.left {
		flex-direction: column;
	}
	
	.two-card-image.right img {
		border-radius: var(--default-border-radius) var(--default-border-radius) 0 0 !important;
	}
	
	.two-card-image.left img {
		border-radius: var(--default-border-radius) var(--default-border-radius) 0 0 !important;
	}
	
	.two-card-image img {
		max-height: 350px;
	}
	
	.two-card-extra-content {
		grid-template-columns: 1fr;
	}
}

/* Tabbed Card Widget Styles */
.two-tabbed-card-widget {
	background: transparent;
	border-radius: var(--default-border-radius);
	padding: var(--default-card-spacing) 0;
	width: 100%;
}

.two-tabbed-card-inner {
	width: 100%;
}

.two-tabbed-card-header {
	text-align: center;
	margin-bottom: var(--default-card-spacing);
}

.tabbed-content {
	width: 100%;
}

.tab-navigation {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 30px;
	flex-wrap: wrap;
}

.tab-button {
	background: none;
	border: none;
	padding: 10px 20px;
	cursor: pointer;
	font-size: 16px;
	color: var(--e-global-color-primary);
	transition: all .3s ease;
}

.tab-button.active {
	color: var(--e-global-color-accent);
	text-decoration: underline;
}

.tab-pane {
	display: none;
}

.tab-pane.active {
	display: block;
}

.tab-pane-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
}

.tab-text {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.tab-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--default-border-radius);
}

@media screen and (max-width: 810px) {
	.tab-pane-content {
		grid-template-columns: 1fr;
	}
}

/* Press Grid Styles */
.press-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 40px;
}

.press-item {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.press-image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: var(--default-border-radius);
}

.press-content {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.press-excerpt {
	color: var(--e-global-color-text);
}

.press-pagination {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 40px;
}

.press-pagination .page-numbers {
	padding: 8px 16px;
	border: 1px solid var(--e-global-color-primary);
	border-radius: var(--default-border-radius);
	text-decoration: none;
	color: var(--e-global-color-primary);
}

.press-pagination .current {
	background-color: var(--e-global-color-primary);
	color: white;
}

@media screen and (max-width: 1024px) {
	.press-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 768px) {
	.press-grid {
		grid-template-columns: 1fr;
	}
}

/* Map Widget Styles */
.two-map-container {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 20px;
	height: 600px;
}

.two-map-locations-list {
	background: white;
	border-radius: var(--default-border-radius);
	padding: 20px;
	overflow-y: auto;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
}

.two-map-location-item {
	padding: 15px;
	margin-bottom: 10px;
	border-radius: var(--default-border-radius);
	cursor: pointer;
	transition: all .3s ease;
	border: 1px solid transparent;
}

.two-map-location-item:hover {
	background-color: #f8f9fa;
	border-color: var(--e-global-color-primary);
	transform: translateX(5px);
}

.two-map-location-item h3 {
	margin: 0 0 8px 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--e-global-color-primary);
}

.two-map-location-item p {
	margin: 0 0 10px 0;
	font-size: 14px;
	color: var(--e-global-color-primary);
	line-height: 1.4;
}

.two-map-location-item hr {
	border: none;
	border-top: 1px solid #e9ecef;
	margin: 0;
}

.two-map-widget {
	height: 100%;
	border-radius: var(--default-border-radius);
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
	z-index: 1;
}

.leaflet-control-attribution {
	display: none;
}

@media screen and (max-width: 1024px) {
	.two-map-container {
		grid-template-columns: 250px 1fr;
	}
}

@media screen and (max-width: 768px) {
	.two-map-container {
		grid-template-columns: 1fr;
		grid-template-rows: auto 400px;
		height: auto;
	}
	
	.two-map-locations-list {
		max-height: 300px;
	}
	
	.two-map-widget {
		height: 400px;
	}
}
