@charset "UTF-8";
/* CSS Document */

/* Designed & Developed by www.fernandfenech.com */

body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	font-size: 12px;
	font-family: 'Cabin', Arial, Helvetica, sans-serif;
	background: #fff;
}

textarea, input[type=text], button, input[type=submit] { outline: none; -webkit-appearance: none; border-radius: 0; }

a, a:focus, a:active {
    outline: 0 none;
}

a {
    color: inherit;
	text-decoration: none;
	font-weight: bold;
}

a:hover {
	text-decoration: underline;
}

.clearfloat { /* this class can be placed on a <br /> or empty div as the final element following the last floated div (within the #container) if the overflow:hidden on the .container is removed */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

.container {
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
	width: 90%;
}

.alignleft, .pull_left {
	float:left;
}

.alignright, .pull_right {
	float:right;
}

img.alignleft {
	margin-right: 15px;
	margin-bottom: 2px;
	border: 6px solid #ddd;
}

img.alignright {
	margin-left: 15px;
	margin-bottom: 2px;
	border: 6px solid #ddd;
}

img.aligncenter {
	width: 100%;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;	
	text-align: center;
	
}

hr {
	border: none;
	border-top: 1px dashed #333;
	margin: 30px 0px 20px 0px;
	padding: 0px;
	height: 1px;
	clear:both;
}

/* --- sizes --- */

.quarter {
	width: 25%;
	display: inline-block;
	vertical-align: top;
}

.threequarters {
	width: 75%;
	display: inline-block;
	vertical-align: top;
}

.third {
	width: 33.333%;
	display: inline-block;
	vertical-align: top;
}

.twothirds {
	width: 66.666%;
	display: inline-block;
	vertical-align: top;
}

.half {
	width: 50%;
	display: inline-block;
	vertical-align: top;
}

.sixty {
        width: 60%;
	display: inline-block;
	vertical-align: top;
}

.forty {
        width: 40%;
	display: inline-block;
	vertical-align: top;
}

.twenty {
        width: 20%;
	display: inline-block;
	vertical-align: top;
}

.sixty {
        width: 60%;
	display: inline-block;
	vertical-align: top;
}

.eighty {
        width: 80%;
	display: inline-block;
	vertical-align: top;
}

.fullwidth {
	width: 100%;
	display: block;
}

/* ---- columns ------ */

.columns-1 .column {
	width: 100%;
	margin-right: 0%;
	display: block;
	vertical-align: top;
}

.columns-4 .column {
	width: 23.5%;
	margin-right: 2%;
	display: inline-block;
	vertical-align: top;
}

.columns-3 .column {
	width: 30.4%;
	margin-right: 4.25%;
	display: inline-block;
	vertical-align: top;
}

.columns-2 .column {
	width: 48%;
	margin-right: 4%;
	display: inline-block;
	vertical-align: top;
}

.columns-4 .column:nth-child(4n+4) {
	margin-right: 0px;
}

.columns-3 .column:nth-child(3n+3) {
	margin-right: 0px;
}

.columns-2 .column:nth-child(2n+2) {
	margin-right: 0px;
}


/*  -------------- button ------------------  */ 

.bigbutton, a.bigbutton, input.bigbutton, .gform_button[type=submit]  {
	padding: 13px 13px;
	text-transform: uppercase;
	display: inline-block;
	font-size: 14px;
	line-height: 18px;
	font-family: "Cabin", Arial, sans-serif;
	margin: 3px 3px;
	font-weight: 400;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.bigbutton:before, a.bigbutton:before, input.bigbutton:before, .gform_button[type=submit]:before  {
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900; 
	content: "\f061";
	margin-right: 10px;
	vertical-align: top;
	font-size: 11px;
	color: #fff;
	padding: 4px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	background: #cc2723;
}

.bigbutton.back:before, a.bigbutton.back:before, input.bigbutton.back:before {
	content: "\f060";
}

.bigbutton.red:before, a.bigbutton.red:before, input.bigbutton.red:before, .gform_button.red[type=submit]:before  {
	color: #cc2723;
	background: #fff;
}

.bigbutton.last, a.bigbutton.last, input.bigbutton.last {
	margin-right: 0px;
}

.bigbutton:hover, a.bigbutton:hover {
	text-decoration: none;
	
}

.bigbutton.hollow, a.bigbutton.hollow, .bigbutton.hollow.blue, a.bigbutton.hollow.blue {
	border: 2px solid #052e66;
}

.bigbutton.hollow.blue, a.bigbutton.hollow.blue {
	color: #052e66;
}

.bigbutton.hollow.blue:hover, a.bigbutton.hollow.blue:hover{
	border: 2px solid #375885;
	background: rgba(55,88,133,0.15);
}

.bigbutton.hollow.white, a.bigbutton.hollow.white {
	border: 2px solid #fff;
}


.bigbutton.hollow.white.unbordered, a.bigbutton.hollow.white.unbordered {
	border:none;
	padding-left: 0;
	color: #fff;
}

.bigbutton.hollow.white:hover, a.bigbutton.hollow.white:hover{
	border: 2px solid rgba(255,255,255,0.85);
	background: rgba(255,255,255,0.15);
}

.bigbutton.hollow.white.unbordered:hover, a.bigbutton.hollow.white.unbordered:hover{
	border:none;
	background: rgba(255,255,255,0.15);
	padding-left: 15px;
	
}

.bigbutton.hollow.red, a.bigbutton.hollow.red {
	border: 2px solid #cc2723;
	color: #cc2723;
}

.bigbutton.hollow.red.unbordered, a.bigbutton.hollow.red.unbordered {
	border: none;
	color: #cc2723;
	padding-left: 0;
	text-transform: none;
}

.bigbutton.hollow.red:hover, a.bigbutton.hollow.red:hover {
	border: 2px solid #d6524f;
	background: rgba(214,82,79,0.15);
}

.bigbutton.hollow.red.unbordered:hover, a.bigbutton.hollow.red.unbordered:hover {
	border: none;
	background: rgba(214,82,79,0.15);
}

.bigbutton.solid, a.bigbutton.solid, .bigbutton.solid.blue, a.bigbutton.solid.blue, .gform_button[type=submit] {
	background: #052e66;
	border: 2px solid #052e66;	
	color: #fff;
}

 .bigbutton.solid.blue:hover, a.bigbutton.solid.blue:hover, .gform_button[type=submit]:hover {
	border: 2px solid #375885;
	background: #375885;
	cursor: pointer; cursor: hand;
}

.bigbutton.solid.red, a.bigbutton.solid.red, .keepintouch .gform_button[type=submit] {
	background: #cc2723;
	border: 2px solid #cc2723;	
}

.bigbutton.solid.red:hover, a.bigbutton.solid.red:hover, .keepintouch .gform_button[type=submit]:hover {
	background: #d6524f;
	border: 2px solid #d6524f;
}

.bigbutton.solid.white, a.bigbutton.solid.white {
	background: #fff;
	border: 2px solid #fff;	
	color: #052e66;
}

.bigbutton.solid.white:hover, a.bigbutton.solid.white:hover {
	background: rgba(255,255,255,0.85);
	border: 2px solid rgba(255,255,255,0.85);
}

.sticky {
	position: sticky;
	top: 60px;
}


/*  --------------------------------  */ 

/*  --------------------------------  */ 

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.text-justify {
	text-align: justify;
}

.buttoncontainer {
	margin-top: 15px;
}

.buttoncontainer a:first-child {
	margin-left: 0px;
}

.padded {
	padding: 10% 15%;
}

.section h1 {
	font-size: 35px;
	line-height: 40px;
	font-family: "Cabin", Arial, sans-serif;
	font-weight: 700;
	margin: 0;
	padding: 0;
	margin-bottom: 20px;
	color: #052e66;
}

.section h2 {
	font-size: 17px;
	font-family: "Cabin", Arial, sans-serif;
	font-weight: 400;
	line-height: 25px;
	margin-bottom: 25px;
	color: #999;
	text-align: justify;
}

.section h3 {
	font-size: 16px;
	font-family: "Cabin", Arial, sans-serif;
	font-weight: 700;
	line-height: 25px;
	margin-bottom: 25px;
	color: #052e66;
	text-align: justify;
}

.section p {
	font-family: "Cabin", Arial, sans-serif;
	font-size: 14px;
	line-height: 22px;
	margin: 30px 0px;
	text-align: justify;
	color: #666;
}

.divider {
	width: 15%;
	max-width: 150px;
	margin: 45px auto;
	height: 6px;
	background-color: #052e66;
}

.divider.red {
	background-color: #cc2723;
}

.smalldivider {
	width: 80px;
	background: #cc2723;
	height: 5px;
	margin: 35px 0px;
}

.events .smalldivider, .courses .smalldivider {
	display: none;
}

.smalldivider.text-center {
	margin-left: auto;
	margin-right: auto;
}

.wp-video {
width: 100%;
}

/* ---------- start css -------------- */

.preloader {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 999999;
   background-repeat: no-repeat; 
   background-color:#001748;
   background-position: center;
   overflow: hidden;

}

.preloader .thelogo {
	position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
	background-color: #fff;
	padding: 20px 30px;
}

/* --- header ---- */


.topheader.main {
	position: fixed;
	z-index: 999;
	top: 0px;
	left: 0px;
	width: 100%;
	background-color: #fff;
	
	/* -webkit-box-shadow: 0px 3px 9px 0px rgba(0,0,0,0.16);
	-moz-box-shadow: 0px 3px 9px 0px rgba(0,0,0,0.16);
	box-shadow: 0px 3px 9px 0px rgba(0,0,0,0.16); */
	
}

.topheader.main .bgholder {
	background: rgb(204,39,35);
	height: 6px;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 1;
}

.topheader.main .container {
	position: relative;
	z-index: 2;
}

.topheader.main .logoholder {
	background-color: #fff;
	padding: 10px 20px;
	display: inline-block;
	text-align: center;
	z-index: 999;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.topheader.main.smaller .logoholder {
	padding: 0px 10px;
}

.topheader.main .logoholder img {
	width: 320px;
	max-width: 340px;
	height: auto;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.topheader.main.smaller .logoholder img {
	width: 230px;
}

.topheader.main .menucontainer {
	display: inline-block;
	vertical-align: top;
}

.topheader.main .topmenu, .topheader.main .bottommenu {
	text-align: right;
	padding-right: 0%;
}

.topheader.main .topmenu {
	margin-bottom: 0px;
	color: #fff;
	font-weight: 400;
	font-size: 13px;
	line-height: 22px;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.topheader.main.smaller .topmenu {
	opacity: 0;	
}

.topheader.main .topmenu .searchform {
	display: inline-block;
	background-color: #c40077;
	padding: 3px 6px;
}

.searchform #searchsubmit {
	font-size: 13px;
	text-transform: uppercase;
	color: #fff;
	border: none;
	background-color:#c40077;
	padding: 15px;
	margin: 0px;
	vertical-align: middle;
}

.topheader.main .topmenu .searchform #searchsubmit {
	font-size: 10px;
	text-transform: uppercase;
	color: #fff;
	border: none;
	background-color:transparent;
	padding: 6px;
	padding-right: 0px;
}

.topheader.main .topmenu .searchform #searchsubmit:hover {
	cursor: pointer;
	cursor: hand;
}

.topheader.main .topmenu .searchform #searchsubmit svg {
	margin-right: 0px;
}

.searchform input[type=text] {
	border: none;
	font-size: 13px;
	color: #c40077;
	padding: 5px;
	width: 100px;
	vertical-align: middle;
}

.topheader.main .topmenu .searchform input[type=text] {
	border: none;
	font-size: 11px;
	color: #c40077;
	padding: 4px;
	width: 100px;
	vertical-align: middle;
}

.topheader.main  ul {
	list-style-type: none;
	margin: 0px;
	padding: 0px;
}

.topheader.main .topmenu svg {
	margin-right: 5px;
}

.topheader.main .topmenu ul li {
	display: inline-block;
	margin: 0px 5px;
}

.topheader.main .topmenu ul li:last-child {
	margin-right: 0px;
}

/*
.topheader.main .topmenu a.logout {
	background-color: #c40077;
	margin-left: 3px;
	padding: 9px;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.topheader.main .topmenu a.logout:hover {
	background-color: #770043;
}

.topheader.main .topmenu  a.logout svg {
	margin-right: 0px;
}*/

.topheader.main .topmenu a {
	color: #fff; 
	display: inline-block;
	margin-left: 4px;
	padding: 5px 15px;
	background-color: #cc2723;
	text-transform: uppercase;
	font-size: 11px;
}

.topheader.main .bottommenu {
	float: right;
	margin-top: 20px;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.topheader.main.smaller .bottommenu {
	margin-top: -25px;
}


.topheader.main .bottommenu ul li {
	display: inline-block;
	margin: 0px;
}

.topheader.main .bottommenu a {
	padding: 15px 15px 25px 15px;
	display: block;
	font-size: 16px;
	font-weight: 400;
	color: #cc2723;
}

/* ---- royal ---- */

.royal {
	margin-top: 112px;
	background-color: #262626;
	color: #fff;
	position: relative;
}

.royal .backgroundslider {
	position: absolute;	
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	height: 400px;
}

.royal .backgroundslide {
	position: relative;	
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: bottom center;
}

.royal .abovethefold {
	height: calc(100vh - 112px);
	position: relative;
	min-height: 650px;
}

.royal .captionholder {
	position: absolute;
	bottom: 110px;
	left: 0;
	z-index: 150;
	width: 100%;
}

.royal .captionholder .thecaptionslider {
	width: 90%;
	padding: 5%;
	padding-left: 0;
}

.royal .captionholder .thecaption h1 {
	font-size: 35px;
	font-weight: 700;
	margin-bottom: 15px;	
	text-shadow: 1px 1px 4px rgba(0,0,0,0.7);
	display: inline-block;
}

.royal .captionholder .thecaption h2 {
	width: 60%;
	font-size: 18px;
	line-height: 26px;
	font-weight: 400;
	font-style:oblique;
	margin-bottom: 30px;	
	text-shadow: 1px 1px 4px rgba(0,0,0,0.7);
}

.royal .bordertitle {
	
	
	font-size: 21px;
	background: rgba(0,0,0,0.6);
	position: absolute;
	bottom: 0px;
	width: 100%;
	z-index: 100;
	
}

.royal .featuredcontainer {
	border-bottom: 1px solid #fff;
	padding: 20px 0px;
	margin-bottom: 20px;
}

.royal .belowthefold {
	position: relative;
	z-index: 101;
	
}

.royal .featuredsection {
	background: rgba(0,0,0,0.6);
	padding: 20px 0px 40px 0;
}

.royal .featuredtitle {
	line-height: 48px;
}

.royal .indexfeaturedslider .slick-slide:nth-child(odd) .course {
	margin-right: 2.5%;
}

.royal .indexfeaturedslider .slick-slide:nth-child(even) .course {
	margin-left: 2.5%;
}

.royal .indexfeaturedslider .course p {
	font-size: 15px;
	font-weight: 400;
	line-height: 26px;
}

.overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	
	z-index: 1;
	
	 background: rgb(0,0,0);
	background: -moz-linear-gradient(180deg, rgba(0,0,0,0) 5%, rgba(0,0,0,0.7) 40%, rgba(0,0,0,0.9) 100%);
	background: -webkit-linear-gradient(180deg, rgba(0,0,0,0) 5%, rgba(0,0,0,0.7) 40%, rgba(0,0,0,0.9) 100%);
	background: linear-gradient(180deg, rgba(0,0,0,0) 5%, rgba(0,0,0,0.7) 40%, rgba(0,0,0,0.9) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1); 
}

.overlay.red {
	z-index: 2;
	 background: rgb(204,39,35);
	background: -moz-linear-gradient(216deg, rgba(204,39,35,0) 35%, rgba(204,39,35,0.31834740732230393) 100%);
	background: -webkit-linear-gradient(216deg, rgba(204,39,35,0) 35%, rgba(204,39,35,0.31834740732230393) 100%);
	background: linear-gradient(216deg, rgba(204,39,35,0) 35%, rgba(204,39,35,0.31834740732230393) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#cc2723",endColorstr="#cc2723",GradientType=1); 
}

.overlay.blue {
	z-index: 3;
	
	 background: rgb(5,46,102);
background: -moz-linear-gradient(62deg, rgba(5,46,102,0) 35%, rgba(5,46,102,0.3435574913559174) 100%);
background: -webkit-linear-gradient(62deg, rgba(5,46,102,0) 35%, rgba(5,46,102,0.3435574913559174) 100%);
background: linear-gradient(62deg, rgba(5,46,102,0) 35%, rgba(5,46,102,0.3435574913559174) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#052e66",endColorstr="#052e66",GradientType=1); 
}

/* ---- ticker ---- */

.ticker {
	background: #cc2723;
	color: #fff;
	padding: 20px 0px;
	font-size: 15px;
}

.ticker .tickerpretitle {
	font-weight: 700;
	margin-right: 20px;
	display: inline-block;
}

.ticker .tickerpretitle:before {
	font-family: "Font Awesome 5 Free"; 
	font-weight: 400; 
	content: "\f073";
	font-size: 17px;
	margin-right: 6px;
}

.ticker ul#newsticker {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: inline-block;
	vertical-align: middle;
}

.ticker ul#newsticker li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.ticker .tickernavigation, .ticker .slidenumbering {
	display: inline-block;
}

.ticker .tickernavigation {
	margin-left: 10px;
	border-left: 1px solid rgba(255,255,255,0.6);
	padding-left: 10px;
}

.ticker .tickernavigation .prevbutton, .ticker .tickernavigation .nextbutton {
	display: inline-block;
	padding: 6px 8px;
	background: rgba(255,255,255,0.1);
	margin: 0px 2px;

}	

.ticker .tickernavigation .prevbutton:hover, .ticker .tickernavigation .nextbutton:hover {
	background: rgba(255,255,255,0.3);
	cursor: pointer;
	cursor: hand;
}

/* ---- welcome ---- */

.welcome .welcomeimage {
	background: rgba(0,0,0,0.1);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center bottom;
	min-height: 400px;
}

/* --- upcoming ---- */

.upcoming {
	background-color: #052e66;
	color: #fff;
	padding: 60px 0;
}

.upcoming h1 {
	color: #fff;
}

/* ---- course ---- */

.columns-3 .course .third, 
.columns-3 .course .twothirds,
.columns-4 .course .third, 
.columns-4 .course .twothirds {
	width: 100%;
	display: block;
	margin-bottom: 15px;
}

.columns-3 .course .coursetext,
.columns-4 .course .coursetext {
	margin-left: 0;
	padding-bottom: 15px;
	border-bottom: 1px solid #ccc;
}

.columns-3 .course .courseimage,
.columns-4 .course .courseimage {
	height: 230px;	
}

.coursecontainer.dark {
	margin-bottom: 40px;
}

.upcoming .course {
	color: #fff;
	margin: 20px 0px 40px 0px;
}

.coursecontainer.dark .course {
	margin: 20px 0px 40px 0px;
}

.course .courseimage {
	width: calc(100% - 10px);
	height: 200px;
	background-size: cover;
	border: 3px solid #fff;
	display: inline-block;
	position: relative;
	background-position: center center;
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.coursecontainer.dark .course .courseimage {
	border: 5px solid #ccc;
}

.royal .captionheader .mqflevel {
	display: inline-block;
	margin-right: 15px;
	background: rgba(204,39,35,1);
	color: #fff;
	text-transform: uppercase;
	font-weight: 400;
	padding: 6px 10px;
	text-align: center;
}

.royal .mqflevel .thenumber {
	display: block;
	font-size: 14px;

}

.course .courseimage .mqflevel {
	background: rgba(204,39,35,1);
	position: absolute;
	right: 0;
	top: 0;
	
	text-transform: uppercase;
	font-weight: 400;
	padding: 6px 10px;
	text-align: center;
}

.course .courseimage .ectslevel {
	background: rgba(204,39,35,1);
	position: absolute;
	right: 45px;
	top: 0;
	
	text-transform: uppercase;
	font-weight: 400;
	padding: 6px 10px;
	text-align: center;
}

.coursecontainer.dark .course .courseimage .mqflevel, .coursecontainer.dark .course .courseimage .ectslevel {
	color: #fff;
}

.course .courseimage .mqflevel .thenumber, .course .courseimage .ectslevel .thenumber {
	display: block;
	font-size: 14px;

}

.course a.courseimage:hover {
	border-color: #cc2723;	
}

.coursecontainer.dark .course a.courseimage:hover {
	border-color: #cc2723;
}

.columns-4 .course .textheight {
	height: 170px; 
	overflow: hidden;
}

.course .coursetext {
	display: inline-block;
	margin-left: 20px;
	color: #fff;
}

.coursecontainer.dark .course .coursetext {
	color: #666;
}



.course .coursetext .titleholder {
	font-size: 16px;
	margin-bottom: 15px;
}

.course .coursetext .titleholder a {
	padding-bottom:0px;
	border-bottom: 2px solid #cc2723;
	border-color: transparent;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.coursecontainer.dark .course .coursetext .titleholder a {
	color: #052e66;
}


.course .coursetext .titleholder a:hover {
	text-decoration: none;	
	padding-bottom: 5px;
	border-bottom: 2px solid #cc2723;
}

.coursecontainer.dark .course .coursetext .titleholder a:hover {
	color: #375885;
}

.course .coursetext p {
	color: #fff;
	margin: 0;
	font-style: italic;
}

.coursecontainer.dark .course .coursetext p {
	color: #666;
	font-style: normal;	
	line-height: 20px;
}

.course a.coursebutton {
	font-weight: 700;
	line-height: 15px;
	font-size: 13px;
	padding: 15px 0px;
	padding-right: 15px;
	display: inline-block;
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.coursecontainer.dark .course a.coursebutton {
	color: #cc2723;	
}

.course a.coursebutton:hover  {
	text-decoration: none;
	padding-left: 10px;
	
}

.coursecontainer.dark .course a.coursebutton:hover {
	color: #d6524f;	
}

.upcoming .course a.coursebutton:hover{
	background: rgba(255,255,255,0.1);
}

.coursecontainer.dark .course a.coursebutton:hover{
	background: rgba(204,39,35,0.1);
}


.course a.coursebutton:before {
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900; 
	content: "\f061";
	margin-right: 10px;
	vertical-align: top;
	font-size: 11px;
	color: #fff;
	padding: 4px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	background: #cc2723;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.course a.coursebutton:hover:before {
	background: #d6524f;
	text-decoration: none;
}

/* ------ news events ----- */

.news_events {
	background-color: #eee;
}

.news_events .thenews, .news_events .theevents {
	margin-top: 10%;
	margin-bottom: 10%;
}

.news_events .theevents {
	padding-right: 10%;
	margin-right: 5%;
	border-right: 1px solid #ccc;
}

.news_events .theevents img {
	width: 25%;
	height: auto;
}

.news_events .thenews {
	margin-left: 5%;
	margin-right: 10%;
}

.news_events .event {
	padding-bottom: 15px;
	margin-bottom: 25px;
	border-bottom: 1px solid #ccc;
}

.news_events .thedate {
	color: #cc2723;
	font-size: 14px;
	margin-bottom: 6px;
}

.news_events .thedate:before {
	margin-right: 8px;
	font-size: 14px;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 400; 
	content: "\f073";
		
}

.news_events .thetitle {
	font-size: 15px;
	color: #052e66;
	margin-bottom: 15px;
}



.news_events p {
	margin-top: 0px;
	margin-bottom: 10px;
	font-size: 13px;
}

.keepintouch {
	padding-left: 10%;
	background-color: #052e66;
	color: #fff;
	margin-right: 0px;
}

.keepintouch .gform_wrapper {
	padding-top: 15px;
}

.keepintouch_contentspacer {
	padding-top: 10%;
	padding-bottom: 10%;
}

.keepintouch h1, .keepintouch p {
	color: #fff;
}

.news a.featuredimage {
	background-size: cover;
	background-position: center center;
	min-height: 250px;
	width: 100%;
	display: block;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.news a.featuredimage:hover {
	opacity: 0.8;
}

.news .newscontent {
	margin-top: 30px;
}

.news .newscontent p {
	margin: 20px 0px;
}

.keepintouch .subsection {
	margin-top: 30px;
}

.keepintouch .subsection h1 {
	padding-bottom: 15px;
	margin-bottom: 30px;
	border-bottom: 1px solid #fff;
	font-size: 20px;
	font-weight: 400;
}

.social a {
	margin-right: 10px;
	border: 1px solid #fff;
	display: inline-block;
	width: 30px;
	height: 30px;
	text-align: center;
	vertical-align: top;
	line-height: 20px;
	font-size: 18px;
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.social a:hover { 
	border: 1px solid #cc2723;
	background: #fff;
	color: #cc2723;
}

.social a .fab {
		line-height: 30px;
}

/* ----- footer ------ */

.prefooter {
	padding: 20px 0px;
}

.prefooter .logoholder {
	width: 24%;
	display:  inline-block;
}

.prefooter .logoholder img {
	width: 85%;
	margin-top: 5%;
	margin-right: 5%;
	height: auto;
	
}

.prefooter .pretext {
	color: #cc2723;
	font-size: 14px;
	font-weight: 400;
	margin-left: 30%;
	margin-top: 10px;
}

.prefooter .pretext img {
	border: none;
	height: 45px;
	width: auto;
	vertical-align: middle;
}


.footer {
	background-color: #cc2723;
	padding: 20px 0px;
	color: #fff;
	font-weight: 400;
	font-size: 13px;
}

.footer .contact_element {
	display: inline-block;
	margin-right: 40px;
	vertical-align: top;
}

.footer .threequarters .contact_element {
	padding-top: 5px;
}

.footer .contact_element.text-right {
	text-align: right;
	margin-right: 0px;
}

.footer .contact_element .ff {
	margin-top: 5px;
}
.footer .contact_element .ff a {
	text-decoration: none;
	opacity: 0.7;
	font-weight: 400;
	webkit-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	-o-transition: opacity 0.2s;
	transition: opacity 0.2s;
	-webkit-font-smoothing: antialiased;
}

.footer .contact_element .ff a:hover {
	opacity: 1;
	
}

.footer .contact_element .ff img {
	width: 20px;
	height: 20px;
	margin-bottom: 2px;
	vertical-align: middle;
	margin-left: 5px;
	display: inline-block;
}

/* ----- forms ----- */

.single-courses .gform_wrapper {
	margin-top: 0;
}

body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
    font-size: 15px;
    color: #052e66;
    border: 1px solid #ffffff;
	background: rgba(255,255,255, 1);
    padding: 16px;
    margin-right: 10px;
	border-radius: 0;
	line-height: 16px;
	
	-webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -ms-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
}

body .gform_wrapper select {
	line-height: 16px;
	font-size: 15px;
    color: #052e66;
    padding: 16px 13px 16px 13px !important;
    min-width: 0px;
    width: 100% !important;
    margin: 0px;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid #ffffff;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    background: rgba(255,255,255,1) url(../images_interface/downarrow.png) no-repeat right center;

}

body .gform_wrapper textarea  {
    font-size: 14px;
    color: #052e66;
    border: 1px solid #fff;
	background: rgba(255,255,255, 1);
    padding: 1.5%;
}

body .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, body .gform_wrapper textarea:focus {
	box-shadow: 0 0 15px rgba(204,39,35, 0.9);
	border: 1px solid rgba(204,39,35, 1);
	color: #052e66;
}

body .gform_wrapper li.checkboxes {
	padding-top: 20px;
	
}

body .gform_wrapper .gfield_checkbox li label, body .gfield_consent_label, body .gform_wrapper .gfield_radio li label {
	font-size: 1.1em;
	vertical-align: bottom;
}

body .gform_wrapper .gfield_checkbox li input, body .gform_wrapper .gfield_checkbox li input[type="checkbox"],  .gform_wrapper .gfield_radio li input {
	vertical-align: top;
	margin-top: 4px;
	
}

body .gform_wrapper .top_label input.large.datepicker, body .gform_wrapper .top_label input.medium.datepicker, body .gform_wrapper .top_label input.small.datepicker {
	width: 100%;
}

body .gform_wrapper .textarea.large {
	height: 100px;
}

body .gform_wrapper .top_label .gfield_label {
    color: #fff;
    font-size: 11px;
    font-weight: 400
}

body .gform_wrapper .gfield_required {
	color: #C89797 !important;
}

body .gform_confirmation_message {
    color: #5FE3AF;
    border: 1px solid #5FE3AF;
    margin: 30px auto 0;
    font-size: 15px;
    padding: 20px;
    width: calc(100% - 40px);
	text-align: center;
}

body .gform_confirmation_message:before {
    margin-right: 5px;
    vertical-align: middle;
    font-family: dashicons;
    content: "\f147";
    font-size: 18px
}

body .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label, body .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
    margin-top: 0
}

body .gform_wrapper li.gfield.gfield_error {
    border-top: none !important;
    padding-top: 0 !important;
	margin-top: 16px !important;
    background-color: transparent;
	vertical-align: top !important;
	border-bottom: none;
}

body .gform_wrapper li.gfield_error input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]), .gform_wrapper li.gfield_error textarea {
	border-color: #F30 !important
}

body .gform_wrapper li.gfield.gfield_error:not(.topspaced) input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {
    width: calc(100% - 16px) !important;

}

body .gform_wrapper .top_label li.gfield.gfield_error.gf_left_third,
body .gform_wrapper .top_label li.gfield.gfield_error.gf_middle_third {
    width: calc(33.3% - 16px)!important
}

body .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container {
    margin-top: 8px!important
}

body .gform_wrapper .field_description_below .gfield_description {
    padding-top: 8px!important;
}

body .gform_wrapper .field_description_below .gfield_description {
	color: #F30 !important;
}

body .gform_wrapper .field_description_below .gfield_description:before {
    font-family: dashicons;
    content: "\f342";
    margin-right: 3px;
    vertical-align: middle;
    font-size: 10px;
    font-weight: 400
}

body .gform_wrapper div.validation_error {
    border: 1px solid #F30 !important;
    font-weight: 400!important;
    font-size: 12px;
    width: 98%;
    margin-bottom: 10px;
    margin-top: 25px;
	color: #F30 !important;
}

body .gform_wrapper div.validation_error:before {
    font-family: dashicons;
    content: "\f335";
    margin-right: 3px;
    vertical-align: middle;
    font-size: 15px
}

body .gform_wrapper hr {
	border-bottom: 1px solid rgba(255,255,255,0.2);
}

.contactsection .gform_wrapper .ginput_recaptcha {
    margin-left: auto;
    margin-right: auto;
    width: 304px
}

.contactsection .gform_wrapper .captcha_validation,
.contactsection .gform_wrapper .gform_footer {
    text-align: center;
}

body .gform_wrapper .gform_footer input[type=submit] {
	font-size: 14px;
}


body .searchandfilter input[type="checkbox"] {
    opacity: 0;
	display: none;
}

body .searchandfilter label.sf-label-checkbox {
    position: relative;
    display: inline-block;
    
    /*16px width of fake checkbox + 6px distance between fake checkbox and text*/
    padding-left: 25px !important;
}

body label.sf-label-checkbox::before,
body label.sf-label-checkbox::after {
    position: absolute;
    content: "";
    
    /*Needed for the line-height to take effect*/
    display: inline-block;
}

/*Outer box of the fake checkbox*/
body label.sf-label-checkbox::before{
    height: 16px;
    width: 16px;
    
    border: 1px solid;
    left: 0px;
    
    /*(24px line-height - 16px height of fake checkbox) / 2 - 1px for the border
     *to vertically center it.
     */
    top: 0px;
	background: #fff;
}

/*Checkmark of the fake checkbox*/
body label.sf-label-checkbox::after {
    height: 5px;
    width: 9px;
    border-left: 3px solid;
    border-bottom: 3px solid;
    border-color: #052e66;
    transform: rotate(-45deg);
    
    left: 3px;
    top: 4px;
}

/*Hide the checkmark by default*/
body input[type="checkbox"] + label.sf-label-checkbox::after {
    content: none;
}

/*Unhide on the checked state*/
body input[type="checkbox"]:checked + label.sf-label-checkbox::after {
    content: "";
}

/*Adding focus styles on the outer-box of the fake checkbox*/
body input[type="checkbox"]:focus + label.sf-label-checkbox::before {
    outline: rgb(59, 153, 252) auto 5px;
}


.keepintouch .gf_left_third, .keepintouch .gf_middle_third, .keepintouch .gf_right_third {
	width: 100% !important;
	display: block !important;
} 

.keepintouch .gform_wrapper li.gfield.gfield_error:not(.topspaced) input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]) {

    width: 100% !important;

}


/* ---- side social ---- */

.sidesocial {
	position: fixed;
	right: 0px;
	top: 20%;
	background: #cc2723;
	z-index: 1000;
	
	display: none;
}

.sidesocial a {
	display: block;
	color: #fff;
	font-size: 20px;
	text-align: center;
	padding: 10px;
	
	webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.sidesocial a:hover {
	background: rgba(255,255,255,0.2);
}

.mobilemenubar {
	display: none;
}

@media screen and (max-width: 1440px) {
	
	.captionholder .container {
		width: 80%;	
	}
	
	.royal .captionholder .thecaption h2 {
		width: 75%;	
	}
	
	.prefooter .pretext {
		margin-left: 15%;	
	}
	
}	

@media screen and (max-width: 1024px) {
	
	.container {
		width: 95%;
	}
	
	.royal {
    	margin-top: 67px;
	}
	
	.royal .captionholder {
		bottom: 140px;	
	}
	
	.royal .indexfeaturedslider .course p {
		font-size: 13px;
		font-weight: 400;
		line-height: 20px;
		text-overflow: ellipsis;
		  height: 60px; 
	   overflow: hidden;
	}
	
	.royal .captionholder .thecaption h1 {
		font-size: 26px;
	}
	
	.royal .captionholder .thecaption h2 {
		width: 100%;	
		font-size: 16px;
		line-height: 24px;
	}
	
	.featuredsection .container {
		width: 85%;	
	}
	
	.featuredsection .course .courseimage {
		height: 150px;
	}
	
	.section h1 {
		font-size: 30px;
		line-height: 40px;
	}
	
	.section h2 {
		font-size: 16px;	
		line-height: 20px;
	}
	
	.section p {
		font-size: 14px;
		line-height: 20px;
		margin: 16px 0px;
	}
	
	.padded {
		padding: 8% 11%;
	}
	
	.course .courseimage {
		height: 180px;	
	}
	
	.news_events .container {
		width: 100%;	
	}
	
	.news_events .third {
		width: 50%;	
		
	}
	
	/*
	.news_events .third:nth-child(1) {
		width: 45%;	
		padding-left: 5%;
	}
	
	.news_events .third:nth-child(2) {
		width: 45%;	
		padding-right: 5%;
	}*/
	
	.news_events .theevents {
		padding-left: 8%;
	
	}
	
	.news_events .thenews {
		margin-right: 0;	
		padding-right: 8%;
	}
	
	.news_events .third:nth-child(3) {
		display: block;
		width: 100%;
	}
	
	.news_events .keepintouch {
		padding: 5% !important;
		width: 90%;
	}
	
	.keepintouch_contentspacer {
		padding-top: 0%;
		padding-bottom: 0%;
	}
	
	
	.keepintouch .gf_left_third, .keepintouch .gf_middle_third, .keepintouch .gf_right_third {
		width: 33.3% !important;
		display: inline-block !important;
	} 
	
	.prefooter .pretext {
		font-size: 12px;
		margin-left: 5%;	
	}

	.footer {
		font-size: 11px;	
	}
	
	
	
}

@media screen and (max-width: 800px) {
	
	.topheader.main, 
	.sidesocial {
		display: none;	
	}
	
	.featuredsection .container {
		width: 80%;
	}
	
	.mobilemenubar {
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    z-index: 5000;
	height: 75px;
	border-bottom: 1px solid #eee;
	display: block;
}

.mobilemenubar .container {
    width: 100%;
}

.mobilemenubar .logocontainer {
	line-height: 75px;
	width: 100%;
	display: inline-block;
	margin-left: 0px;
	padding: 0;
	vertical-align: top;
	text-align: center;
	 position: absolute;
	 top: 0px;
	 left: 0px;
	 z-index: 997;
	
}
.mobilemenubar .logocontainer img {
	vertical-align: top;
	margin-top: 8px;
	width: 220px;
}

#mobilemenu .menucontainer.mburger {
	vertical-align: top;
	font-size: 25px;
	text-align: center;	
	height: 75px;
	line-height: 75px;
	width: 75px;
	color: #cc2723;
	background: #fff;
	 --mb-bar-height: 3px;
	 --mb-button-size: 75px;
	 --mb-bar-width: 0.4;
	z-index: 999;
	border-right: 1px solid #eee;
}


a.memberbutton {

    text-align: right;
    margin-right: 0%;
    display: block;

}

a.memberbutton .buttoncontent {
	position: absolute;
	z-index: 998;
	top: 0;
	right: 0;
	height: 45px;
    width: 45px;
	display: block;
	text-align: center;
	padding: 15px;
	border-left: 1px solid #eee;
}

a.memberbutton  .buttoncontent.red, a.memberbutton .buttoncontent.red .fas {
	color: #cc2723;
}

a.memberbutton .fas {
	vertical-align: top;
	font-size: 25px;
	text-align: center;
	color: #052e66;
    font-size: 22px;
    
}

a.memberbutton .subtext {
	margin-top: 10px;
	vertical-align: top;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 11px;
	color: #052e66;
}

.welcome .welcomeimage {
	min-height: 500px;
}


/*----- menu ------ */
	
	.mm-menu {
		--mm-color-background: #052e66;
		--mm-listitem-size: 75px;
		 --mm-color-text: #fff;
		 font-size: 14px;
		 text-transform: uppercase;
		 font-weight: 400;
		 --mm-color-button: #cc2723;
		 --mm-color-border: rgba(255,255,255,0.1);
	}
	
	/* ------- */
	
	.tickerpretitle span {
		display: none;	
	}
	
	.welcome .half, .news_events .third {
		display: block;
		width: 100%;
			
	}
	
	.welcome .padded {
		padding: 8%;
	}
	
	.upcoming .columns-2 .column {
		width: 100%;
		margin-left: 0px;
		margin-right: 0px;	
	}
	
	.news_events .theevents img {
		width: 20%;
		float: right;
		margin-right: 0px;
		margin-left: 10px;	
	}
	
	.news_events .thenews, .news_events .theevents {
		padding: 0;
		margin: 0;	
		
		padding: 4.5%;
    	width: 90%;
	}
	
	.prefooter .sixty {
		display: block;
		width: 100%;	
	}
	
	.prefooter .forty {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 40px;
		display:  block;
	}
	
	.prefooter .logoholder {
		width: 49%;
	}
	
	.prefooter .alignright {
		float:left;
		margin: 0;
		padding: 0;	
		
	}
	
	.prefooter .pretext img {
		height: 30px;
		margin-right: 15px;	
	}
	
	.prefooter .pretext.text-right {
		margin: 0;	
		text-align: left;
	}
	
	.footer .threequarters, .footer .quarter {
			width: 100%;
			display: block;
			margin: 25px 0px;
			text-align: center;
	}
	
	.footer .quarter {
		margin-bottom: 0;	
	}
	
	.footer .text-right, .footer .contact_element.text-right {
		text-align: center;	
	}
	
	.footer .contact_element .ff {
		margin-top: 25px;	
	}
	
}

@media screen and (max-width:600px) {
	
	.royal .captionholder .thecaption h2 {
		display: none;	
	}
	
	.captionholder .container {
		width: 65%;	
	}
	
	.royal .captionholder {
		bottom: 25%;	
		text-align: center;
	}
	
	.royal .captionholder .thecaptionslider {
		padding: 0;
		width: 100%;	
	}
	
	.bordertitle .third, .ticker .quarter {
		display: none;	
	}
	
	.bordertitle .twothirds, .ticker .threequarters {
		width: 100%;	
	}
	
	.ticker .tickerpretitle {
		width: 5%;
		margin-right: 5px;	
	}
	
	.ticker ul#newsticker {	
			width: 90%;
	}
	
	.welcome .welcomeimage {
		min-height: 380px;
	}
	
	.news_events .thenews {
		padding-bottom: 30px;	
	}
	
	.news_events .theevents {
		padding-top: 30px;	
	}
	
	.news_events .keepintouch {
		padding-top: 30px !important;	
	}
	
	.keepintouch .gf_left_third, .keepintouch .gf_middle_third, .keepintouch .gf_right_third {
		width: 100% !important;
		display: block !important;
	} 
	
	.keepintouch .subsection {
		padding-bottom: 20px;
	}
	
	.prefooter {
		padding: 35px 0px;
	}
	
	.prefooter .pretext img {
		display: block;
		margin: 0 auto;
		height: 40px;
		margin-bottom: 15px;	
		float: none;
	}
	
	.prefooter .pretext.text-right {
		text-align: center;
	}
	
	.footer .threequarters .contact_element {
		display: block;
		margin: 20px 0;
		padding: 0;
		text-align: center;
	}
	
}