@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

@media screen and (min-width: 1009px) {
	.hideOnDesktop {
		display: none;
	}
}

html {
	scroll-behavior: smooth;
	width: 100%;
	height: 100%;
}

body {
	margin: 0px;
	background-color: #ffffff;

	font-family: "Roboto", sans-serif;
	font-size: 24px;
	line-height: 34px;
}

#topNav {
	position: fixed;
	left: 0px;
	top: 0px;
	z-index: 10000;
	display: block;
	width: 100%;

	padding-left: 50px;
	padding-right: 50px;
	padding-top: 20px;
	padding-bottom: 20px;

	background-color: #ffffff;

	transition: all 0.3s ease-in-out;
}

#logoTop {
	position: fixed;
	right: 50px;
	top: 20px;
	z-index: 10001;
	height: 300px;

	box-shadow: 5px 5px 5px 0px #00000020;

	transition: all 0.3s ease-in-out;
}

#buttMobNavHolder, #navMob {
	display: none;
}

#container {
	filter: blur(0px) brightness(100%);
	transition: filter 1s ease-in-out;
}

#topSpacer {
	display: block;
	height: 80px;
}

#videoHolder {
	display: block;
	width: 100%;
	margin-top: 50px;
}

#videoHolder video {
	display: block;
	width: 100%;
	filter: brightness(100%);
}

.holderWhite {
	display: block;
	width: 100%;
	background-color: #ffffff;
}

.content {
	display: block;
	width: calc(100% - 100px);
	max-width: 1340px;

	margin: auto;
	padding: 50px;
}






#bottom {
	display: block;
	width: 100%;

	font-size: 16px;
	line-height: 22px;

	color: #ffffff;

	background: linear-gradient(to right, #283583, #5865b3);
	background-image: url(../siteimages/back_bottom.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: none;
}

#bottomInner {
	display: flex;
	width: calc(100% - 100px);
	max-width: 1340px;
	gap: 50px;

	margin: auto;
	padding: 50px;
}

#bottomInner div p:first-child {
	margin-top: 0px;
}

#logoBott {
	display: block;
	height: 150px;

	border: 1px solid #ffffff;
}

#bottomInner div {
	flex: 1;
	border-left: 1px dotted #909dec;
	padding-left: 50px;
}

#socialHolder {
	text-align: right;
	align-content: center;
}

.iconSocial {
	display: inline-block; 
	width: 30px;
	filter: invert(100%);

	margin-left: 30px;
}

#socialHolder p {
	color: #ffffff;
	font-size: 12px;
	margin-top: 30px;
}

.latestTwoHolder {
	display: flex;
	width: 100%;
	gap: 50px;
	margin-bottom: 50px;
}

.latestNewsLink img {
	display: block;
	width: 100%;
	margin-bottom: 20px;
}

.latestHeading {
	display: block;
	font-weight: bold;
	margin-bottom: 10px;
	color: #283583;
}

.summary {
	display: block;
	color: #333333;
	font-size: 18px;
	line-height: 24px;
}

.summaryDate {
	position: absolute;
	right: 20px;
	bottom: 20px;
	display: block;

	font-size: 14px;
	text-align: right;
	color: #283583;
}

.summaryDateOld {
	display: block;
	font-size: 14px;
	text-align: right;
	color: #283583;
}

.olderNewsLink img {
	display: block;
	width: 150px;
}

#newsDate {
	display: block;
	text-align: center;
	color: #ffffff;
	font-weight: bold;
	font-size: 14px;
	margin-top: 15px;
	padding-bottom: 40px;
}

.newsthumb {
	display: block;
	float: right;
	margin-left: 50px;
	margin-bottom: 30px;
	box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
	padding: 5px;
}

.newsBodyImage {
	max-width: 500px;
}

.newsBodyCaption {
	display: block;
	text-align: center;
	padding: 5px;
	font-size: 14px;
}











#map {
	display: block;
	width: 100%;
	height: 600px;

	border-radius: 20px;
}

.placeBuffer {
	display: block;
	height: 70px;
}

.locationHolder {
	display: flex;
	width: calc(100% - 70px);
	gap: 50px;

	align-items: center;

	background-color: #eeeeee;

	padding: 30px;
	border-radius: 20px;

	border: 5px solid #eeeeee;
	transition: border 1s ease-in-out;
}

.locationHolder h2 {
	margin-top: 0px;
}

.locationHolder button {
	display: inline-block;
	width: 200px;

	color: #ffffff;
	font-size: 18px;
	font-weight: bold;
	border: none;
	border-radius: 10px;
	cursor: pointer;

	padding: 10px;
	margin-right: 40px;

	background-color: #3fa535;
	transition: background-color 0.3s ease-in-out;
}

.locationHolder button:hover {
	background-color: #1f8515;
}

.placeImage {
	display: block;
	width: 300px;
	height: 300px;
	
	border-radius: 5px;
	box-shadow: 0px 0px 5px #00000030;
}

.alignright {
	float: right;
	margin-left: 50px;
	margin-bottom: 50px;
	border-radius: 5px !important;
	box-shadow: 0px 0px 5px #00000030 !important;
}

.spacer {
	display: block;
	clear: both;
}

#contactFormHolder {
	display: block;
	width: 100%;
	max-width: 800px;

	margin-left: auto;
	margin-right: auto;
}

#headerBand {
	display: block;

	padding: 30px;

	background: linear-gradient(to right, #283583, #5865b3);
	background-image: url(../siteimages/back_heading.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: none;
}

#headerBand h1 {
	color: #ffffff;
}

.teamTable {
	width: calc(100% - 40px);
	max-width: 400px;
	background-color: #eeeeee;
	box-shadow: 0px 0px 5px #00000060;
	border-radius: 5px;
	display: inline-table;
	margin: 20px;
}

.teamTableLink {
	cursor: pointer;

	box-shadow: 0px 0px 5px #00000060;
	transition: box-shadow 0.3s ease-in-out;
}

.teamTableLink:hover {
	box-shadow: 0px 0px 5px #000000ff;
}

.teamRow {
	display: table-row;
}

.teamTd {
	display: table-cell;
	width: 80px;
	height: 80px;
	font-size: 0px;
	text-align: center;
	vertical-align: middle;
	padding: 10px;
}

.teamImage {
	width: 80px;
	height: 80px;
	border-radius: 5px;
	margin: auto;
}

.teamInfoTd {
	display: table-cell;
	text-align: left;
	vertical-align: middle;
	padding: 10px;
}

.teamName {
	display: block;
	font-size: 18px;
	line-height: 22px;
	font-weight: bold;
	margin-bottom: 0px;
	color: #333333;
}

.teamRole {
	display: block;
	font-size: 14px;
	color: #333333;
}

.teamPhoto {
	display: block;
	width: 300px;

	border: 1px solid #dddddd;

	float: right;
	margin-left: 50px;
	margin-bottom: 50px;
}






.jobTitle {
	display: block;
	font-size: 30px;
	font-weight: bold;
	color: #283583;

	margin-left: 40px;
	margin-bottom: 10px;
}

.salary {
	display: block;
	margin-left: 40px;
	margin-bottom: 10px;
}

.closingDate {
	display: block;
	margin-left: 40px;
	margin-bottom: 20px;
	font-size: 16px;
}

.jobDescription {
	display: block;
	padding: 20px;
	background-color: #f6f6f6;

	font-size: 16px;
	line-height: 26px;

	margin-bottom: 20px;

	border-left: 20px solid #cd1719;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
}

.jobDocuments {
	display: block;

	border-radius: 5px;

	padding: 5px;
	margin-top: 20px;

	background-color: #bbbbbb;
	transition: background-color 0.3s ease-in-out;
}

.jobDocuments:hover {
	background-color: #CD1719;
}

.jobDocuments img {
	display: inline-block;
	height: 40px;

	margin-right: 10px;
	vertical-align: middle;
}

.jobDocuments span {
	color: #ffffff;
}

#mapFp {
	display: block;
	width: 100%;
	height: 600px;
}

#partnerHolder {
	display: block;

	padding-left: 50px;
	padding-right: 50px;
	padding-top: 100px;
	padding-bottom: 100px;

	background-color: #ffffff;
	border-top: 1px dotted #eeeeee;

	text-align: center;
}

#partnerHolder img {
	display: inline-block;
	max-width: calc(100% - 40px);
	max-height: 90px;

	margin-left: 30px;
	margin-right: 30px;
	margin-bottom: 25px;
	margin-bottom: 25px;
}

#logoOscr {
	display: block;
	height: 110px;
	margin-left: auto;
}






.eventHolder {
	display: flex;
	width: calc(100% - 40px);
	gap: 50px;

	padding: 20px;
	margin-top: 30px;
	margin-bottom: 30px;

	background-color: #dddddd;
	border-radius: 5px;
}

.eventDetails {
	flex: 1;
}

.eventButt {}

.eventButt button {
	width: 100px;
}

.eventTitle {
	display: block;

	color: #cd1719;
	font-size: 24px;
	font-weight: bold;
}

.eventDate {
	display: block;
	font-size: 14px;
}

.eventContact {
	display: block;
	font-size: 14px;
}

.eventHolder button {
	display: inline-block;

	font-family: "Roboto", sans-serif;
	font-size: 14px;
	color: #ffffff;

	cursor: pointer;

	border: none;
	border-radius: 3px;

	padding-left: 15px;
	padding-right: 15px;
	padding-top: 10px;
	padding-bottom: 10px;

	margin-right: 10px;
	margin-top: 20px;
	margin-bottom: 20px;

	background-color: #283583;
	transition: background-color 0.3s ease-in-out; 
}

.eventHolder button:hover {
	background-color: #cd1719;
}

.eventForm {
	display: flex;
	width: 100%;
}

.eventForm .mainHolder {
	flex: 1;
	text-align: center;
}

.eventForm .mainHolder .dateContainer {
	display: flex;
	flex: 1;
	gap: 50px;
}

.eventForm .mainHolder .dateContainer .dateHolder {
	flex: 1;	
}

.tBox, select {
	width: calc(100% - 22px);
	max-width: 400px;
	padding: 10px;
	text-align: center;
	border: 1px solid #333333;
}

select {
	width: 100% !important;
	max-width: 420px !important;
}

.tArea {
	width: calc(100% - 22px);
	max-width: 800px;
	height: 300px;
	padding: 10px;
	resize: none;
	border: 1px solid #333333;
	color: #333333 !important;
}

.tArea p {
	color: #333333;
}

label {
	display: block;
	margin-bottom: 10px;
	font-weight: bold;
}

.hint {
	display: block;
	text-align: center;
	font-size: 12px;
	color: #888888;
}

.subtitle {
	display: block;
	font-size: 14px;
	color: #ffffff;
}

.projectListHolder {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: space-between;
}

.projectListHolder .latestNewsLink {
	flex: none !important;
	width: calc(33% - 65px) !important;
	padding-bottom: 10px !important;
	margin-bottom: 50px;

	text-align: center;
}







#announcement {
	display: flex;
	width: 100%;

	background-color: #dddddd;
	border-top: 1px solid #ffffff;

	font-size: 18px;
	line-height: 28px;
}

#annDiv {
	display: flex;
	flex: 1;

	justify-content: center;
	align-items: center;

	color: #ffffff;
	font-size: 80px;
	font-style: italic;
	font-weight: bold;
	line-height: 80px;

	background-color: #3fa535;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.5);

	border-top-right-radius: 50%;
	border-bottom-right-radius: 50%;
}

#announcementContent {
	display: block;
	width: calc(100% - 200px);

	padding: 50px;
}


















/* ----------- HOLDING PAGE STUFF ----------- */

.holdingPage {

}

.holdingPage #backmain {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.holdingPage div {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);

	width: calc(100% - 80px);
	padding: 40px;
}

.holdingPage h1 {
	display: block;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	color: #ffffff;
}

.holdingPage span {
	display: block;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	color: #ffffff;
}

.holdingPage h1, .holdingPage span {
	text-shadow: 2px 2px 5px #00000088, -2px -2px 5px #00000088;
}

/* -------------------- MEGA MENU STUFF -------------------- */

#mega-menu-wrap-topNav {
	width: calc(100% - 100px) !important;
	background-color: transparent !important;
	transform-origin: 0px 0px;

	transition: all 0.3s ease-in-out;
}

.mega-menu-link {
	font-size: 22px !important;
	font-weight: 600 !important;
	background-color: transparent !important;

	margin-left: 6px !important;
	margin-right: 6px !important;

	border-radius: 5px !important;

	color: #000000 !important;
	transition: all 0.2s ease-in-out !important;
}

.mega-menu-link:hover {
	background-color: transparent !important;
	background-color: #cd1719 !important;
	color: #ffffff !important;
}

.mega-indicator {
	display: none !important;
}

.mega-sub-menu {
	margin-top: 2px !important;
	padding-top: 5px !important;

	background-color: #f3f3f3 !important;
	padding-bottom: 10px !important;
	border-radius: 5px !important;
	box-shadow: 0px 0px 5px #00000030;
}

.mega-sub-menu .mega-menu-link {
	font-size: 16px !important;
	border: none !important;
	border-radius: 0px !important;
}

.mega-sub-menu .mega-menu-link:hover {
	background-color: #cd1719 !important;
	color: #ffffff !important;
}

/* ----------------- Elementor overrides ------------------- */

/* Makes an entire icon box clickable */
.elementor-icon-box-title a::before {
	content: "";
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}

.elementor-divider-separator {
	display: block !important;
	width: calc(100% - 100px) !important;

	border: none !important;
	border-bottom: 1px dotted #dddddd !important;

	margin-bottom: 30px !important;
}

/* --------------- Contact form overrides ---------------- */

.frm_button_submit {
	display: block !important;
	width: 200px !important;

	margin-left: auto !important;
	margin-right: auto !important;

	color: #ffffff !important;
	font-size: 18px !important;
	font-weight: bold !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer !important;

	padding: 10px !important;

	background-color: #3fa535 !important;
	transition: background-color 0.3s ease-in-out !important;
}

.frm_button_submit:hover {
	background-color: #1f8515 !important;
}

.frm_message, .frm_error_style {
	background-color: transparent !important;
	border: none !important;
}

.frm_message p, .frm_error_style p {
	color: #333333 !important;
	font-size: 24px !important;
	font-weight: bold;
	text-align: center !important;
}

/* --------------------------------------------------------- */























hr {
	display: block;
	width: calc(100% - 100px);

	border: none;
	border-top: 1px dotted #dddddd;

	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 50px !important;
	margin-bottom: 50px !important;

	background-color: #ff0000;
}


h1 {
	font-size: 40px;
	text-align: center;
	line-height: 50px;
}

h2 {
	color: #283583;
	font-size: 30px;
}

h3 {
	color: #283583;
	font-size: 24px;
	font-weight: normal;
}

button {
	color: #ffffff;
	font-family: "Roboto", sans-serif;
	font-size: 20px;

	cursor: pointer;

	border: none;
	border-radius: 3px;

	padding-left: 10px;
	padding-right: 10px;
	padding-top: 5px;
	padding-bottom: 5px;

	background-color: #cd1719;
	transition: background-color 0.3s ease-in-out;
}

button:hover {
	background-color: #283583;
}










a:link, a:active, a:visited, a:hover {
	text-decoration: none;
	color: #a0adfc;

	transition: color 0.5s;
}

a:hover {
	color: #606dbc;
}

#bottom a:hover {
	color: #ffffff;
}




a:link.linksBott, a:active.linksBott, a:visited.linksBott, a:hover.linksBott {
	text-decoration: none;
	color: #ffffbb;

	transition: color 0.5s;
}

a:hover.linksBott {
	color: #ffff00;
}



a:link.downloadLink, a:active.downloadLink, a:visited.downloadLink, a:hover.downloadLink {
	display: block;
	margin-bottom: 20px;
	font-size: 16px;
	border-bottom: none;

	color: #333333;
	transition: color 0.3s ease-in-out;
}

a:hover.downloadLink {
	color: #b70f0a;
}

.downloadLink img {
	display: inline-block;
	height: 30px;
	margin-right: 20px;
	vertical-align: middle;
}



a:link.latestNewsLink, a:active.latestNewsLink, a:visited.latestNewsLink, a:hover.latestNewsLink {
	position: relative;
	display: block;
	flex: 1;
	padding: 20px;
	padding-bottom: 60px;
	color: #283583;

	border: 1px solid #dddddd;
	transition: border 0.3s ease-in-out;
}

a:hover.latestNewsLink {
	border: 1px solid #cd1719;
}


a:link.olderNewsLink, a:active.olderNewsLink, a:visited.olderNewsLink, a:hover.olderNewsLink {
	display: flex;
	gap: 30px;

	color: #333333;

	padding: 20px;
	margin-bottom: 30px;

	border: 1px solid #dddddd;
	transition: border 0.3s ease-in-out;
}

a:hover.olderNewsLink {
	border: 1px solid #cd1719;
}
