@charset "UTF-8";
html, body {
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
	}

html {scroll-behavior:smooth;
}

body {
    background-color: #2e2a5d;
    padding-top: 0px;
    position: relative;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'Montserrat', Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    ;
}
h1, h2, h3, h4, h5, h6, p {
    margin: 0;
    font-family:'Montserrat', Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;;
}

button {
    cursor: pointer;
    
}
a, a:link, a:active, a:visited, a:hover
{
    /* [disabled]color: inherit; */
}

div {
	display: block;
}
a {
	text-decoration: none;
}
a.button {
    margin: 5px 20px;
    padding: 15px 18px;
    font-family: 'Saira Condensed', Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 22px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    line-height: 1em;
    min-width: 100px;
    background-image: -webkit-linear-gradient(270deg,rgba(46,42,93,1.00) 0%,rgba(49,75,160,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(46,42,93,1.00) 0%,rgba(49,75,160,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(46,42,93,1.00) 0%,rgba(49,75,160,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(46,42,93,1.00) 0%,rgba(49,75,160,1.00) 100%);
    border: 4px solid #314ba0;
    box-shadow: inset 0 0 0 2px white;
    color: white;
}
a.button2 {
    margin: 5px 20px;
    padding: 15px 18px;
    font-family: 'Saira Condensed', Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 22px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    line-height: 1em;
    min-width: 100px;
    border: 4px solid #FFFFFF;
    box-shadow: inset 0 0 0 2px #2E2A5D;
    color: #314ba0;
    background-color: #FFFFFF;
    -webkit-box-shadow: inset 0 0 0 2px #2E2A5D;
}
a.button:hover {
    color: #314ba0;
    background-image: -webkit-linear-gradient(270deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(255,255,255,1.00) 0%,rgba(255,255,255,1.00) 100%);
}

a:hover {
}
a img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

.floatRight {
	float: right;
}

.floatLeft {
	float: left;
}
.stackRight {
	float: right;
	clear: right;
}
.stackLeft {
	float: left;
	clear: left;
}

.clearfloat { 
	clear:both;
	height:0;
	font-size: 0px;
	line-height: 0px;
}
.ctr {
    text-align: center;
}
.alignr {
    text-align: right;
}
.alignl {
    text-align: left;
}
.ctr img {
    text-align: center;
}
.whitebg {
    background-color: #fff;
}
.fixedbg {
    background-attachment: fixed;
}
#topbar {
    padding-top: 7px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 5px;
    background-color: rgba(29,29,29,1.00);
    text-align: right;
    border-bottom: 2px solid rgba(255,255,255,1.00);
}
#topbar * {
    padding: 5px;
    color: rgba(255,255,255,1.00);
}
#topbar a.contact {
    padding-top: 5px;
    padding-right: 5px;
    padding-left: 35px;
    padding-bottom: 5px;
    background-repeat: no-repeat;
    background-position: 6px center;
    background-size: 20px auto;
    font-size: 16px;
    margin-right: 12px;
    line-height: 16px;
    height: 16px;
}
#topbar .contact.phone {
    background-image: url(../images/icons/phone.png);
    font-weight: 600;
}
#topbar .contact.email {
    background-image: url(../images/icons/email.png);
    font-weight: 400;
}
#topbar a.social {
    width: 22px;
    padding: 5px;
    height: 22px;
}
#topbar .social img {
    width: 20px;
    vertical-align: -8px;
}
#topbar a:hover {
    background-color: rgba(0,85,150,1.00);
}


/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

.wrapper, .main, .content {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	display: block;
	position: relative;
	left: 0px;
	top: 0px;
}

.wrapper {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.wrapper.slideheader .buttonspot {
    width: 100%;
    text-align: center;
    position: absolute;
    bottom: 0px;
}
footer {

}

.main {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;	
}

.content {
    width: 94%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1400px;
}

.grid {
    display: grid !important;
    grid-template-columns: auto auto auto;
	grid-gap: 20px;
}

.flex {
	display: flex;
}


.flexcontent {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: row;
/*    height: 100%; */
}

.flexcontent > * {
	flex-grow: 1;
}

.flexcol35 {
	width: 35%;
}
.flexcol40 {
	width: 40%;
}
.flexcol45 {
	width: 45%;
}
.flexcol50 {
	width: 50%;
}
.flexcol55 {
	width: 55%;
}
.flexcol60 {
	width: 60%;
	margin: 0 2.5%;
}
.flexcol50 {
    width: 50%;
}
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}


/*------------------------------------*\
    FRACTIONAL COLUMNS
\*------------------------------------*/

.col20 {
	width: 20%;
}
.col25 {
	width: 25%;
}
.col30 {
	width: 30%;
}
.col33 {
    width: 33.33%;
}
.col34 {
	width: 34%;
}
.col35 {
	width: 35%;
}
.col40 {
	width: 40%;
}
.col45 {
	width: 45%;
}
.col50 {
	width: 50%;
}
.col55 {
	width: 55%;
}
.col60 {
	width: 60%;
}
.col65 {
	width: 65%;
}
.col70 {
	width: 70%;
}
.col75 {
	width: 75%;
}
.col80 {
	width: 80%;
}
.col85 {
	width: 85%;
}
.col90 {
	width: 90%;
}
.col95 {
	width: 95%;
}

.col20, .col25, .col30, .col33, .col34, .col35, .col40, .col45, .col48, .col50, .col55, .col60, .col65, .col70, .col75, .col80, .col85, .col90, .col95 {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.col-left {
	float: left;
}

.col-right {
	float: right;
}

.w100 { width: 100%; }
.fullwidth {
    width: auto;
    max-width: none;
}
.w80 { width: 80%; }
.w70 { width: 70%; }





/*------------------------------------*\
	MOBILE COLUMNS
\*------------------------------------*/

.mcol20 {
	width: 20%;
}
.mcol25 {
	width: 25%;
}
.mcol30 {
	width: 30%;
}
.mcol33 {
	width: 33%;
}
.mcol34 {
	width: 34%;
}
.mcol35 {
	width: 35%;
}
.mcol40 {
	width: 40%;
}
.mcol45 {
	width: 45%;
}
.mcol50 {
	width: 50%;
}
.mcol55 {
	width: 55%;
}
.mcol60 {
	width: 60%;
}
.mcol65 {
	width: 65%;
}
.mcol70 {
	width: 70%;
}
.mcol75 {
	width: 75%;
}
.mcol80 {
	width: 80%;
}

.mcol-left {
	float: left;
}

.mcol-right {
	float: right;
}
.nopad {
    padding-left: 0px;
    padding-right: 0px;
}


/*------------------------------------*\
    PADDINGS & MARGINS
\*------------------------------------*/

.p10 { padding-top: 10px; padding-bottom: 10px;}
.p15 { padding-top: 15px; padding-bottom: 15px;}
.p20 { padding-top: 20px; padding-bottom: 20px;}
.p20i {
    padding: 20px 2vw;
}
.p25 { padding-top: 25px; padding-bottom: 25px;}
.p30 { padding-top: 30px; padding-bottom: 30px;}
.p40 { padding-top: 40px; padding-bottom: 40px;}
.p50 { padding-top: 50px; padding-bottom: 50px;}
.pt40 { padding-top: 40px; }
.pt30 { padding-top: 30px; }
.pt20 { padding-top: 20px; }
.pb40 { padding-bottom: 40px; }
.pb30 { padding-bottom: 30px; }
.pb20 { padding-bottom: 20px; }
.pb10 { padding-bottom: 10px; }

.p2525 {
    padding: 25px;
}
.p2020 {
    padding: 20px;
}
.p1515 {
    padding: 15px;
}
.p5vw {
    padding: 5vw 0;
}
.p5vwi {
    padding: 5vw 2vw;
}
.p5vw2vw {
    padding: 5vw 2vw;
}
.mauto { margin-left: auto; margin-right: auto;}


p.crc {
    font-size: 15px;
	color: #ccc;
    padding: 5px 15px;
    text-align: right;
}
p.crc img {
	width: 150px;
}


/*------------------------------------*\
    Media Queries
\*------------------------------------*/

@media only screen and (min-width: 801px) {

.mobile {
	display:none;	
}
}


@media only screen and (max-width: 800px) {

	.wrapper.slideheader .buttonspot {
    position: relative;
}
	
	.mobile {
	display:inline;	
}
	
	.nomobile {
	display: none !important;
}
	
div.mobileimg {
    min-height: 250px;
    display: block !important;
}

	
a.col33.ctr {
		display: block;
	}	
	
.flexcontent {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block;
    flex-direction: none;
}

.flexcol35, .flexcol40, .flexcol45, .flexcol50, .flexcol55, .flexcol60 {
	width: 100%;
	box-sizing: border-box;
}


.flexcol1 {
	width: 100%;
	height: 25vh;
}

.flexcol2 {
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}	
	
.flexcolhalf {
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}	
.flexcolhalf.mapbg {
    height: 30vh;
    display: block;
}




.col20, .col25, .col30, .col33, .col34, .col35, .col40, .col45, .col50, .col55, .col60, .col65, .col70, .col75, .col80, .col85, .col90, .col95 {
	width: 100%;
	margin: 0 auto;
	}

.col-left {
	float: none;
}

.col-right {
	float: none;
}
}



@media only screen and (max-width: 700px) {

.grid {
    display: block !important;

}
}

@media only screen and (max-width: 600px) {
	#topbar .contact.email span {
    display: none;
}
	.content {
    width: 90%;
}
}

@media only screen and (max-width: 480px) {

	a.button {
	margin: 5px 3%;
    width: 94%;
	display: block;
	padding: 15px;
	font-size: 28px;
}
}
