@font-face{
	font-family: 'TextFont';
	src: url('uploads/ttf_text_font.ttf');
}

@font-face{
	font-family: 'TitlesFont';
	src: url('uploads/ttf_titles_font.ttf');
}

*{
	box-sizing: border-box;
}

html{
	scroll-behavior: smooth;
}

body{
	font-family: 'TextFont', sans-serif;
	font-size: 16pt;
	line-height: 1.6;
	text-align: center;
	color: #333333;
	background: #ffffff;
	overflow-x: scroll;
	overflow-y: scroll;
	padding: 0px;
	margin: 0px;
	visibility: hidden;
}

h1, h2, h3 {
  font-family: 'TitlesFont', serif;
  font-weight: 700;
}

a{
	user-select: none;
}

a:active{
	transform: scale(0.98);
}

.Anchor{
        position: relative;
        top: -3em;
}

.MenuBar{
	width: 100%;
	display: flex;
	border: none;
	background: #ffffff;
	text-align: left;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	border-bottom: 1px solid #1d7ec7;
}

.MenuBar #MenuBlock{
	display: inline-block;
	padding: 8px;
	padding-left: 24px;
	padding-right: 24px;
	text-align: right;
	background: #ffffff;
	vertical-align: middle;
}

.MenuBar .Logo{
	margin: 4px;
	width: 240px;
}

.MenuBar .Buttons{
	margin-top: 12px;
	font-weight: bold;
	user-select: none;
	text-shadow: 1px 1px 1px #ddd;
}

.MenuBar .Buttons a{
	display: block;
	color: #1d7ec7;
	text-decoration: none;
	user-select: none;
	margin-right: 16px;
}

.MenuBar .Buttons a:hover{
	text-decoration: underline;
}

.MenuBar #MenuBanner{
	margin: auto;
	display: inline-block;
	font-size: 180%;
	color: #1d7ec7;
	padding-left: 32px;
	padding-right: 32px;
	vertical-align: middle;
	text-shadow: 1px 1px 1px #aaf;
	background: #ffffff;
	border: 2px solid #1d7ec7;
	border-radius: 4px;
}

.BannerContainer{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.BannerContainer .BannerText{
	font-size: 200%;
	background: #1d7ec7;
	color: #ffffff;
	opacity: 90%;
	padding: 32px;
	padding-top: 64px;
	padding-bottom: 64px;
	width: 33%;
}

.ScrollGallery{
	overflow: auto;
	white-space: nowrap;
	margin-bottom: 16px;
}

.ScrollGallery img{
	transition: box-shadow 0.3s;
	margin: 16px;
	height: 480px;
	max-height: 75vh;
	box-shadow: 10px 5px 10px #aaa;
}

.ScrollGallery img:hover{
	box-shadow: 10px 5px 5px #888;
}

.HistoryBlockContainer{
	background: #fdfaf6;
	margin-top: 2em;
	margin-bottom: 2em;
	padding: 4px;
	padding-top: 2em;
	padding-bottom: 2em;
}

.HistoryBlock{
	display: inline-block;
	text-align: center;
	padding-top: 0.25rem;
	color: #447;
	background-color: #ffffff;
	border: 2px solid #1d7ec7;
	border-radius: 8px;
	box-shadow: 10px 5px 10px #aaa;
}

.HistoryBlock h2{
	color: #1d7ec7;
	margin: 0.5em;
	margin-top: 1em;
}

.HistoryBlock .Title{
	font-size: 85%;
	color: #447;
	font-style: italic;
	padding-left: 0.5em;
	margin: 0.25em;
}

.HistoryBlock img{
	width: 85%;
	display: block;
	padding-top: 1em;
	padding-bottom: 1em;
	margin: auto;
}

.HistoryBlock .Icon{
	display: inline-block;
	margin-right: 1em;
	padding: 8px;
	background: #ffffff;
	border-radius: 25%;
}

.HistoryBlock .HistoryList{
	padding-top: 1em;
	padding-bottom: 1em;
	width: 75%;
	margin: auto;
}

.home-services {
	margin-top: 3rem;
	margin-bottom: 3rem;
	text-align: center;
}

.home-services h2 {
	font-weight: bold;
	font-size: 1.3em;
	text-shadow: 1px 1px 1px #555;
	margin-bottom: 3em;
	color: #ffffff;
	background-color: #1d7ec7;
	padding: 1rem 2rem;
	border-radius: 4px;
	display: inline-block;
}

.home-services h3{
	color: #1d7ec7;
}

.services-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
}

.service {
	flex: 1 1 250px;
	background-color: #fdfaf6;
	padding: 1.5rem;
	border: 2px solid #1d7ec7;
	border-radius: 8px;
	text-align: center;
	margin-left: 1em;
	margin-right: 1em;
	box-shadow: 10px 5px 10px #aaa;
	transition: transform 0.2s;
}

.service:hover{
	transform: scale(1.02);
}

.service .service-icon{
	font-size: 48pt;
}

.home-team {
	margin-top: 3rem;
	margin-bottom: 3rem;
	text-align: center;
}

.home-team h2 {
	font-weight: bold;
	font-size: 1.3em;
	text-shadow: 1px 1px 1px #555;
	margin-bottom: 3em;
	color: #ffffff;
	background-color: #1d7ec7;
	padding: 1rem 2rem;
	border-radius: 4px;
	display: inline-block;
}

.home-team h3{
	color: #1d7ec7;
}

.team-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
}

.team {
	flex: 1 1 250px;
	background-color: #fdfaf6;
	padding: 1.5rem;
	border: 2px solid #1d7ec7;
	border-radius: 8px;
	text-align: center;
	margin-left: 0.5em;
	margin-right: 0.5em;
	box-shadow: 10px 5px 10px #aaa;
	transition: transform 0.2s;
}

.team:hover{
	transform: scale(1.02);
}

.team .team-icon{
	font-size: 48pt;
}

.team img{
	width: 280px;
}

.CompanyDescription{
	font-size: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	color: #1d7ec7;
	border-top: 1px solid #1d7ec7;
}

.CompanyDescription .BannerText{
	display: inline-block;
	font-size: 120%;
	background: #1d7ec7;
	color: #ffffff;
	padding: 16px;
	padding-left: 32px;
	padding-right: 32px;
	border-radius: 0px 0px 4px 4px;
	margin-bottom: 48px;
	text-shadow: 1px 1px 1px #555;
}

.CompanyDescription .Title{
	font-size: 120%;
	color: #ffffff;
	background: #1d7ec7;
	padding: 8px;
	opacity: 0.8;
}

.CompanyDescription .CallToAction{
	max-width: 640px;
	margin: auto;
	color: black;
	background: #ffffff;
	padding: 8px;
	border-radius: 4px;
}

.CompanyDescription .CallToAction a{
	font-size: 120%;
	color: #1d7ec7;
	font-weight: bold;
	padding: 1em;
	display: inline-block;
	transition: transform 0.2s;
	border: 2px solid #1d7ec7;
	border-radius: 4px;
}

.CompanyDescription .CallToAction a:hover{
	transform: scale(1.015);
}

.CompanyDescriptionBlock{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	margin: auto;
}

.CompanyDescriptionBlock p{
	margin-top: 2.5em;
	background: white;
	padding: 2em;
	border: 2px solid #1d7ec7;
	border-radius: 4px;
	transition: background 0.2s;
}

.CompanyDescription strong{
	color: #444;
	font-size: 110%;
}

.CompanyDescription p{
	text-align: left;
	width: 40%;
}

.Footer{
	color: #ddd;
	background: #1d7ec7;
	padding: 1em;
	padding-bottom: 4px;
}

.Footer .Title{
	font-size: 110%;
}

.Footer .Address{
	font-size: 95%;
	padding-top: 1.5em;
}

.Footer .Title span{
	white-space: preserve nowrap;
	padding-left: 0.25em;
	padding-right: 0.25em;
	color: #ffffff;
}

.Footer .Items{
	font-size: 85%;
	text-align: left;
	padding-top: 1.5em;
	margin: auto;
	display: inline-block;
}

.Footer .Items span{
	display: inline-block;
	padding: 0.2em;
	padding-left: 1em;
	padding-right: 1em;
	white-space: preserve nowrap;
	color: white;
}

.Footer .Signature{
	font-size: 90%;
	margin-top: 2.5em;
}

.Footer a{
	color: white;
}

.Up{
	text-align: right;
	padding: 0.5em;
}

.Up a{
	transition: box-shadow 0.3s;
	text-decoration: none;
	font-size: 150%;
	color: #1d7ec7;
	background: #ffffff;
	border-radius: 8px;
	padding-left: 0.5em;
	padding-right: 0.5em;
	padding-bottom: 0.15em;
	user-select: none;
	display: inline-block;
	transition: transform 0.2s;
}

.Up a:hover{
	transform: scale(1.05);
}

@media all and (max-width: 1040px)
{
	.MenuBar{
		display: block;
	}
	
	.MenuBar .Buttons a{
		display: inline;
	}
	
	.MenuBar #MenuBlock{
		width: 100%;
		display: block;
	}
	
	.BannerContainer{
		min-height: 50vh;
	}
	
	.BannerContainer .BannerText{
		width: 100%;
		font-size: 120%;
		padding: 1em;
		padding-top: 2em;
		padding-bottom: 2em;
	}
	
	.CompanyDescription .CallToAction a{
		font-size: 85%;
		padding: 8px;
	}
	
	.ScrollGallery img{
		height: 320px;
	}
	
	.CompanyDescription p{
		width: 90%;
	}
	
	.CompanyDescriptionBlock p{
		margin-top: 1em;
		padding: 1em;
	}
	
	.HistoryBlock h2{
		font-size: 120%;
	}
	
	.team {
		padding: 0.5rem;
	}
	
	.team a{
		font-size: 75%;
	}
	
	.Footer .Address{
		font-size: 85%;
	}
	
	.Footer .Items span{
		width: 80%;
		font-size: 80%;
	}
	
	.Up{
		padding-bottom: 2em;
	}
}
