 input::placeholder {
color: #ccc!important;
font-size: .8em;
}
input::-webkit-input-placeholder {
color: #ccc!important;
font-size: .8em;
}
input::-moz-placeholder {
color: #ccc!important;
font-size: .8em;
}
input:-ms-input-placeholder {
color: #ccc!important;
font-size: .8em;
}
input:-moz-placeholder {
color: #ccc!important;
font-size: .8em;
}
input::-moz-focus-inner {
border:0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
/*---------------------------------
	OVERRIDES
-----------------------------------*/
#content * { -webkit-animation: fadein 2s; -moz-animation: fadein 2s; -ms-animation: fadein 2s; -o-animation: fadein 2s; animation: fadein 2s; }
 @keyframes fadein { from {
opacity: .0;
}
to { opacity: 1; }
}
@-moz-keyframes fadein { from {
opacity: 0;
}
to { opacity: 1; }
}
@-webkit-keyframes fadein { from {
opacity: .0;
}
to { opacity: 1; }
}
@-ms-keyframes fadein { from {
opacity: 0;
}
to { opacity: 1; }
}
@-o-keyframes fadein { from {
opacity: 0;
}
to { opacity: 1; }
}

#homeVidWrap { position: relative; /*  width: 100%;*/
height: 80vh; overflow: hidden; display: flex; justify-content: center; align-items: center; }
#flagVideo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; /* Acts like background-size: cover */ z-index: 0; }
.video-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4);   z-index: 1;  }
.video-content { color: #ffffff; text-shadow: 0px 0px 14px rgba(0,0,0,1); text-align: center; z-index: 2; }


.grid { width: 100%; max-width: 1220px; margin: 0 auto; padding: 0 0em; }
body.News .grid { width: 100%; max-width: 900px; margin: 0 auto; padding: 0 0em; }
.grid.flex { width: 100%; max-width: 100%; padding: 0 2%; padding: 2em; }
.flex { display: flex; }
.flexgapcolumn30 { column-gap: 30px; }
.flexgaprow30 { row-gap: 30px; }
ul.flex { margin: 0; justify-content: center;}
div.row { display: block; overflow: hidden; clear: both; }
form div.row { padding-bottom: 24px; }
.flexColumn { flex-direction: column; }
.flexWrap { flex-wrap: wrap; }
.flex30 { flex: 0 0 30%; }
.flex70 { flex: 0 0 70%; }
.flex40 { flex: 0 0 40%; }
.flex50 { flex: 0 0 50%; max-width: 50%; }
flex60 { flex: 0 0 60%; }
section.flexgapcolumn30 article.flex50 { flex: 0 0 calc( 50% - 30px); max-width: 50%; }
section.row { display: flex; overflow: hidden; clear: both; max-width: 100%; }
*[class*="col_"].alpha { margin-left: 0; }
*[class*="col_"].omega { margin-right: 0; }
.col_1 { width: 6.6666666666667%; }
.col_2 { width: 15%; }
.col_3 { width: 23.333333333333%; }
.col_4 { width: 31.666666666667%; }
.col_5 { width: 40%; }
.col_6 { width: 48.333333333333%; }
.col_7 { width: 56.666666666667%; }
.col_8 { width: 65%; }
.col_9 { width: 73.333333333333%; }
.col_10 { width: 81.666666666667%; }
.col_11 { width: 90%; }
.col_12 { width: 98.333333333333%; }
*[class*="col_"] { margin-left: 0.83333333333333%; margin-right: 0.83333333333333%; margin-top: 0.5em; margin-bottom: 0.5em; float: left; display: block; }
.grid img, img { max-width: 100%; height: auto; }
.clear { clear: both; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0 }
.clearfix:after { clear: both; content: ' '; display: block; font-size: 0; line-height: 0; visibility: hidden; width: 0; height: 0 }
* html .clearfix, *:first-child+html .clearfix { zoom: 1 }
/* Viewable Grids 
	To view your grids, add the class .visible to any grid container.
	This will add a background color so you can see the layout of your grids. 
*/
*[class*="col_"].visible { background: #eee; border: 1px dotted #ccc; }


/*---------------------------------
	Responsive Grid Media Queries - 1280, 1024, 768, 480
	1280-1024 	- desktop (default grid)
	1024-768 	- tablet landscape
	768-480 	- tablet 
	480-less 	- phone landscape & smaller
 and (max-width: 1280px) 
-----------------------------------*/
@media all and (min-width: 1024px){
.grid *[class*="col_"] { }
.grid { max-width: 1024px; }
.show-desktop { display: initial; }
.hide-desktop { display: none; }
.show-tablet { display: none; }
.hide-tablet { display: initial; }
.show-phone { display: none; }
.hide-phone { display: initial; }
}
 @media all and (min-width: 768px) and (max-width: 1024px) {
.grid *[class*="col_"] { }
.grid { max-width: 768px; }
.show-desktop { display: none; }
.hide-desktop { display: initial; }
.show-tablet { display: initial; }
.hide-tablet { display: none; }
.show-phone { display: none; }
.hide-phone { display: initial; }
}
 @media all and (min-width: 480px) and (max-width: 768px) {
*[class*="col_"] { float: none; /*width: auto; */clear: both; display: block; }
/* columns inside of columns */
*[class*="col_"] [class*="col_"] { margin-left: 0; margin-right: 0; width: 100%; }
.grid { max-width: 480px; }
.show-desktop { display: none; }
.hide-desktop { display: initial; }
.show-tablet { display: initial; }
.hide-tablet { display: none; }
.show-phone { display: none; }
.hide-phone { display: initial; }
}
 @media all and (max-width: 480px) {
*[class*="col_"] { float: none; width: auto; clear: both; display: block; }
/* columns inside of columns */
*[class*="col_"] [class*="col_"] { margin-left: 0; margin-right: 0; width: 100%; }
.grid { max-width: 100%;/*320*/ }
.show-desktop { display: none; }
.hide-desktop { display: initial; }
.show-tablet { display: none; }
.hide-tablet { display: initial; }
.show-phone { display: initial; }
.hide-phone { display: none; }
}
/*---------------------------------
	LAYOUT
-----------------------------------*/
* { box-sizing: border-box; }
html, body { position: relative; overflow-x: hidden; }
body { margin: 0; padding: 0; color: #000; font: normal 18px/140% "Open San", arial, verdana, sans-serif; text-shadow: 0px 0px 1px transparent; display: flex; flex-direction: column; }
header { min-height: 86px; min-width: 100%; ; padding-top: 0px; ; position: fixed; background: #fff; top: 0; z-index: 99; border-bottom: 1px #ccc solid; }
#bannerTag { text-shadow: 0 0 12px #000; font-size: 20px; }
#big_banner { background-color: #426591; background-blend-mode: multiply; background-size: cover; min-height: 300px; background-position: center; color: #fff; padding: 5%; Xbackground-attachment: fixed; }
#logo { margin: 10px 20px 0px 16px; height: 64px; }
.head_nav { margin: 60px 0 0px -4px; border-bottom: 4px solid #2a3386; }
#topMenu { position: absolute; top: 20px; right: 0; width: auto; z-index: 999; }
#topMenu ul ul { top: 72px; background: rgba(50,50,50,.98); }
#topMenu ul ul ul { top: 0px; background: rgba(50,50,50,.98); }
#topMenu ul ul.fullWidthContainer { background-color: rgba(10,10,10,.990); position: fixed; width: 100%; box-sizing: border-box; top: 72px; padding: 1em 4em 10vh; border-bottom: 6px solid var(--yellow); height: auto; max-height: calc( 100vh - 72px); }
#topMenu ul ul.fullWidth { position: relative; left: 0; border: none; top: 0; box-shadow: none; column-count: 2; column-break-inside: avoid; display: block !important; background-color: transparent; }
#topMenu ul li a { color: #111; text-decoration: none; }
#topMenu ul li.last a { border-right: 0px dotted var(--yellow); }
#topMenu ul li a:hover, #topMenu ul li a ul:hover { color: #111; background: none; text-shadow: none; }
#topMenu ul li ul li a:hover { color: var(--yellow)!important; background: none; text-shadow: none; }
#topMenu ul ul li a { padding:16px; display: block; width: auto; color: #fff; text-decoration: none; border: none; border-bottom: 1px dashed #777; box-sizing: border-box; font-size: 1.1rem; }
#topMenu .secondMenu { border-left: 1px dotted var(--yellow); box-sizing: border-box; padding: 0 12px; }
#topMenu .secondMenu p { font-size: 0.8em; line-height: 120%; }
/*#topMenu .secondMenu a:hover { background: var(--yellow); }*/
#topMenu ul li.last a.button.contact { color: #fff; background-color: var(--black); border-radius: 40px; margin-right: 22px; margin-left: 40px; }
.mainMenuTag { font-size: 1.25em; line-height: 1.2em; margin-left: 12px; color: var(--yellow); xxxxpointer-events: none; }
footer { display: flex; flex-direction: column; position: relative; width: 100%; left: 0; bottom: 0; min-height: 6em; padding: 1em; background: #000; }
footer * { color: #fff; text-decoration: none; }
footer li { padding: 0; }
footer li a { display: block; width: 100%; font-size: 16px; line-height: 200%; }
.footerContact { margin-bottom: 60px; }
#assoclogos { margin: 40px 0 30px; }
#assoclogos img { max-height: 60px; display: inline-block; width: auto; margin: 8px; vertical-align: middle; }
footer h5 { font-size: 1.2em; font-weight: lighter; margin: 10px 0 10px 0; }
footer ul { margin-left: .5em; }
main { margin: 0; top: 76px; display: flex; position: relative; flex-direction: column; min-height: calc(100vh - 6em); width: 100%;/* height: 100%; */ background: #fff; }
#content { padding: 0px; ; height: 100%; }
#big-banner { padding: 6vw 4vw; background-color: var(--black); color: #fff; }
#big-banner a.button { margin-top: 20px; }
#banner-group { }
.halfpage { width: 50%; float: left; }
.halfpagePadded { padding: 5%; }
.halfpagePaddedW { padding-left: 5%; padding-right: 5%; }
/*---------------------------------
	MENU LAYOUT
-----------------------------------*/
.menu { margin: 0; padding: 0; line-height: 100%; font-size: 0; position: relative; z-index: 1000; }
.menu:after { clear: both; content: ' '; display: block; font-size: 0; line-height: 0; visibility: hidden; width: 0; height: 0 }
.menu li { margin: 0; padding: 0; list-style-type: none; display: inline-block; *display:inline;
position: relative; zoom: 1; line-height: inherit; top: 0; left: 0; font-size: 16px; }
.menu li a { margin: 0; padding: 0; display: block; display: inline; display: inline-block; position: relative; zoom: 1; line-height: 100%; top: 0; left: 0; }
/*--------------Sub Menus-------------------*/
	/*.menu li:hover > ul{display:block;}*/
.menu ul { margin: 0; padding: 0; position: absolute; top: 100%; left: 0; display: none; min-width: 150px; max-width: 250%; *width:150px;
}
.menu ul li { display: block; width: 100%; }
.menu ul li a { display: block; }
.menu ul ul { top: 0; left: 100%; }
/*--------------Dividers-------------------*/
.menu ul li.divider { border-top: 1px solid #ccc; }
.menu ul li.divider a { border-top: 1px solid #fff; }
/*--------------Right---------------------*/
.menu li.right { float: right; }
/*--------------Arrows-------------------*/
.menu li.has-menu a { padding-right: 25px; }
.menu li.has-menu span.arrow { border-style: solid; border-width: 5px; display: block; position: absolute; top: 50%; right: 5px; font-size: 0; line-height: 0; height: 0; width: 0; }
.menu li li.has-menu span.arrow { margin-top: -4px; }
.menu { z-index: 9; }
.menu li { }
.menu li a { padding: 15px 20px; text-decoration: none; font-size: 1em; color: #000; }
.menu li.current>a, .menu li.current>a:hover, .menu li.current.hover>a { background: rgb(122,188,255); cursor: default; }
.menu li a:hover, .menu li.hover>a { /*background: #000; color:#fff; */ }
/* sub menus */
.menu ul { background: #111; color: #fff; }
.menu ul li { }
.menu ul li a { color: #fff; }
/* sub-sub menus */
.menu ul ul { }
.menu ul ul li { }
.menu ul ul li a { }
/* arrows */
.menu li.has-menu span.arrow { border-color-top: #ccc; border-color: #ccc transparent transparent transparent; }
.menu li li.has-menu span.arrow, .menu.vertical li.has-menu span.arrow { border-color-left: #ccc; border-color: transparent transparent transparent #ccc; }
.menu.vertical.right li.has-menu span.arrow { border-color-right: #ccc; border-color: transparent #ccc transparent transparent; }
.menu ul li.divider { border-top: 1px solid #ccc; }
.menu ul li.divider a { border-top: 1px solid #fff; }
/*---------------------------------
	RESPONSIVE MENU STYLES
-----------------------------------*/

ul.menu li.menu-toggle { display: none; }
 @media all and (max-width: 768px) {
.menu li, .menu.vertical li, .menu.vertical.right li { display: none; }
#topMenu {}
.menu li.menu-toggle, .menu.vertical li.menu-toggle, .menu.vertical.right li.menu-toggle, ul.menu li.menu-toggle { display: block; text-align: right; }
.menu:hover li, .menu.vertical:hover li, .menu.vertical.right:hover li { display: block; width:100vw; }
/* arrows */
.menu li.has-menu span.arrow, .menu.vertical li.has-menu span.arrow, .menu.vertical.right li.has-menu span.arrow, .menu li li.has-menu span.arrow, .menu.vertical li.has-menu span.arrow { border-color-top: #ccc; border-color: #ccc transparent transparent transparent; }
.menu.vertical.right li.has-menu span.arrow { right: 5px; left: auto; }
.menu li a { display: block; }
.menu ul, .menu ul ul, .menu.vertical ul, .menu.vertical.right ul { position: relative; top: 0; left: 0; margin: 10px; width: 100vw; }
ul.menu { background: #fff; width : 100%;padding-bottom: 12px; }

#topMenu ul ul.fullWidthContainer {   z-index: 9;/* top:0;*/ left:-10px; max-height:auto;padding: 1em 10px 10px; max-height: 85vh;
overflow: scroll;}
#topMenu ul ul.fullWidth { 
    column-count:1;
}
.mainMenuTag {
    font-size: 1.0em;}
}
/*---------------------------------
	HEADINGS
-----------------------------------*/
h1, h2, h3, h4, h5, h6 { line-height: 110%; }
h1 { font-size: 2.6em; margin: 10px 0 10px 0; }
h1.sloganbold { margin: 10px 0 30px 0 }
h2 { font-size: 2.0em; margin: 10px 0 10px 0; }
h3 { font-size: 1.6em; margin: 10px 0 10px 0; }
h4 { font-size: 1.2em; margin: 10px 0 10px 0; }
h5 { font-size: 1.1em; margin: 10px 0 10px 0; }
h6 { font-size: 1.1em; margin: 10px 0 5px 0; }
/*---------------------------------
	HTML STYLES
-----------------------------------*/
p { margin: 10px 0; }
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
a { color: #4D99E0; outline: 0; }
a:active { color: inherit; }
.breadcrumbs a { color: white; text-decoration: none; }
.breadcrumbs a:hover { color: white; text-decoration: underline; }
a:visited { }
a:hover { }
a img { border: 0; }
a [class^="icon-"] { color: inherit; text-decoration: none; }
strong, b { font-weight: bold; }
strike { }
em, i { }
.hide { display: none; }
.show { display: block; }
/*---------------------------------
	UTILITY
-----------------------------------*/
.center { text-align: center; }
.centerV { align-content: center; }
.left { text-align: left; }
.right { text-align: right; }
/*---------------------------------
	HR
-----------------------------------*/
hr { clear: both; border-bottom: 0; border-top: 1px dotted #ccc; border-right: 0; border-left: 0; margin: 30px 0; min-height: 0; height: 1px; }
hr.alt1 { border-style: solid; }
hr.alt2 { border-style: dashed; }
/*---------------------------------
	IMAGES
-----------------------------------*/
img { margin: 0; padding: 0; display: inline-block; position: relative; zoom: 1; vertical-align: bottom; }
img.align-left, .img-wrap.align-left { float: left; margin: 0 10px 5px 0; }
img.align-right, .img-wrap.align-right { float: right; margin: 0 0 5px 10px; }
img.full-width { clear: both; display: block; width: 100%; height: auto; margin: 0 0 10px 0; }
div.caption { background: #f5f5f5; border: 1px solid #ddd; padding: 3px; max-width: 100%; display: inline-block; height: auto; }
div.caption img { display: block; padding: 0; margin: 0; width: 100%; height: auto; }
div.caption span { display: block; margin-top: 3px; font-size: 0.8em; color: #666; padding: 0px 5px; }
.gallery { }
.gallery a { display: inline-block; position: relative; border: 1px solid #ddd; background: #fff; padding: 3px; margin: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }
.gallery a img { display: block; position: relative; margin: 0; padding: 0; }
/*---------------------------------
 MISC OBJ 
	-----------------------------------*/
.ittybitty { font-size: smaller; text-transform: uppercase; }
.padW {
padding-left: calc( var(--spacing-unit) * 10);
padding-right: calc( var(--spacing-unit) * 10); max-width: 100%; }
.padV { padding-top: calc( var(--spacing-unit) * 10);
padding-bottom: calc( var(--spacing-unit) * 10);
}
.cta { padding: 4em 10% 8em; background: var(--primary-color); max-width: 100vw }
.finalCTA { background-blend-mode: normal; background-size: contain; background-repeat: no-repeat; background-position: 90%; }
.theFlypaper { font-size: 1.99em; color: #fff; line-height: 120%;width: 60% }
.theFly { font-size: 1.09em; color: #fff; margin-top: 1.2em; margin-bottom: 1.2em; line-height: 120%; width: 60% }
.box { padding: 16px; border-radius: 12px; border: 4px solid #999; box-shadow: 0 0 8px #999; }
.halo { box-shadow: 0 0 8px rgba(0,0,0,.9) }
.scrollTo { cursor: pointer; opacity: .5; }
.scrollTo:hover { opacity: 1; }
.clickme { position: fixed; z-index: 20; bottom: 260px; right: -38px; opacity: .3; }
.clickme:hover { opacity: 1 }
#arrowup { width: 32px; }
.newsBlocks { padding: 0.50em 0.5em;}
.newsBlocks a{ text-decoration:none;}.newsBlocks a:hover{ text-decoration:underline;;}
.newsBlocks a.newslinks small {color: #000;   }


/* transition  */
.scrollTo, .clickme { transition: all 0.5s ease; }
/* bars  */
.bar { width: 100%; padding: 1.5em .5em; margin: 1em 0; }
.blueBar { background: #0D1775; color: #fff; }
.blackBar { padding: .5em; }
.blackBG { color: #fff; background: #323C45; }
.redBar { padding: .5em; color: #fff; background: #900; }
.redText { color: #900; }
.yellowText { color: var(--yellow); }
.biggerText { font-size: 1.2em; line-height: 130%; }
.bigText { font-size: 1.5em; line-height: 130%; }
.largeText { font-size: 2.2em; line-height: 110%; }
.bigBox { padding: 2em; }
.bigBoxGrey { padding: 2em; background: #777; color: #fff; }
.bgGrey { background-color: var(--silver); }
.orangeBG, #big_banner.orangeBG { background-color: var(--orange); }
.greenBG, #big_banner.greenBG { background-color: var(--midGreen); }
#big_banner.orangeBG a.button.orange { background-color: var(--black); }
.gridBG { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAHlBMVEUAAABkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGSH0mEbAAAACnRSTlMAzDPDPPPYnGMw2CgMzQAAAChJREFUKM9jgAPOAgZMwGIwKkhXQSUY0BCCMxkEYUAsEM4cjI4fwYIAf2QMNbUsZjcAAAAASUVORK5CYII=); background-size: 15px; }
/* other  */
.breakout { margin: 2em calc(50% - 50vw); overflow: auto; }
body.Home .breakout { margin: 0em calc(50% - 50vw); overflow: auto; }
/*  Footer Nav */
footer ul { list-style: none; }
footer ul.menus li { list-style: none; margin: 0; padding: 0; display: block; }
footer ul.menus li.listTitle { font-size: 1.6em; color: #7B8195; text-transform: uppercase; margin-bottom: .5em; }
footer a { color: #999; }
footer ul.menus a { color: #999; font-size: 1.0em; margin: 0; display: inline-block; line-height: 100%; width: 100%; }
footer ul.menus a:hover, footer a:hover { color: #fff; }
 @media all and (min-width: 1800px) {

body { font-size: 36px; }
}
 @media all and (min-width: 768px) and (max-width: 1023px) {
.flex30, .flex70, .flex40, .flex50, .flex60 { flex: 0 0 47%; }
.padW {
 padding-left: calc(var(--spacing-unit) * 6);
 padding-right: calc(var(--spacing-unit) *6); max-width: 100%; }
.halfpage { width: 50%; /*float: none;*/ }
.finalCTA { background-position: 130%; }
.card22{height: 480px!important; }
footer a {   color: #fff;}
}
 
 @media screen and (min-width: 768px) and (max-width: 1023px)  and (orientation: portrait) {
#homeVidWrap { height: 40vh !important; }
.card22{height: 500px!important; }
}

 @media all and (min-width: 480px) and (max-width: 768px) {
.halfpage { width: 100%; float: none; }#homeVidWrap { height: 60vh; } section.row {    flex-direction: column;}
.flex30, .flex70, .flex40, .flex50, .flex60 { flex: 0 0 100%; }
.padW {
 padding-left: calc(var(--spacing-unit) * 5);
 padding-right: calc(var(--spacing-unit) * 5); max-width: 100%; }
.finalCTA { background-position: 40vw; }
footer a {   color: #fff;}
}
 @media all and (max-width: 480px) {
.finalCTA { background-image: none!important; }#homeVidWrap { height: 60vh; }
.halfpage { width: 100%; float: none; }
.flex30, .flex70, .flex40, .flex50, .flex60 { flex: 0 0 100%; }
.padW {
 padding-left: calc(var(--spacing-unit) * 3);
 padding-right: calc(var(--spacing-unit) * 3); max-width: 100%; }
.theFly, .theFlypaper { width: 100%; line-height: 110%; }
section.flexgapcolumn30 article.flex50 {
    flex: 0 0 calc(50% - 30px);
    max-width: 100%;
}
select {
  width: 100%;
  box-sizing: border-box;
}
option {font-size: 14px;}
.fancybox-content { padding: 5vw; }
section.row {     flex-direction: column;}
menu.cardWrap ul.flex { display: block; }
.order2{ order:2;}.order1{ order:1;}
footer a {   color: #fff;}

}
 @media only screen and (-webkit-min-device-pixel-ratio: 1.3), @media (-webkit-min-device-pixel-ratio: 1.3), (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 13/10), (min-device-pixel-ratio: 1.3), (min-resolution: 2dppx), (min-resolution: 120dpi) {
}
@media (prefers-reduced-motion) {
.scrollTo, .clickme, a, input[ type="submit"] { transition: none; }
}
