@import url("../shared/css/modern-normalize.min.css");
@import url("../shared/css/opensans.css");
@import url("../shared/css/fontawesome-all.min.css");
@import url("../shared/css/theme.css");
@import url("../shared/css/nav.css");
@import url("../shared/css/wrapper.css");
@import url("../shared/css/banner.css");
@import url("../shared/css/components.css");
@import url("../shared/css/quote.css");
@import url("../shared/css/form.css");

/* Override shared wrapper: EU site needs centered text in wrappers */
.wrapper {
	text-align: center;
}

summary {
	/* Pin the custom marker to the container */
	position: relative;
	/* Register summary as an anchor element */
	anchor-name: --summary;

	&::-webkit-details-marker,
	&::marker {
		content: "";
	}

	&::before,
	&::after {
		/* Custom marker dimensions */
		content: "";
		border-block-start: 3px solid var(--theme-secondary);
		height: 0;
		width: 1rem;

		/* Positions the lines */
		inset-block-start: 0.5lh;
		inset-inline-start: 0;

		/* Anchor the shape to the summary */
		position: absolute;
		position-anchor: --summary;
		position-area: center left;
	}

	/* Rotate just the ::after line to create a "+"" shape */

	&::after {
		transform: rotate(90deg);
	}
}

/* Rotate the line when open */
details[open] summary::after {
	transform: rotate(0deg);
}

sub {
	position: relative;
	top: 0.5em;
	font-size: 0.8em;
}

sup {
	position: relative;
	top: -0.5em;
	font-size: 0.8em;
}

br.clear {
	clear: both;
}

p, ul, ol, dl, table {
	margin-bottom: 2em;
}

footer {
	margin: 2em 0 0 0;
}

footer > p {
	font-size: 1.125rem;
}


.technologies,
.partners,
.contacts {
	display: grid;
	justify-items: center;
	grid-template-columns: repeat( auto-fill, minmax(250px, 1fr) );
	gap: var(--spacing-md);
}

/* Image */

.image img {
	height: auto;
	background-color: white;
}

.image.height {
	display: inline-flex;
	justify-content: center;
	min-height: 15rem;
	width: 100%
}

.image.featured {
	display: block;
	width: 100%;
	margin: 0 0 2em 0;
	-webkit-transition: all 500ms ease-in-out;
	transition: all 500ms ease-in-out;
	overflow: hidden;
}

.image.featured img {
	object-fit: cover;
}


.image.featured img:hover {
	scale: 105%;
	-webkit-transition: all 500ms ease-in-out;
	transition: all 500ms ease-in-out;
}


/* List */
ul {
	padding-left: 1em;
}

ul li {
	padding-left: 0.5em;
}

ol {
	padding-left: 1.25em;
}

ol li {
	padding-left: 0.25em;
}

/* Articles */
body > article {
	margin-bottom: 0;
}

#top {
	padding: 10em 0 10em 0;
	text-align: left;
}

#top .image {
	border-radius: 100%;
	width: 20em;
	height: 20em;
	margin: 0;
}

#top .image img {
	border-radius: 100%;
}

#top h1 {
	margin-top: 0.35em;
}

#top p {
	font-size: 1.5rem;
	line-height: 1.75;
}

#top p a {
	color: inherit;
}

/* Copyright */

/* Large */
@media screen and (max-width: 1280px) {
}

/* Medium */
@media screen and (max-width: 980px) {
	/* Articles */
	#top {
		text-align: center;
		padding: 5em 0;
	}

	#top .image {
		margin: 0 auto 2em auto;
	}

}

/* Small */
@media screen and (max-width: 736px) {
	input, textarea, select {
		letter-spacing: 0;
	}

	h1, h2, h3, h4, h5, h6 {
		font-size: 1.25rem;
		margin: 0 0 0.4em 0;
	}

	h1 {
		font-size: 2.25rem;
		line-height: 1.25;
	}

	header {
		margin: 0 0 2em 0;
	}

	header > p {
		font-size: 1.25em;
	}

	footer {
		margin: 2.5em 0 0 0;
	}

	footer > p {
		font-size: 1.25rem;
	}

	hr {
		margin: 1.5em 0 2em 0;
	}

	/* Section/Article */
	section, article {
		clear: both;
	}

	/* Button */
	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	button,
	.button {
		text-align: center;
		font-size: 1.125rem;
		width: 100%;
		padding: 1em 0 1em 0;
	}

	input[type="button"].large,
	input[type="submit"].large,
	input[type="reset"].large,
	button.large,
	.button.large {
		font-size: 1.125rem;
		letter-spacing: 0;
	}

	/* Box */

	.box .image.centered {
		margin-bottom: 1em;
	}

	/* Wrappers */
	.wrapper {
		padding: 3em 0;
		text-align: center;
	}

	/* Articles */
	#top {
		padding: 3em 0;
	}

	#top .image {
		width: 15em;
		height: 15em;
		margin-bottom: 0;
	}

	#top p {
		font-size: 1rem;
	}

}

body.is-menu-visible #page-wrapper {
	opacity: 0.35;
}

body.is-menu-visible #page-wrapper:before {
	display: block;
}

body.is-menu-visible #menu {
	transform: translateX(0);
}

/* custom styles */
h3 {
	font-size: 1.75rem;
	line-height: 1.5;
}

article h1, h2 {
	font-size: 2.25rem;
	line-height: 1;
}

#video-quote video {
	max-width: 100%;
}

#video-quote .video-quote {
	padding-top: 6em;
}

article#offices {
	padding-top: 3em;
}

#offices .slider-item {
	color: white;
	background-color: #2b343c;
	overflow: hidden;
	aspect-ratio: 16/9;
	height: auto;
}

#offices .slider-item:hover {
	background-color: #4273b5;
}

article#intro {
	padding-top: 4.5em;
	padding-bottom: 2.5em;
}


h3.quote {
	font-style: italic;
}


div.services {
	width: 80%;
	margin: 0 auto;
}

div.services section {
	padding-bottom: 20px;
}

div.services section h3 {
	text-align: left;
}

@media screen and (max-width: 736px) {
	div.services {
		width: 80%;
	}
}

div.services ul {
	text-align: left;
}

div.services ol {
	text-align: left;
}

div.itdd {
	text-align: left;
}

div.itdd li {
	font-size: 1.125rem;
	margin-top: 0.5em;
}

img.image-itdd {
	width: 100%;
}

article.wrapper {
	padding-top: 3em;
}

#directors .contact-tile {
	display: flex;
	flex-direction: column;
}

#directors .box,
#partners .box,
#speakers .box,
#routes .box {
	padding: 0;
	border: 0;
}

#directors  p,
#partners  p,
#speakers  p {
	text-align: left;
	padding: 1em;
	line-height: 1.5;
}

#directors .box.style2 .image,
#partners .box.style2 .image,
#speakers .box.style2 .image,
#routes .box.style2 .map {
	overflow:hidden;
	left: 0;
	top: 0;
	margin: 0;
	width: 100%;
	height: 12em;
}


#partners .box.style2 .image {
	height: 7em;
}

#directors .border-left, #partners .border-left {
	padding-left: 2px;
}

#directors .border-right, #partners .border-right {
	padding-right: 2px;
}


#partners .box.style2 .image, #directors .box.style2 .image {
	height: auto;
}

@media screen and (min-width: 736px) and (max-width: 980px) {
	#partners .off-1-medium {
		margin-left: 11%;
	}
}

#directors a:hover h3 {
	background-color: #4273b5;
	text-decoration: none;
}

#directors h3,
#partners h3,
#speakers h3,
#routes h3 {
	background-color: #2b343c;
	width: 100%;
	margin: 0;
	color: white;
	padding: 0.5em 0.3em;
	font-size: 1.125rem;
	line-height: 1;
}

#directors h3 i, #partners h3 i {
	float:right;
}


.container p a, #directors p a, .services li a {
	color: black;
	text-decoration-style: dotted;
	text-decoration-color: #222;
	text-underline-offset: 2px;
}

.youtube-video {
	width: 70%;
	margin: 0 auto 0.5em;
}

p.video-caption {
	margin-top: -0.5em;
	padding: 0;
	font-size: 0.875rem;
}


article.wrapper ul {
	margin-bottom: 0;
	padding-bottom: 0;

}

#tech-stack article, #certified-training article {
	box-shadow: none;
	padding: 0;
	margin: 1em;
	height: auto;
}

#tech-stack .image, #certified-training .image {
	position: relative;
	left: 0;
	top: 0;
	margin: 0;
	width: auto;
}

@media screen and (max-width: 736px) {
	#tech-stack .image {
		margin: 0 auto;
	}

	div.tech-col {
		padding: 0 0 1em;
		margin: 0 0 0 12%;
	}

	div.cert-col {
		margin-top: 2em;
	}

	#tech-stack .box {
		margin: 0 !important;
	}
}

article#privacy-policy {
	text-align: left;
	width: 50%;
	margin-left: 25%;
}

@media screen and (max-width: 736px) {
	article#privacy-policy {
		width: 100%;
		margin-left: 0;
	}
}

article#privacy-policy h2, article#privacy-policy h3 {
	margin-top: 1.5em;
}