/*!

bootstrap ref
sm 576
md  768
lg  992
xl  1200

*/

@font-face {
    font-family: 'DroidSerif';
    src: url('DroidSerif-Regular-webfont.eot');
    src: url('DroidSerif-Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('DroidSerif-Regular-webfont.woff2') format('woff2'),
         url('DroidSerif-Regular-webfont.woff') format('woff'),
         url('DroidSerif-Regular-webfont.ttf') format('truetype'),
         url('DroidSerif-Regular-webfont.svg#droid_serifregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'DroidSerifBold';
    src: url('DroidSerif-Bold-webfont.eot');
    src: url('DroidSerif-Bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('DroidSerif-Bold-webfont.woff2') format('woff2'),
         url('DroidSerif-Bold-webfont.woff') format('woff'),
         url('DroidSerif-Bold-webfont.ttf') format('truetype'),
         url('DroidSerif-Bold-webfont.svg#droid_serifregular') format('svg');
    font-weight: normal;
    font-style: normal;
}


html {
  scroll-behavior: smooth;
}

body {
	font-family:'Poppins',Helvetica,Arial;

	background:#ffffff;
	color:#242A35;

    font-size: 1.1rem;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

*::-webkit-media-controls-panel
{
  display: none!important;
  -webkit-appearance: none;
}

*::--webkit-media-controls-play-button
{
  display: none!important;
  -webkit-appearance: none;
}

*::-webkit-media-controls-start-playback-button
{
  display: none!important;
  -webkit-appearance: none;
}

.clear
{
	clear:both;
}

img
{
	max-width:100%;
	height:auto;
}

a
{
	color:#394da1;
	text-decoration:none;
}

a:hover
{
	color:#010101;
	text-decoration:none;
}

#main
{
	margin-top:0;
/*
	padding-bottom:24px;
*/
}

/*
.page-template-page-flexible #main,
*/
.home #main
{
	margin-top:0px;
}

.home #main,
.page-id-1442 #main
{
	padding-bottom:0px;
}

.anchor
{
    display: block;
    position: relative;
    top: -200px;
    visibility: hidden;
}

section
{
	margin:48px auto;
}

.blue
{
	color:#027ec7;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1, .h2, .h3, .h4, .h5, .h6
{
	font-family: 'DroidSerif',sans-serif;
	margin:0rem auto 1rem;
	line-height:1.11;
	padding:0;
	font-weight:regular;
	letter-spacing: -0.02em;
	color:#010101;
}

h1, .h1
{
	font-family: 'DroidSerif',sans-serif;
	font-size:2.4rem;
	text-transform:none;
	margin:0 auto 24px;
	letter-spacing:0px;
	color:#394da1;
}

h2, .h2
{
	font-family: 'DroidSerif',sans-serif;

	font-size:2.1rem;
	margin:0rem auto 1.2rem;
	color:#010101;
}

h1 ~ h2
{
	margin-top:0;
}

h3, .h3
{
	font-size:1.8rem;
}

h4, .h4
{
	font-size:1.5rem;
	color:#010101;
}

h5, .h5,
h6, .h6
{
	font-size:1.24rem;
	line-height:1;
}

.section-title-styled
{
	position:relative;
}

.section-title-styled:after
{
    content: "";
    width: 200px;
    margin-left: -100px;
    left: 50%;
    bottom: 0px;
    position: absolute;
    border-bottom: 3px solid #CCCCCC;
}

#accordionFAQ .card-header
{
	background:transparent;
	color:#394da1;
}

#accordionFAQ h6 a
{
	color:#394da1;

}

p+h2,
p+h3,
p+h4,
ul+h2,
ul+h3,
ul+h4
{
	margin-top:2.4rem;
}

/*--------------------------------------------------------------
# Misc
--------------------------------------------------------------*/

.container
{
	width:90%;
	max-width:1200px;
}

.container-fluid .container:first-child
{
	padding-left:0;
	padding-right:0;
}

.align-container-left
{
	/*
	margin-left: calc(50% - 100px);
	*/
	margin-left: 5vw;
}

.align-container-right
{
	/*
	margin-left: calc(50% - 100px);
	*/
	margin-right: 5vw;
}

.light-shade
{
	background:#f0eeee;
}

.dark-shade
{
	background:#000001;
	color:#ffffff;
}

.cblock-dark
{
	display:inline-block;
	background:rgba(0,0,0,.2);
	padding:44px;
	color:#ffffff;
}

.cblock-white
{
	display:inline-block;
	background:rgba(255,255,255,1.0);
	padding:44px;
	color:#394da1;
}

.dark-shade h2,
.dark-shade h3,
.dark-shade h4,
.dark-shade .h2,
.dark-shade .h3,
.dark-shade .h4,
.dark-shade-alt h2,
.dark-shade-alt h3,
.dark-shade-alt h4,
.dark-shade-alt .h2,
.dark-shade-alt .h3,
.dark-shade-alt .h4,
.font-on-dark h2,
.font-on-dark h3,
.font-on-dark h4,
.font-on-dark .h2,
.font-on-dark .h3,
.font-on-dark .h4,

.cblock-dark,
.cblock-dark h1,
.cblock-dark h2,
.cblock-dark h3,
.cblock-dark h4
{
	color:#ffffff;
}

.bg
{
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	width:100%;
	height:auto;
	padding:20% 0;
	position:fixed;
	z-index:-9;
}

.panel_with_bg
{
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	min-height:44vw;
	padding:24px 0;
}

/* bootstrap large */
@media only screen and (max-width: 992px)
{
	.bg
	{
		padding:30% 0;
	}
}

/* bootstrap medium */
@media only screen and (max-width: 768px)
{
	.bg
	{
		padding:60% 0;
	}
}

/* bootstrap small */
@media only screen and (max-width: 576px)
{
	.bg
	{
		padding:78% 0;
	}

	.panel_with_bg
	{
		min-height:99vw;
		padding:24px 0;
	}

}

/*--------------------------------------------------------------
# Optional Page Header space
--------------------------------------------------------------*/
.inner-header
{
	background:#ffffff;
	border-bottom:1px solid #d1d5db;
}

.inner-header .words
{
	background-image: url(images/bg-top-left-arc.png?x=9), url(images/bg-bottom-right-arc.png?x=9);
	background-position: left top, right bottom;
	background-repeat: no-repeat, no-repeat;
}

.inner-header h1
{
}

.inner-header .side img
{
	position: relative;
	display: block;
	width: 100%;
	min-height: 100%;
	opacity: 1.0;

	aspect-ratio:4/3;
	object-fit:cover;

}

.btn, .container-fluid, .entry-img, .navbar, .overlay, .wpcf7 input[type=submit], a, img {
    transition: all .5s ease-in-out 0s;
}

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/
input[type="submit" i],
.btn,
.gform_wrapper.gravity-theme .gform_footer button,
.gform_wrapper.gravity-theme .gform_footer input,
.gform_wrapper.gravity-theme .gform_page_footer button,
.gform_wrapper.gravity-theme .gform_page_footer input
{
	font-size:0.9rem;
	text-transform:uppercase;
	font-weight:regular;
	margin-bottom:14px;
	line-height:1;
	padding: 0.84rem 0.8rem 0.84rem;
	border-radius:0px;
    border-width: 0px;
    border-color:#394da1;
    border-style: inset;
	cursor:pointer;

    color: #ffffff !important;
    background: #394da1 !important;

}

input[type="submit" i]:hover,
.btn:hover,
.gform_wrapper.gravity-theme .gform_footer button:hover,
.gform_wrapper.gravity-theme .gform_footer input:hover,
.gform_wrapper.gravity-theme .gform_page_footer button:hover,
.gform_wrapper.gravity-theme .gform_page_footer input:hover
{
    color: #ffffff !important;
    background: #010101 !important;
}


/*--------------------------------------------------------------
# Site Header
--------------------------------------------------------------*/

header.site-header
{
/*
	position: fixed;
    right: 0;
    left: 0;
    top:0;
    height:108px;
    z-index: 200;
*/
	background:#010101;
	color:#ffffff;
	border-bottom:0px solid #d1d5db;
	margin-bottom:32px;
}

.home header.site-header
{
	margin-bottom:4px;
}

.site-title
{
	font-family:'Poppins';
	text-transform:none;
	font-weight:600;
	font-size:1.7rem;
	line-height:1.1;
	margin:5px auto 0;
}

.site-title img
{
	width:800px;
	max-width:100%;
}

.site-header a
{
	color:#ffffff;
}

.page_with_bg .site-header a,
.page_with_bg header.site-header
{
	color:#ffffff;
}


.header-strip
{
/*
    background-color: #f7f6f9;
    border-bottom: 1px solid #d8d1e3;
*/
    position: relative;
	font-size:0.9rem;
}

.navtabs
{
    list-style: none;
    list-style-type: none;
    margin: 3px 0 0 0;
    padding: 0;
}

.navtabs li a
{
    color: #394da1;
    font-weight: 700;
    margin-top: 6px;
    padding: 15px 15px 3px;
    line-height:36px;
    transition: text-decoration-color .2s ease,color .2s ease;
    text-decoration: underline;
    text-decoration-color: rgba(0,0,0,0);
    position: relative;
    z-index: 2;

    white-space:nowrap;
}

/* background tab shape - no opacity when not active */
.navtabs li a:after {
    content: "";
    position: absolute;
    background-color: #fff;
    width: 100%;
    height: 100%;
    right: 0;
    top: 6px;
    border-radius: 5px 5px 0 0;
    border: 1px solid #d8d1e3;
    border-bottom: none;
    opacity: 0;
    z-index: -1;
}

.navtabs li a.active:after {
    opacity: 1;
}

.site-header .cta a,
.cta-button a
{
	font-size:0.9rem;
	text-transform:uppercase;
	font-weight:bold;

	color:#ffffff !important;
	background:#394da1 !important;
	display:inline-block;
	line-height:1.92 !important;
	padding: 0rem 0.8rem 0rem !important;
	display:inline-block !important;
}

.site-header .cta a:hover,
.cta-button a:hover
{
	background:#010101 !important;
	color:#ffffff !important;
}


/*
ctabtn - style in mega menu settings
*/

.phone
{
	white-space:nowrap;
}
.instrux
{
    border-bottom: 1px solid #394da1;
    padding: 0 0px 8px 0;
	color:#394da1;
    font-size:18px;
    font-weight:600;
}

/*--------------------------------------------------------------
# Reviews
--------------------------------------------------------------*/
.reviewblock,
.reviews .card
{
	color:#242A35;
	background:#010101;
	padding:24px;
	margin:0 0 32px;
}

.review
{
	font-style:italic;
}

.review a,
.accordion .card-body a
{
	text-decoration:underline;
}

.review a:hover,
.accordion .card-body a:hover
{
	text-decoration:none;
}

.reviewer
{
	margin:18px 0 0 0;
	color:#394da1;
}

/*--------------------------------------------------------------
# Team
--------------------------------------------------------------*/
.team
{
}

.roundpic
{
	position: relative;
}

.roundpic::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.roundpic  img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	border-radius:50%;
}

.hair-hearts img
{
	width:100%;
	border-left:0px solid white;
}

.hair-hearts .col
{
	padding:0;
}

.hair-hearts img.noborder
{
	border-left:0;
}

/*--------------------------------------------------------------
# Animation Styling
--------------------------------------------------------------*/
.slide_right {right: -150px; position: relative; transition: .6s linear; -webkit-transition: .6s linear; opacity: 0; visibility: hidden;}
.slide_right.animate {right: 0; transition: .6s linear; -webkit-transition: .6s linear; opacity: 1; visibility: visible;}
.slide_left {left: -250px; position: relative; transition: .6s linear; -webkit-transition: .6s linear; opacity: 0; visibility: hidden;}
.slide_left.animate {left: 0; transition: .6s linear; -webkit-transition: .6s linear; opacity: 1; visibility: visible;}
.slide_top {top: -111px; position: relative; transition: .5s linear; -webkit-transition: .5s linear; opacity: 0;}
.slide_top.animate {top: 0; transition: .5s linear; -webkit-transition: .5s linear; opacity: 1;}
.slide_bottom {bottom: -60px; position: relative; transition: .5s linear; -webkit-transition: .5s linear; opacity: 0;}
.slide_bottom.animate {bottom: 0; transition: .5s linear; -webkit-transition: .5s linear; opacity: 1;}
.fade.animate {opacity: 1; transition: 1s linear; -webkit-transition: 1s linear;}
.zoom {transform: scale(.6); -webkit-transform: scale(.6);opacity: 0; transition: .6s linear; -webkit-transition: .6s linear;}
.zoom.animate {transform: scale(1); -webkit-transform: scale(1); opacity: 1; transition: .6s linear; -webkit-transition: .6s linear;}


/*--------------------------------------------------------------
# Cards
--------------------------------------------------------------*/
.card
{
	background:transparent;
	color:inherit;
	border:0;
	border-radius:0px;
}

.card-body
{
	padding:.4rem 1rem;
}

.wjgallery .card
{
	border:5px solid #ffffff;
}

.wjgallery .card-body
{
	padding:11px;
}

.reviews .card-body
{
	padding:1.4rem 1.74rem;
}

.card .card-title,
.card-title a,
.card-title a:hover
{
	color:#394da1;
	text-decoration:none;
}

.card .card-title
{
	padding:11px 0 9px;
}

.card .entry-meta
{
	margin:4px 0 14px;
}

h1.entry-title
{
	margin-top:0px;
}

.home h1.entry-title,
.page_with_bg h1.entry-title
{
	display:none;
}

/* image by text card */
.card.horizontal
{
	background:#ffffff;
	color:#1e1e1e;
	border:0;
}

.card-img-side
{
	min-width:100%;
	min-height:100%;
	width:auto;
	height:auto;
	object-fit: cover;
}

.withcolor .card img
{
	border-top-left-radius:12px;
	border-top-right-radius:12px;
}

.deck .card img
{
	border-bottom:1px solid #394da1;
}

.deck .card-footer
{
	padding: 0.24rem 0rem;
	background: transparent;
	border-top:0;
}

.card-img-top
{
	width: 100%;
	height: 22vw;
	object-fit: cover;
}

.card-img-overlay h1,
.card-img-overlay a
{
	color:#ffffff;
}

.single .post .post-thumbnail
{
	margin-bottom:24px;
}

.arc-top-left
{
	background-image: url(images/arc-top-left-choco.png?x=2);
	background-position: left top;
	background-repeat: no-repeat;
}

.arc-bottom-right
{
	background-image: url(images/bg-bottom-right-arc.png?x=1);
	background-position: right bottom;
	background-repeat: no-repeat;
}

.light-shade .arc-top-left
{
	background-image: url(images/dark-bg-top-left-arc.png?x=1);
	background-position: left top;
	background-repeat: no-repeat;
}

.light-shade .arc-bottom-right
{
	background-image: url(images/dark-bg-bottom-right-arc.png?x=1);
	background-position: right bottom;
	background-repeat: no-repeat;
}


/*
*
* ==========================================
* GRAVITY FORMS
* ==========================================
*
*/

.gform_wrapper.gravity-theme .gsection
{
    border-bottom: 1px solid #ccc;
    padding: 40px 16px 8px 0 !important;
}

.gform_wrapper.gravity-theme .field_sublabel_above .gfield_description,
.gform_wrapper.gravity-theme .field_sublabel_above .gsection_description
{
    margin-top: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 4px !important;
}

table.gpnf-nested-entries
{
	margin:0 0 8px;
}

button.gpnf-add-entry
{
	margin:0px 0 40px !important;

	padding: 0.24rem 0.8rem 0.24rem;
	line-height:1rem;
	border-radius:8px;
    border-color:#394da1;

    color: #ffffff !important;
    background: #394da1 !important;
}

button.gpnf-add-entry:hover
{
    background: #010101 !important;
    color: #ffffff !important;
}

.gptos_the_terms
{
	font-size:0.8rem;
}

/*
*
* ==========================================
* ACCORDION STUFF
* ==========================================
*
*/
/* Horizontal line */
.collapsible-link::before {
  content: '';
  width: 14px;
  height: 2px;
  background: #394da1;
  position: absolute;
  top: calc(50% - 1px);
  right: 1rem;
  display: block;
  transition: all 0.3s;
}

/* Vertical line */
.collapsible-link::after {
  content: '';
  width: 2px;
  height: 14px;
  background: #394da1;
  position: absolute;
  top: calc(50% - 7px);
  right: calc(1rem + 6px);
  display: block;
  transition: all 0.3s;
}

.collapsible-link[aria-expanded='true']::after {
  transform: rotate(90deg) translateX(-1px);
}

.collapsible-link[aria-expanded='true']::before {
  transform: rotate(180deg);
}

/*--------------------------------------------------------------
# Overlay / Popup
--------------------------------------------------------------*/
#overlay,
#overlay-content,
.modal {
    z-index: 9999999 !important;
}

.modal-dialog,
.modal-content
{
	z-index:99999;
}

.modal-dialog
{
	max-width: 80%;
}

@media (min-width: 1200px)
{
	.modal-dialog {
		max-width: 900px;
		margin: 1.75rem auto;
	}
}

#overlay {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.5);
  z-index: 2;
  cursor: pointer;
}

#overlay-content
{
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 18px;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	text-align:center;
	border:6px solid #f9d20c;
	border-radius:4px;
	background:#FFFFFF;
	color:#000000;
	width:98%;
	padding:40px 1%;
	max-width:640px;
}


/*--------------------------------------------------------------
# Tables
--------------------------------------------------------------*/

table, th, td {
  border: 0px solid #394da1;
}

table
{
	margin:0 0 24px;
}

th, td {
  padding: 11px;
  text-align: left;
}

th {
  background-color: #394da1;
  color: #394da1;
}

tr:nth-child(even)
{
	background-color: #f2f4f4;
}

/*--------------------------------------------------------------
# Bullets / list style
--------------------------------------------------------------*/
ul.nobullet
{
	padding:5px 0 0 0;
    list-style-type: none;
}

.styled-ul ul
{
	margin-top:14px;
}

#main ul li
{
	margin-bottom:14px;
}

ul.nobullet li
{
    list-style-type: none;
    display:block;
/*
	background:url(images/li-wings.png) no-repeat 2px 2px;
*/
	padding:0px 0 11px 0px;
	margin:0 0 14px 0;

}

.styled-ul li::marker
{
  content: url("data:image/svg+xml,%3Csvg width='16' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12.753 5.99999L10.273 8.29399C9.877 8.68399 9.877 9.31699 10.273 9.70799C10.668 10.098 11.31 10.098 11.705 9.70799L15.555 6.06099C15.843 5.77799 16 5.40299 16 4.99999C16 4.59999 15.842 4.22199 15.556 3.93999L11.706 0.292988C11.31 -0.0970117 10.668 -0.0970117 10.272 0.292988C9.877 0.682988 9.877 1.31599 10.272 1.70699L12.752 3.99999H1C0.447 3.99999 0 4.44599 0 4.99999C0 5.54999 0.448 5.99999 1 5.99999H12.753Z' fill='%237B61FF'/%3E%3C/svg%3E%0A");
}

.styled-ul li {
  padding-left: .5rem;
}

#main  .text-center ul
{
	list-style-position: inside;
	text-align: center;
}


.gallery figure
{
    margin: 0 1rem 1rem;
}

/*--------------------------------------------------------------
# Social Media
--------------------------------------------------------------*/
.social-icons
{
	margin: 0px auto 0px;
	padding: 0px 0 0 0;
	font-size:32px;
}


/*--------------------------------------------------------------
# Counters
--------------------------------------------------------------*/
.counter-wrapper
{
	border:0px solid #010101;
	border-radius:12px;
	padding:24px 11px;
}
.counter
{
    font-size: 3.2rem;
    font-weight:bold;
    background-color: #394da1;
    border-radius: 50%;
    position: relative;
    color: #ffffff;
    text-align: center;
    line-height: 144px;
    width: 144px;
    height: 144px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    display: inline-block;
}

.counters .col:nth-child(1) .counter
{
	background:#dedddd;
	color:#000000;
}

.counters .col:nth-child(2) .counter
{
	background:#d8ebf0;
	color:#000000;
}

.counters .col:nth-child(3) .counter
{
	background:#bfced2;
	color:#000000;
}

.counter-label
{
    color: #000000;
    font-size: 2rem;
    font-weight:600;
    text-transform:uppercase;
}

/*--------------------------------------------------------------
# ACF Map
--------------------------------------------------------------*/
.acf-map {
    width: 100%;
    height: 600px;
    border: #ccc solid 1px;
    margin: 0px 0;
}

// Fixes potential theme css conflict.
.acf-map img {
   max-width: inherit !important;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer-cards
{
	margin:64px 0 0;
}

.footer-cards .card-footer
{
	background:#e7dad2;
	color:#ffffff !important;
	font-size:1.35rem;
	line-height:1;
	text-decoration:none !important;
}

.footer-cards .card:hover .card-footer
{
	background:#045691;
}

.footer-area
{
    margin: 0px auto 0;

	line-height:1.44em;
	font-size:1.0rem;
	padding:24px 0 24px 0px;
	background:#394da1;
	color:#ffffff;
}

.footer-area h3,
.footer-area h4,
.footer-area h5
{
	color:#ffffff;
}

.footer-area ul {
	display: block;
	text-align:inherit;
	list-style: none;
	margin: 0 auto;
	padding-left: 0;
}

.footer-area .menu li {
	display:block;
	text-align:inherit;
	position: relative;
	padding:0 0px;
	margin:0 0 3px 0;
}

.footer-area .menu li .nav-link
{
	display:inline-block;
}

.footer-area .menu ul ul{
	margin-left:12px;
}

.footer-area .menu li li:before
{
	color:#394da1; /* set color to white */
	content:"\2022"; /* /2022 is the numerical unicode for &bull; */
	font-size:1em; /* set the font-size of the bullet if necessary. Make sure to use em or %*/
	padding-right:4px; /* give the bullet some padding from the text Make sure to use em*/
	position:relative;
	top:.1em; /* set the vertical position of the bullet if necessary. Make sure to use em or % */
	font-size:12px;
}

.footer-area a,
.footer-area .menu li a
{
	text-decoration:none;
	color:#ffffff;
}

.footer-area a:hover,
.footer-area .menu li a:hover,
.footer-area .nav-link:hover
{
	color:#010101;
}

.footer-area .social-icons a
{
	color:#010101;
}

.footer-area .social-icons a:hover
{
	color:#ffffff;
}

.footer-area .nav-link,
.footer-copyright .nav-link
{
    padding: 0rem 1rem 0.5rem;
}

.footer-copyright {
	padding:11px 0 20px;
	line-height: 18px;
	font-size:0.9rem;
	color: #1e1e1e;
	background-color: #010101;
	margin:0 0;
}

.footer-copyright a
{
	color:#394da1;
}

.footer-copyright a:hover
{
	color:#1e1e1e;
}

.footer-copyright ul
{
	display: block;
	text-align:inherit;
	list-style: none;
	margin: 0px auto;
	padding-left: 0;
}

.footer-copyright .menu li {
	display:inline-block;
	text-align:inherit;
	position: relative;
	padding:0 0px;
	margin:0 0 0px 0;
}

.footer-copyright .logos
{
	text-align:inherit;
	margin-bottom:14px;
}


/*
*  responsive embeds
*/
.embed-responsive,
iframe
{
	max-width:800px;
	text-align:center;
	margin:0 auto;
}

.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	overflow: hidden;
	max-width: 100%;
	height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.smaller
{
	font-size:84%;
}

a.standout
{
	text-decoration:underline;
}

a.standout:hover
{
	text-decoration:none;
}

.accent
{
	color:#394da1;
}

/* bootstrap xl */
@media only screen and (max-width: 1200px)
{
	.container
	{
	/*
		max-width: 95%;
	*/
	}
}

/* bootstrap large */
@media only screen and (max-width: 992px)
{
	/* mega menu mobile break */
	header.site-header
	{
	/*
		position:absolute;
		right: 0;
		left: 0;
		top:0;
	*/
	}

	.flex-viewport
	{
		max-height: 300px !important;
	}
}

/* bootstrap medium */
@media only screen and (max-width: 768px)
{
	.site-header .cta
	{
		font-size:0.80rem;
	}

	.footer-area .menu li {
		display:inline-block;
		margin:0 14px 3px 0;
	}

}

/* bootstrap small */
@media only screen and (max-width: 576px)
{
	.card-img-top
	{
		height: 55vw;
	}

	.flex-viewport
	{
		max-height: 60vw !important;
	}

}




.hovereffect {
	width:100%;
	height:100%;
	float:left;
	overflow:hidden;
	position:relative;
	text-align:center;
	cursor:default;
}

.hovereffect .overlay {
	width:100%;
	height:100%;
	position:absolute;
	overflow:hidden;
	top:0;
	left:0;
	opacity:0;
	background-color:rgba(0,0,0,0.5);
	-webkit-transition:all .4s ease-in-out;
	transition:all .4s ease-in-out
}

.hovereffect img {
	display:block;
	position:relative;
	-webkit-transition:all .4s linear;
	transition:all .4s linear;
}

/* large column fit */
.position-prime .hovereffect img
{
	width: 100%;
	height: 44vw;
	object-fit: cover;
}

/* smaller column stacked fit */
.position-secondary .hovereffect img
{
	width: 100%;
	height: 22vw;
	object-fit: cover;
}

/* for single photo */
.position-solo .hovereffect img
{
	width: 100%;
	height: 37vw;
	object-fit: cover;
}

.narrow .position-solo .hovereffect img
{
	width: 100%;
	height: 24vw;
	object-fit: cover;
}

/* for non-stacked - halves */
.position-halves .hovereffect img
{
	width: 100%;
	height: 37vw;
	object-fit: cover;
}

/* for non-stacked - thirds */
.position-thirds .hovereffect img
{
	width: 100%;
	height: 33vw;
	object-fit: cover;
}

.hovereffect h2 {
	text-transform:uppercase;
	color:#fff;
	text-align:center;
	position:relative;
	font-size:17px;
	background:rgba(0,0,0,0.6);
	-webkit-transform:translatey(-100px);
	-ms-transform:translatey(-100px);
	transform:translatey(-100px);
	-webkit-transition:all .2s ease-in-out;
	transition:all .2s ease-in-out;
	padding:10px;
}


.hovereffect .info {
	text-decoration:none;
	display:inline-block;
	width:100%;
	text-align:center;
	color:#fff;
	font-size:1.1rem;
	/* border:1px solid #fff;  */
	background-color:transparent;
	opacity:0;
	filter:alpha(opacity=0);
	-webkit-transition:all .2s ease-in-out;
	transition:all .2s ease-in-out;
	margin:0px 0 0;
	padding:0 0px 0;
}


.hovereffect .info .heading,
.heading
{
	font-size:1.8rem;
	font-weight:600;
}

/* irrelevant - removed the inner link */
.hovereffect a.info:hover
{
	box-shadow:0 0 5px #fff;
}

.hovereffect:hover img {
/*
	-ms-transform:scale(1.2);
	-webkit-transform:scale(1.2);
	transform:scale(1.2);
*/
}

.hovereffect:hover .overlay {
	opacity:1;
	filter:alpha(opacity=100);
}

.hovereffect:hover h2,.hovereffect:hover .info {
	opacity:1;
	filter:alpha(opacity=100);
	-ms-transform:translatey(0);
	-webkit-transform:translatey(0);
	transform:translatey(0);
}

.hovereffect:hover .info {
	-webkit-transition-delay:.2s;
	transition-delay:.2s;
}

/* always show on smaller/mobile which usually don't have hover */
/* bootstrap small */
@media only screen and (max-width: 576px)
{
	.hovereffect .overlay {
		opacity:1;
		opacity:0;
	}

	.hovereffect .info {
		display:none;
		font-size:0.8rem;
		opacity:1;
	}

	.hovereffect .info .heading,
	.heading
	{
		font-size:1.2rem;
	}

	.hovereffect .info .itext /* for non-heading text */
	{
		display:none;
	}
}
