/* HEADER BLOCK */
.heading-container {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 0px;
}

.heading-content {
	display: grid;
	flex-direction: column;
	align-content: center;
	padding-top: var(--block-padding);
	text-align: center;
}

.heading-content:not(.no-padding) {
	padding-bottom: var(--block-padding);
}

.heading-content > .subtitle {
	display: grid;
	margin-top: -5px;
	position: relative;
	gap: 10px;
	grid-template-columns: 1fr max-content 1fr;
	place-content: center;
	place-items: center;
	z-index: 1;
}

.heading-content > .subtitle > h6 {
	width: fit-content;
}

.bg-dark-grey .heading-content > .subtitle > h6 {
	background-color: var(--exp-dark-grey);
}

.bg-grey .heading-content > .subtitle > h6 {
	background-color: var(--exp-grey);
}

.bg-light-grey .heading-content > .subtitle > h6 {
	background-color: var(--exp-light-grey);
}

.bg-mid-grey .heading-content > .subtitle > h6 {
	background-color: var(--exp-mid-grey);
}

.bg-white .heading-content > .subtitle > h6 {
	background-color: #fff;
}

.heading-content > .subtitle::before,
.heading-content > .subtitle::after {
	content: '';
	display: block;
	width: 100%;
	height: 0px;
	border-top: 1px solid var(--exp-grey);
	transform: translateY(-50%);
}


.heading-content > .title {
	padding: clamp(26px, 2.9vw, 36px) 0 clamp(30px, 3vw, 40px);
	margin-bottom: 15px;
	position: relative;
	z-index: 1;
}

.heading-content > .title::after {
	content: '';
	display: block;
	width: 100px;
	height: 0px;
	border-top: 1px solid var(--exp-grey);
	position: absolute;
	top: 100%;
	left: 50%;
	translate: -50% 0;
}

.heading-content > .subtitle + .title::after {
	width: 100%;
}

.heading-content > .details {
	padding: 0 0 clamp(25px, 2.9vw, 35px);
	margin: 15px 0;
	position: relative;
	z-index: 1;
}

.heading-content > .details::after {
	content: '';
	display: block;
	width: 100%;
	height: 0px;
	border-top: 1px solid var(--exp-grey);
	position: absolute;
	top: 100%;
	right: 0px;
}

.heading-content > .content {
	margin-top: 15px;
}

.heading-content > .content p {
	text-wrap: balance;
}

.heading-content > .content + .buttons {
	margin-top: 15px;
}

.heading-content > .buttons > a:not(:last-child):has(+a) {
	margin-right: 35px;
}

.heading-image {
	--heading-img-pos-x: center;
	--heading-img-pos-y: center;
	width: 100%;
	height: clamp(250px, 50vw, 450px);
	padding-top: 0;
	padding-bottom: 0;
}

.heading-image-top {
	--heading-img-pos-y: top;
}

.heading-image-bottom {
	--heading-img-pos-y: bottom;
}

.heading-image-top,
.heading-image-middle {
	order: -1;
}

.heading-image-top:has(.experia-image),
.heading-image-middle:has(.experia-image) {
	padding-top: var(--block-padding);
}

.heading-image-bottom:has(.experia-image) {
	padding-bottom: var(--block-padding);
}

.heading-image > .experia-image {
	height: 100%;
	width: 100%;
}

.heading-image > img {
	object-fit: contain;
	object-position: var(--heading-img-pos-x) var(--heading-img-pos-y);
	height: 100%;
	width: 100%;
}

/* END HEADER BLOCK */

/* LIST BLOCK */

.block-list {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 0px;
}

.list-content {
	display: block;
    max-width: 100%;
    max-height: 100%;
    overflow: hidden;
}

.list-content .slick-slider,
.list-content .slick-list,
.list-content .slick-track,
.list-content .slick-slide,
.list-content .slick-slide > *,
.list-content-grid {
    height: 100%;
}

.list-content-item {
	display: block;
	height: 100%;
	padding: clamp(20px, 5vw, 80px);
}

.list-content-item.active {
	/* max-height: 1000px; */
	overflow: visible;
	display: grid;
}

.list-title {
	width: 100%;
}

.list-items {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.list-item {
	border-bottom: 1px solid var(--exp-mid-grey);
	padding: 20px 30px;
	display: flex;
	color: #000;
	justify-content: space-between;
	align-items: center;
	background: rgb(208, 216, 219);
	background: linear-gradient(90deg, rgba(208, 216, 219, 1) 0%, rgba(170, 185, 190, 1) 100%);
	height: 100%;
	position: relative;
	transition: .2s;
}

.list-item > * {
	position: relative;
	z-index: 2;
}

.list-item::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: #fff;
	inset: 0;
	z-index: 1;
	opacity: 0;
	transition: .2s;
}

.list-item:last-child {
	border-bottom: 0 none;
}

@media(hover: hover) and (pointer: fine) {
	.list-item {
		cursor: pointer;
	}
	
	.list-item:hover {
		padding-right: 23px;
	}
}

.list-item.active::before {
	opacity: 1;
}

.list-item:first-child {
	background: #000;
	background-color: var(--exp-dark-grey) !important;
	color: #fff;
}

.list-item > p {
	margin: 0;
}

ul.list-icons {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
	grid-template-columns: 1fr;
	row-gap: 2px;
}

ul.list-icons > li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 10px;
}

ul.list-icons > li > i {
	font-size: 24px;
}

ul.list-icons > li > span {
    display: block;
    padding-top: 7px;
}

@media screen and (min-width: 768px) {
	ul.list-icons.cols-2 {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr;
		column-gap: 10px;
	}

	ul.list-icons.cols-2:has(:nth-child(3)) {
		grid-template-rows: auto 1fr;
	}

	ul.list-icons.cols-2:has(:nth-child(4)) {
		grid-template-rows: repeat(2, auto) 1fr;
	}

	ul.list-icons.cols-2:has(:nth-child(5)) {
		grid-template-rows: repeat(3, auto) 1fr;
	}

	ul.list-icons.cols-2 > .col-1 {
		grid-column: 1 / 2;
	}

	ul.list-icons.cols-2 > .col-2 {
		grid-column: 2 / 3;
	}

	ul.list-icons.cols-2:has(:nth-child(3)) > .row-all {
		grid-row: 1 / 3;
	}

	ul.list-icons.cols-2:has(:nth-child(4)) > .row-all {
		grid-row: 1 / 4;
	}

	ul.list-icons.cols-2:has(:nth-child(5)) > .row-all {
		grid-row: 1 / 5;
	}
}

@media screen and (min-width: 1024px) {
	ul.list-icons.cols-2 {
		column-gap: 15px;
	}
}

@media screen and (min-width: 1280px) {
	ul.list-icons.cols-2 {
		column-gap: 20px;
	}
}

@media screen and (min-width: 1540px) {
	ul.list-icons.cols-2 {
		column-gap: 25px;
	}
}

/* COLUMNS */

.block-columns, .block-icon-list {
	--grid-gap: 15px;
	padding-top: var(--block-padding);
	padding-bottom: var(--block-padding);
}

.block-columns .experia-block {
	margin: 0 !important;
}

.column-container {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: var(--grid-gap);
	text-align: center;
}

.columns-title {
	width: 100%;
	padding: 20px 10px;
	text-align: center;
	margin: 0;
}

.columns-image-container {
	display: flex;
	justify-content: center;
	margin-bottom: 15px;
}

.columns-image-container > img[src$=".svg"] {
	width: 100%;
	height: auto;
	max-width: 290px;
}

.column-lines {
	--column-line-color: var(--exp-grey);
	display: none;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: stretch;
	gap: var(--grid-gap);
	padding-top: 45px;
	position: relative;
}

.column-lines::before {
	content: '';
	display: block;
	width: 100%;
	height: 0;
	position: absolute;
	top: 44px;
	left: 50%;
	translate: -50% 0;
	border-bottom: 1px solid var(--column-line-color);
}

.column-line {
	width: 1px;
	height: 45px;
	display: block;
	border-left: 1px solid var(--column-line-color);
	position: relative;
}

/* SLIDER */

.block-slider {
	margin: 0;
	padding: var(--block-padding) 0 0;
}

.block-slider .slick-slider .slick-list {
	margin-bottom: var(--block-padding);
}

.block-slider .slick-dots {
	border-top: 1px solid var(--exp-grey);
	padding: calc(var(--block-padding) / 2) 0;
}

.block-slider .slide-content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.slide-testimonial {
	position: relative;
}


/* register */ 
.block-register {
	--block-padding-half: calc(var(--block-padding) / 2);
	margin: 0;
	padding: var(--block-padding) 0 calc(var(--block-padding) + var(--block-padding-half));
	position: relative;
	background-image: url('/wp-content/uploads/2025/03/office_bg_1.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--block-padding-half)), calc(50% + var(--block-padding-half)) calc(100% - var(--block-padding-half)), 50% 100%, calc(50% - var(--block-padding-half)) calc(100% - var(--block-padding-half)), 0 calc(100% - var(--block-padding-half)));
	overflow: hidden;
}

#register {
	padding-top: calc(var(--block-padding) / 2) !important;
}


/* card */

.card-container {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 20px;
}

.card-container > .experia-block {
	container-type: inline-size;
  	container-name: card-container;
	margin: 0 !important;
}

.card-profile {
	--card-image-size: clamp(120px, 20vw, 200px);
	--card-padding: 30px;
	display: grid;
	grid-template-areas: "image" "content" "meta";
	grid-template-columns: 1fr;
	grid-template-rows: calc(var(--card-image-size) + var(--card-padding)) 1fr 60px;
	grid-gap: 20px;
	place-content: center;
	place-items: center;
}

.card-profile-image {
	grid-area: image;
	align-self: end;
}

.card-profile-image img {
	aspect-ratio: 1 / 1;
	max-height: var(--card-image-size);
	border-radius: 100%;
}

.card-profile-content {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: stretch;
	align-items: stretch;
	grid-area: content;
	padding: 5px var(--card-padding) 0;
}

.card-profile-meta {
	display: grid;
	justify-content: space-between;
	align-content: center;
	align-self: center;
	grid-area: meta;
	padding: 0 calc(var(--card-padding) * 1.5) 0 var(--card-padding);
	border-top: 1px solid var(--exp-grey);
	width: 100%;
	height: 100%;
	grid-auto-flow: column;
}

.card-profile-meta img {
	width: auto;
	height: 100%;
	max-height: 24px;
}

.card-profile-meta a > i {
	color: var(--exp-mid-grey);
	transition: .2s;
}

@media(hover: hover) and (pointer: fine) {
	.card-profile-meta a:hover > i {
		color: var(--exp-dark-grey);
	}
}

@container card-container (min-width:480px) {
	.card-profile {
		--card-image-size: 200px;
		grid-template-areas: "image content" "image meta";
		grid-template-columns: var(--card-image-size) 1fr;
		grid-template-rows: 1fr 60px;
		grid-gap: 0;
		place-content: stretch;
		place-items: stretch;
		min-height: var(--card-image-size);
	}

	.card-profile-image {
		padding-top: 0 !important;
	}

	.card-profile-image img {
		border-radius: 0 !important;
	}
}

.span-all {
	grid-column: 1 / -1;
}

/* basic */
.block-basic {
	--grid-gap: 15px;
}

.block-basic .content-container {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--grid-gap);
	text-align: center;
}

.block-basic .content-container:has(.basic-image) {
	grid-template-columns: 1fr;
	grid-template-rows: auto max-content;
	grid-template-areas: "image" "content";
}

.block-basic .content-container:has(.basic-image.image-bottom) {
	grid-template-rows: max-content auto;
	grid-template-areas: "content" "image";
}

.basic-content {
	padding-top: var(--block-padding);
	padding-bottom: var(--block-padding);
}

.basic-image + .basic-content {
	grid-area: content;
}

.basic-image.image-top + .basic-content,
.basic-image.image-middle + .basic-content {
	padding-top: 0;
}

.basic-image.image-bottom + .basic-content {
	padding-bottom: 0;
}

.basic-image {
	--basic-img-pos-x: center;
	--basic-img-pos-y: center;
	width: 100%;
	height: auto;
	padding-top: 0;
	padding-bottom: 0;
	grid-area: image;
}

.basic-image.image-top {
	--heading-img-pos-y: top;
}

.basic-image.image-middle {
	padding-top: var(--block-padding);
}

.basic-image.image-bottom {
	--heading-img-pos-y: bottom;
}

.basic-image.image-top:has(.experia-image),
.basic-image.image-middle:has(.experia-image) {
	padding-top: var(--block-padding);
}

.basic-image.image-bottom:has(.experia-image) {
	padding-bottom: var(--block-padding);
}

.basic-image > .experia-image {
	height: 100%;
	width: 100%;
}

.block-basic img[src$=".svg"] {
	width: 100%;
	height: auto;
	max-width: 290px;
	margin: 0 auto;
}

#upcoming-workshops .latest-events {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* BREAKPOINTS */
@media screen and (min-width: 576px) {
	.block-columns, .block-basic, .block-icon-list {
		--grid-gap: 20px;
	}

	.block-basic img[src$=".svg"] {
		max-width: 350px;
	}
}

@media screen and (max-width: 767px) {
	.list-content-grid {
		display: grid;
		grid-gap: 10px;
		grid-template-rows: auto min-content;
		justify-items: center;
		text-align: center;
	}

	.list-image-container {
		width: 290px;
	}
}

@media screen and (min-width: 768px) {
	.block-list {
		grid-template-columns: 1fr 2fr;
	}

	.list-content-grid {
		display: grid;
		grid-gap: 0;
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	.block-columns, .block-basic, .block-icon-list {
		--grid-gap: 25px;
	}

	.columns-2 {
		grid-template-columns: repeat(2, 1fr);
	}

	.columns-4 {
		grid-template-columns: repeat(4, 1fr);
	}

	.latest-events.columns-3 {
		grid-template-columns: repeat(2, 1fr);
	}

	.latest-events.columns-4 > * {
		grid-column: 2 / 4;
	}

	.column-lines:has(+.columns-2) {
		display: flex;
	}

	.column-lines:has(+.columns-3)::before {
		width: calc(50% + (0.5 * var(--grid-gap)));
	}

	.column-lines:has(+.columns-2)::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: calc(50% - 0.5px);
		width: 1px;
		height: 45px;
		margin-bottom: 1px;
		border-left: 1px solid var(--column-line-color);
	}
	
	.card-container {
		grid-template-columns: 1fr 1fr;
		grid-gap: 20px;
	}

	.card-container > div {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 20px;
		margin: 0;
	}
}

@media screen and (min-width: 1024px) {
	.heading-content:has(+ .heading-image) {
		text-align: left;
	}

	.heading-content > .subtitle {
		grid-template-columns: max-content 1fr;
	}

	.heading-content > .subtitle::before {
		display: none;
	}

	.heading-container:has(.heading-image) {
		grid-template-columns: 1fr 1fr;
		grid-gap: 30px;
	}

	.contact-header .heading-container:has(.heading-image) {
		grid-template-columns: 2fr 1fr;
	}

	.heading-image {
		height: 100% !important;
		order: 1 !important;
	}

	.heading-image-bottom {
		padding-top: var(--block-padding);
	}

	.heading-image-top {
		padding-bottom: var(--block-padding);
	}

	.heading-image:has(.experia-image),
	.heading-image-middle {
		padding-top: var(--block-padding);
		padding-bottom: var(--block-padding);
	}

	.heading-image:has(.experia-image) {
		padding-top: var(--block-padding);
		padding-bottom: var(--block-padding);
	}

	.block-columns, .block-basic, .block-icon-list {
		--grid-gap: 30px;
	}

	.block-basic .content-container {
		align-content: stretch;
		align-items: center;
	}

	.basic-content {
		padding-top: var(--block-padding) !important;
		padding-bottom: var(--block-padding) !important;
	}

	.basic-image.image-middle {
		padding-bottom: var(--block-padding);
	}

	.basic-image.image-top {
		padding-top: 0 !important;
		padding-bottom: var(--block-padding);
	}

	.basic-image.image-bottom {
		padding-bottom: 0 !important;
		padding-top: var(--block-padding);
	}

	.block-basic .content-container:has(.basic-image) {
		--grid-content-width: 1fr;
		grid-template-rows: 1fr;
		text-align: inherit;
	}

	.block-basic .content-container:has(.basic-image.image-left) {
		grid-template-columns: 1fr var(--grid-content-width);
		grid-template-areas: "image content" !important;
	}

	.block-basic .content-container:has(.basic-image.image-right) {
		grid-template-columns: var(--grid-content-width) 1fr;
		grid-template-areas: "content image" !important;
	}
	
	.block-basic img[src$=".svg"] {
		max-width: 420px;
	}
}

@media screen and (min-width: 1280px) {
	.heading-container {
		grid-gap: 40px;
	}

	.block-columns, .block-basic, .block-icon-list {
		--grid-gap: 40px;
	}

	.columns-3 {
		grid-template-columns: repeat(3, 1fr);
	}

	.latest-events.columns-3 {
		grid-template-columns: repeat(3, 1fr);
	}

	.column-lines:has(+.columns-3) {
		display: flex;
	}

	.column-lines:has(+.columns-3)::before {
		width: calc((66.67% + (0.6667 * var(--grid-gap))) + 1px);
	}

	.column-lines:has(+.columns-3) .column-line:nth-child(2)::before {
		content: '';
		display: block;
		position: absolute;
		bottom: 100%;
		right: 0;
		width: 1px;
		height: 45px;
		margin-bottom: 1px;
		border-left: 1px solid var(--column-line-color);
	}

	.slide-testimonial::before {
		content: '';
		display: block;
		width: 45px;
		height: 34px;
		background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NSAzNCI+CiAgPHBhdGggZD0iTTAsMzR2LTE1TDEzLDBoNmwtNywxN2g2djE3SDBaTTI2LDM0di0xNUwzOSwwaDZsLTcsMTdoNnYxN2gtMThaIiBmaWxsPSIjYWFiOWJlIi8+Cjwvc3ZnPg==');
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: 7px;
		left: -30px;
	}
	
	.slide-testimonial::after {
		content: '';
		display: block;
		width: 45px;
		height: 34px;
		background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NSAzNCI+CiAgPHBhdGggZD0iTTQ1LDB2MTVsLTEzLDE5aC02bDctMTdoLTZWMGgxOFpNMTksMHYxNWwtMTMsMTlIMGw3LTE3SDFWMGgxOFoiIGZpbGw9IiNhYWI5YmUiLz4KPC9zdmc+');
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: 7px;
		right: -30px;
	}

	.block-basic .content-container:has(.basic-image.image-third),
	.block-basic .content-container:has(.basic-image.image-quarter) {
		--grid-content-width: 2fr;
	}
}

@media screen and (min-width: 1540px) {
	.heading-container {
		grid-gap: 50px;
	}

	.block-columns, .block-basic, .block-icon-list {
		--grid-gap: 50px;
	}

	.block-basic .content-container:has(.basic-image.image-quarter) {
		--grid-content-width: 3fr;
	}
}
