@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;600&display=swap');
@import url('form.css?v=1');
html,
body {
	font-family: 'Titillium Web', sans-serif;
	font-size: 100%;
	margin: 0;
	background-color: #ededed;
	font-weight: 300;
	word-wrap: break-word;
}
video {
	width:100% !important;
	height:auto !important;
	margin:0 !important;
	padding:0 !important;
}
.wrapper_home { background-color: rgba(0, 141, 255, 0.15) !important }
.add_pad { height: 40px }
.shadow { box-shadow:0 4px 8px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19) }
hr { display: none }
.block {
	display: block;
	background-color: #405162;
	padding: 20px;
	color: white;
	margin-bottom: 15px !important;
	font-size: 125%
}
.imageAlignLeft { float: left; margin: 0 30px 20px 0 }
.imageAlignRight { float: right; margin: 0 0 20px 30px }
.imageAlignFull { width: 100%; height: auto; margin: 20px 0 20px 0 }
.two_column img,
.three_column img {
	width: 100%; height: auto; margin: 0 0 20px 0
}
.two_column ul,
.three_column ul,
.two_column ol,
.three_column ol {
	break-inside: avoid-column;
}
.two_column p,
.three_column p {
	display: block;
	margin: 0;
	padding-bottom: 20px;
	-moz-break-inside: avoid-column;
	-webkit-break-inside: avoid-column;
	break-inside: avoid-column;
	-moz-column-fill: balance;
	-webkit-column-fill: balance;
	column-fill: balance;
}
.two_column p:first-child,
.three_column p:first-child {
	font-size: 120%;
	color: #202f54;
}
.two_column { column-count: 2; column-gap: 40px; column-rule: 1px solid rgb(181, 181, 181); border-bottom: 1px solid rgb(181, 181, 181); }
.three_column { column-count: 3; column-gap: 40px; column-rule: 1px solid rgb(181, 181, 181); border-bottom: 1px solid rgb(181, 181, 181); }
.two_column .button,
.three_column .button {
	width: 100%;
	display: block;
	text-align: center;
	padding: 20px
}
div { overflow-x: hidden !important; overflow-y: hidden !important }
#top {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	right: 0;
}
bold { font-weight: 600 }
.skip { position: absolute; top: -1000px }
h1, h2, h3, h4, h5, h6 {
	color: #202f54;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 15px
}
.content h1:first-of-type { margin-top: 0 }
.pagination { margin-bottom: 20px }
.pagination a { margin-right: 5px }
.paginationDisabled { display: none }
#contact { display: table; width: 100%; background-color: #b2315e; }
#contact div {
	display: table-cell;
	vertical-align: middle;
	padding: 10px 20px 10px 20px;
	color: #ffffff;
	text-decoration: none;
	white-space: nowrap;
	text-align: right;
}
#contact div:nth-child(1) { width: 100% }
#contact div:nth-child(2),
#contact div:nth-child(3) { padding-left: 0 }
#contact .news_reader { text-align: left }
#contact a,
#contact a:visited { color: inherit !important; text-decoration: inherit; }
#contact a:hover { color: white; text-decoration: underline }
.follow a,
.follow a:visited {
	display: inline-block;
	height: 35px;
	width: 35px;
	background-position: center center;
	background-size: cover;
	margin-bottom: -4px;
	border-radius: 5px;
	transition: .5s
}
.follow a:hover { transform: scale(1.1) }
.follow a:nth-child(1) { margin-right: 10px }
#menu {
	display: table; width: 100%;
	font-size: 110%;
	background-color: #202f54;
	position: relative
}
#menu div {
	display: table-cell;
	vertical-align: bottom;
	padding: 20px;
	color: #cccccc;
	text-decoration: none;
	white-space: nowrap;
}
#menu div:nth-child(1) { padding-right: 0 }
#menu div:nth-child(1) a img { width: 70px; height: auto; margin-bottom: -4px }
#menu div:nth-child(2) { width: 100%; }
#menu a,
#menu a:visited { color: inherit; text-decoration: inherit }
#menu a:hover { color: white; text-decoration: underline }
#menu ul { margin: 0 0 -4px 0; padding: 0; list-style: none }
#menu ul ul { display: none }
#menu li { display: table-cell; padding-right: 20px }
.main_menu_active { color: white !important; text-decoration: underline !important }
.cirrus_bars {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	height: 100%;
	width: 200px;
	opacity: 1
}
#wrapper { background-color: #ededed; overflow: auto; position: relative; z-index: 11 }
.content { max-width: 1100px; margin: auto; padding: 20px; overflow: auto }
#footer { display: table; width: 100%; color: #d7d5d5 !important; text-decoration: none; background-color: #202f54; position: relative; z-index: 9 }
#footer div { display: table-cell; vertical-align: top }
#footer div:nth-child(1),
#footer div:nth-child(3) { width: 30%; padding: 20px }
#footer div:nth-child(2) { padding: 20px }
#footer a,
#footer a:visited { color: inherit; text-decoration: underline }
#footer a:hover { text-decoration: underline; color: yellow }
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6 {
	color: white !important
}
#affiliations { text-align: center; background-color: #3e4964; position: relative; z-index: 10 }
#affiliations div,
#affiliations a,
#affiliations a:visited {
	display: inline-block;
	padding: 2%;
	vertical-align: top;
}
#affiliations img {
	height: 65px;
	width: auto;
}
#home_services { vertical-align: top; background-color: #313037; }
#home_services a,
#home_services a:visited { display: table; width: 100%; text-decoration: none; transition: .5s }
#home_services a:hover { transform: scale(1.05) }
#home_services a div {
	display: table-cell;
	vertical-align: middle;
	width: 50%;
	box-sizing: border-box;
	padding: 100px;
	background-position: center center;
	background-size: cover;
	font-size: 115%
}
#home_services h1 { margin-top: 0; font-size: 130%; text-transform: capitalize }
#home_services p { margin-bottom: 0 }
.home_services_1 { background-color: #de7a53; color: white !important }
.home_services_2 { background-color: #72c870; color: rgb(48, 48, 48) !important }
.home_services_3 { background-color: #dd658b; color: white !important }
.home_services_4 { background-color: #f4d66d; color: rgb(48, 48, 48) !important }
.home_services_5 { background-color: #67b0dd; color: white !important }
#home_services h1 { margin-top: 0; font-size: 130%; text-transform: capitalize; color: inherit }
.review_list {
	display: table;
	width: 100%;
	background-color: #e5e4e4;
	margin-bottom: 10px;
	border: 1px solid #cccccc;
	border-radius: 3px
}
.review_list div { display: table-cell; vertical-align: top }
.review_list div:first-child { width: 100%; padding: 20px }
.review_list div:last-child { padding: 20px }
.review_list img { width: 150px; height: auto }
.review_list h4 { margin: 0 }
.review_list p { margin: 0 }
.article,
.article:visited { color: inherit; text-decoration: inherit; transition: .5s }
.article:hover { color: inherit; text-decoration: inherit; transform: scale(0.95) }
.article div { background-position: center center; background-size: cover }
.article_full { display: table; width: 100%; }
.article_full div:nth-child(1) { width: 40%; padding-bottom: 30% }
.article_full div { display: table-cell; vertical-align: middle; padding: 50px; }
.article_full p:last-of-type { margin-bottom: 0 }
.article_full p:first-of-type,
.article_full p:nth-child(2) { font-weight: bold; text-transform: uppercase }
.article_block { display: inline-block; width: calc(100%/3); vertical-align: top }
.article_block div:nth-child(1) { display: block; padding-bottom: 70% }
.article_block div { padding: 20px; }
.article_block p:first-of-type,
.article_block h2:first-of-type { margin-top: 0; font-size: 125%; color: inherit !important }
.article_block p:last-of-type { margin-bottom: 0 }
.article_block p:first-of-type { font-weight: bold }
#block_page { background-color: rgb(175, 175, 175) !important; padding: 20px; }
#block_page h1:first-of-type { margin-top: 0 }
#block_page h1,
#block_page h2,
#block_page h3 { font-size: 125% }
#block_page p:last-of-type { margin-bottom: 0 }
#portfolio { padding-top: 20px }
#portfolio div {
	display: inline-block;
	width: 30.65%;
	position: relative;
	text-align: center;
	margin: 0 2% 4% 2%;
	box-sizing: border-box;
	color: inherit;
	text-decoration: inherit;
	vertical-align: top
}
#portfolio div:nth-child(3n+1) { margin-left: 0 }
#portfolio div:nth-child(3n+3) { margin-right: 0 }
#portfolio div img:nth-child(1) {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 2
}
#portfolio div img:nth-child(2) {
	width: 100%;
	height: auto;
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	border: 11px solid black;
	box-sizing: border-box
}
#portfolio h2 { font-size: 125%; margin: 10px 0 0 0; }
#portfolio a,
#portfolio a:visited { color: inherit; text-decoration: inherit }
#portfolio a:hover { text-decoration: underline }
.mobile_menu_trigger {
	display: none;
	position: absolute;
	z-index: 100;
	top: 70px;
	right: 20px;
	width: 40px;
	height: 40px;
	transition: .5s;
	cursor: pointer;
}
.mobile_menu_trigger span {
	display: block;
	height: 3px;
	box-sizing: border-box;
	background-color: white;
}
.mobile_menu_trigger span:nth-child(3) {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0
}
.mobile_menu_trigger span:nth-child(2) {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 45%
}

.close_menu { transform: rotate(90deg) }
.mobile_menu {
	display: none;
	background-color: rgb(105, 105, 105);
	padding: 10px 20px 10px 20px;
	text-align: center
}
.mobile_menu a,
.mobile_menu a:visited { line-height: 2em; color: white; text-decoration: none }
.mobile_menu ul { margin: 0; padding: 0; list-style: none }
.box {
	padding: 20px;
	margin: 0;
	font-size: 125%;
	text-align: center
}
.form { max-width: 600px }
.form div {
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	width: 50%;
	padding-bottom: 20px
}
.pad_right { padding-right: 20px }
.pad_left { padding-left: 20px }
.full { width: 100%; box-sizing: border-box }
input[name=Email] { position: absolute; top: -1000px }
.warning { display: block; background-color: #f7b6b6; padding: 20px }
.submenu {
	display: none;
	text-align: center;
	color: white;
	text-decoration: none;
	text-transform: uppercase;
	background-color: rgba(0, 0, 0, 0.2)
}
.submenu a,
.submenu a:visited {
	display: inline-block;
	position: relative;
	color: inherit;
	text-decoration: inherit;
	transition: .5s;
	font-size: 80% !important;
	width: 20%;
	white-space: nowrap;
	box-sizing: border-box;
	line-height: 3.25em;
	background-color: rgba(0, 0, 0, 0.8);
}
.submenu a:hover { transform: scale(0.95) }
.sub_menu_active {
	background-color: rgba(186, 43, 43, 0.789) !important;
}
.support_packages { display: table; width: 100% }
.support_packages .row { display: table-row }
.support_packages .cell {
	display: table-cell;
	vertical-align: middle;
	width: calc(100%/4);
	border: 1px solid rgb(181, 181, 181);
	border-right: none;
	border-bottom: none;
	padding: 10px;
	font-size: 85%;
	text-align: center
}
.support_packages p { margin: 0; }
.support_packages img { width: 20px; height: 20px }
.support_packages p:first-child {
	display: block;
	padding: 10px;
	border-radius: 5px;
	background-color: grey;
	color: white;
	font-weight: bold;
	text-transform: uppercase;
}
.support_packages p:nth-child(2) {
	color: #4d4d4d;
	font-size: 85%;
}
.support_packages p:nth-child(3) {
	color: #000000;
	font-size: 110%;
}
.support_packages .row:nth-child(even) .cell {
	background-color: rgb(227, 227, 227)
}
.support_packages .row .cell:first-child {
	text-align: left;
	width: 40%;
}
.support_packages .row .cell:nth-child(2),
.support_packages .row .cell:nth-child(3),
.support_packages .row .cell:nth-child(4) {
	width: 20%
}
.support_packages .row:first-child .cell { vertical-align: top }
.support_packages .row:last-child .cell {
	border-bottom: 1px solid rgb(181, 181, 181);
}
.support_packages .row .cell:last-child {
	border-right: 1px solid rgb(181, 181, 181);
}
.support_packages .cell:nth-child(3) {
	background-color: #cfcfcf;
}
.support_packages_mobile { display: none }
.home_news { background-color: rgba(0, 0, 0, 0.1); padding: 20px }
.cookie {
	background-color: #8d294c;
	padding: 20px;
	text-align: center;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
	color: white;
	font-size: 85%;
}
.cookie p:first-child { margin: 0 }
.cookie p:last-child { margin: 15px 0 0 0 }
.conference_organisers {
	text-align: center
}
.conference_organisers img {
	width: 160px; height: auto;
	vertical-align: middle;
	margin: 0 1% 1% 1%
}
.table { display: table }
.row { display: table-row }
.cell { display: table-cell }

.bio { background-color: #dbc6c6; padding: 10px 10px 0 10px }
.bio .row:nth-child(1) .cell {
	border: 10px solid #dbc6c6;
	padding-bottom: 30%;
	background-position: center center;
	background-size: cover;
	width: calc(100%/3)
}
.bio .row:nth-child(2) .cell {
	border: 10px solid #dbc6c6;
}
.bio h2 { margin: 0 }
.bio h3 { margin: 0 }
.feature_banner {
	width: 100%;
	height: auto;
	margin-bottom: -6px
}
.cta,
.cta:visited {
	position: fixed;
	background-color: #b2315e;
	z-index: 100;
	padding: 10px;
	width: 250px;
	left: 50%;
	margin-left: -125px;
	bottom: -50px;
	text-align: center;
	color: white;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 10px 10px 0 0;
	transition: .5s
}
.cta:hover {
	transform: scale(1.1)
}



.service_filler {
	text-align: center;
	padding-left: 10px;
	padding-right: 10px
}
.service_filler a,
.service_filler a:visited {
	display: inline-block;
	width: 18%;
	box-sizing: border-box;
	padding: 20px;
	text-align: center;
	background-position: center center;
	background-size: cover;
	margin: 2% 1% 0 1%;
	position: relative;
	text-decoration: none;
	padding-bottom: 10%;
	border-radius: 5px;
	transition: .5s;
	filter: grayscale(1);
}
.service_filler a:hover { opacity: .5 }
.service_filler a:nth-child(5n+1) { margin-left: 0 }
.service_filler a:nth-child(5n+5) { margin-right: 0 }
.service_filler a p { position: absolute; top: -10000px !important }
.service_filler a h1 {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	margin: 0;
	font-size: 100% !important;
	padding: 10px;
	background-color: rgba(178, 49, 94, 1);
	color: white;
	border-radius: 0 0 5px 5px
}




@media screen and (max-width: 900px) {
	html, body { font-size: 110% !important }
	.cirrus_bars { display: none }
	.content h1,
	.content h2,
	.content h3,
	.content h4,
	.content h5,
	.content h6 {
		font-size: 110%;
		display: block;
		margin: auto 0 10px 0;
		border-bottom: 1px solid grey;
		padding-bottom: 20px
	}
	#contact { display: block; background-color: #e14079; font-weight: bold; font-size: 90% }
	#contact div { display: block; padding-left: 0 !important; padding-right: 0 !important; }
	#contact div:nth-child(1),
	#contact div:nth-child(2),
	#contact div:nth-child(4) { display: none }
	#contact div:nth-child(3) { width: 100%; text-align: left }
	#contact div:nth-child(3) { text-align: center !important }
	#menu { display: block }
	#menu div { display: block; width: 100%; text-align: left; padding: 20px !important }
	#menu div { padding-left: 20px !important; padding-right: 0 !important; }
	#menu div:nth-child(2) { display: none !important }
	#menu div:nth-child(1) a img { height: 40px !important; width: auto }
	#banner { height: auto !important }
	#banner p,
	#banner_strip { position: absolute; top: -1000px }
	#home_services a { position: relative }
	#home_services a div { width: 100% !important; padding: 40px 20px 40px 20px !important }
	#home_services a .home_services_image { position: absolute; z-index: 1; left: 0; top: 0; right: 0; bottom: 0 }
	#home_services a .home_services_content {
		position: relative;
		z-index: 2;
		background-color: rgba(0,0,0,.7);
		color: white !important
	}
	#affiliations { background-color: rgb(38, 38, 38) }
	#affiliations div,
	#affiliations a,
	#affiliations a:visited { padding: 20px; }
	#affiliations img { width: 40%; height: auto }
	#footer { display: block; background-color: rgb(37, 0, 0) }
	#footer div { display: block }
	#footer div:nth-child(1),
	#footer div:nth-child(3),
	#footer div:nth-child(2) {
		padding-left: 20px !important;
		padding-right: 20px !important;
		padding-top: 0px !important;
		padding-bottom: 0px !important;
		width: 100% !important;
		box-sizing: border-box;
		text-align: center
	}
	#footer div:nth-child(2) { background-color: rgb(0, 37, 7) }
	#footer div:nth-child(3) { padding-bottom: 120px !important; background-color: rgb(37, 27, 0) }
	.mobile_menu_trigger { display: block }
	.submenu a { margin-bottom: -10px }
	.submenu a span:first-child {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		background-position: center center;
		background-size: cover
	}
	.submenu a span:last-child { display: none }
	.block { padding: 20px !important }
	.two_column p,
	.three_column p {
		display: inherit;
		margin: 15px 0 15px 0;
		padding-bottom: 0;
	}
	.two_column,
	.three_column { column-count: 1; column-gap: 0; column-rule: none }
	.form { max-width: 100% }
	.form div {
		display: block;
		width: 100%;
		padding-bottom: 20px
	}
	.pad_right { padding-right: 0 }
	.pad_left { padding-left: 0 }
	.support_packages { display: none }
	.support_packages_mobile { display: block }
	.support_packages_mobile_list { margin: 0; padding: 0; list-style: none; text-align: center }
	.support_packages_mobile_list p { margin: 0; }
	.support_packages_mobile_list li p:first-child {
		display: block;
		background-color: rgb(178, 178, 178);
		padding: 10px
	}
	.support_packages_mobile_list li p:last-child {
		display: block;
		color: rgb(45, 36, 36);
		padding: 10px
	}
	.article_full { display: block; }
	.article_full div:nth-child(1) { width: 100%; padding-bottom: 50%; box-sizing: border-box }
	.article_full div { display: block; vertical-align: middle; padding: 30px; }
	.article_block { width: calc(100%/2); }
	#top { position: relative }
	.buffer { display: none }
	.submenu { display: none !important}
	.conference_organisers img {
		display: block;
		width: 75%; height: auto;
		margin: 0 auto 0 auto;
	}
	#portfolio div {
		display: block;
		width: 100%;
		margin: 0 0 40px 0;
	}
	#portfolio h2 { font-size: 100% !important}
	.review_list {
		display: block;
		width: 100%;
		background-color: #e5e4e4;
		margin-bottom: 10px;
		border: 1px solid #cccccc;
		border-radius: 3px
	}
	.review_list div { display: block; box-sizing: border-box; text-align: center }
	.review_list div:first-child { width: 100%; padding: 20px }
	.review_list div:last-child { width:100%; padding: 20px }
	.review_list img { width: 200px; height: auto }


	.cta,
	.cta:visited {
		width: 100%;
		left: 0;
		margin-left: 0;
		bottom: -300px;
		padding-bottom: 40px;
		background-color: #25a000 !important;
		border-radius: 0
	}





	.service_filler {
		padding-left: 0;
		padding-right: 0
	}
	.service_filler a,
	.service_filler a:visited {
		display: block;
		width: 100%;
		padding-bottom: 50%;
		border-radius: 0;
		margin: 0;
		filter: grayscale(0);
	}
	.service_filler a:hover { opacity: 1 }
	.service_filler a h1 {
		padding: 20px;
		border-radius: 0;
		top: 0;
		bottom: auto
	}
	.bio .table .row:first-child { display: none }
	.bio .table .cell { display: block; width: 100% }

}