/*--------------------------------------------------
Global Flex Features
--------------------------------------------------*/
#flexFeatures > section, #flexFeatures > article {
	background: #fff;
}
#flexFeatures article.wrap div[class*="col-"].equate, #flexFeatures article.wrap.equate /*#flexFeatures article.fullScreen*/ {
	padding: 15px 0px;
}

@media screen and (min-width:1025px) and (max-width:1240px) {
#flexFeatures > section {
	padding: 0 30px;
}
#flexFeatures > section.activeBg > article.wrap, #flexFeatures > section > article.wrap.rowPadding {
	margin: 0 -30px;	
}
#flexFeatures > article:nth-of-type(odd) {
	padding-left: 30px;
}
#flexFeatures > article:nth-of-type(even) {
	padding-right: 30px;
}
}

#flexFeatures div[id] + div[id] {
	margin-top: 30px;	
}
#flexFeatures div[id].col-50 + div[id].col-50 + div[id] {
	clear: both;
	padding-top: 30px;
} 
/*--------------------------------------------------
Global Flex Features - Parallax
--------------------------------------------------*/
#flexFeatures > section.parallax-window, #flexFeatures > article.parallax-window {
	background: transparent !important;
}
#flexFeatures .parallax-window {
	min-height: 200px;
	background: transparent;
}
/*--------------------------------------------------
Global Flex Features - Feature Background Opacity
--------------------------------------------------*/
#flexFeatures .opacity {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
/*--------------------------------------------------
Global Flex Features - Padding for Adjacent Features
--------------------------------------------------*/
#flexFeatures div[id][class*="col-"]:nth-of-type(odd) {
	padding-right: 15px;
}
#flexFeatures div[id][class*="col-"]:nth-of-type(even) {
	padding-left: 15px;
}
#flexFeatures div[id].col-100:nth-of-type(n) {
	padding: 0px;
}
#flexFeatures div[id].col-100 + * {
	margin: 30px 0 0;
}

@media screen and (max-width:767px) {
#flexFeatures div[id][class*="col-"]:nth-of-type(odd) {
	padding: 0px;
}
#flexFeatures div[id][class*="col-"]:nth-of-type(even) {
	padding-left: 0px;
}
}
/*--------------------------------------------------
Global Flex Features - 50% Columns
--------------------------------------------------*/
#flexFeatures article.col-50:nth-of-type(odd) > .wrap {
	float: right;
}
#flexFeatures article.col-50:nth-of-type(even) > .wrap {
	float: left;
}
#flexFeatures article.col-50.flex > .wrap {
	max-width: 100% !important;
	width: 100%;
	margin: 0;
	float: none;
}

@media screen and (min-width:1240px) {
#flexFeatures article.col-50:nth-of-type(odd) > .wrap {
	padding-left: 0px !important;
}
#flexFeatures article.col-50:nth-of-type(even) > .wrap {
	padding-right: 0px !important;
}
}

@media screen and (min-width:768px) {
#flexFeatures article.col-50 > .wrap {
	max-width: calc(1200px / 2) !important;
	width: 100%;
	margin: 0;
}
}
/*--------------------------------------------------
Flex Features - Flexslider Carousels
--------------------------------------------------*/
#flexFeatures .flexsliderCarousel {
	padding: 0 0 40px;
}
#flexFeatures .row.margin .flexsliderCarousel {
	padding: 0 10px 40px;
}

@media screen and (max-width:767px) {
#flexFeatures .flexsliderCarousel {
	padding: 0 0 20px;
}
}
#flexFeatures .flexsliderCarousel .flex-viewport {
	margin-bottom: 0px;
}
#flexFeatures .flexsliderCarousel .slides > li {
	background: transparent;
	max-height: none;
	position: relative;
	display: none;
	overflow: hidden;
}
#flexFeatures .flexsliderCarousel li.colContent {
	padding: 20px;
}
/*--------------------------------------------------
Flexslider Carousels - Control Nav (Pagination)
--------------------------------------------------*/
#flexFeatures .flexsliderCarousel .flex-control-nav {
	bottom: 15px;
	height: 11px;
	left: 0;
}
/*--------------------------------------------------
Flexslider Carousels - Direction Nav (Arrows)
--------------------------------------------------*/
#flexFeatures .flexsliderCarousel .flex-direction-nav {
	width: 100%;
	bottom: 10px;
	top: auto;
	left: 0;
	margin: 0;
	position: absolute;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (max-width:767px) {
#flexFeatures .flexsliderCarousel .flex-direction-nav {
	bottom: -10px;
}
#flexFeatures .flexsliderCarousel .flex-control-nav {
	bottom: -5px;
}
}
#flexFeatures .flexsliderCarousel .flex-direction-nav a {
	opacity: 1;
	bottom: auto;
	top: 50%;
	margin: 0;
	background: #fff;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#flexFeatures .flexsliderCarousel .flex-direction-nav a::before {
	font-size: 1.5em;
	width: 40px;
	text-align: center;
	height: 40px;
	margin-top: 0px;
}
#flexFeatures .flexsliderCarousel .flex-direction-nav .flex-prev {
	left: 10px;
}
#flexFeatures .flexsliderCarousel .flex-direction-nav .flex-next {
	right: 10px;
}
/*--------------------------------------------------
Flex Columns
--------------------------------------------------*/
#flexFeatures #columns {
}
#flexFeatures #columns .colContent {
}
#flexFeatures #columns .colContent > * {
	margin-top: 20px;
}
#flexFeatures #columns .colContent > *:first-child {
	margin-top: 0px;
}
#flexFeatures #columns .text {
}
#flexFeatures #columns .image {
}
#flexFeatures #columns .image img {
	margin: auto !important;
}
#flexFeatures #columns .cropped-image .overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 40px;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#flexFeatures #columns .cropped-image .contentOverlay {
	position: absolute;
	text-align: center;
	padding: 30px;
	top: 50%;
	left: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#flexFeatures #columns .cropped-image .contentOverlay p {
	color: #fff;
	font-weight: 500;
	line-height: 1.5em;
}
#flexFeatures #columns .cropped-image .contentOverlay h2, #flexFeatures #columns .cropped-image .contentOverlay h3, #flexFeatures #columns .cropped-image .contentOverlay h4, #flexFeatures #columns .cropped-image .contentOverlay h5, #flexFeatures #columns .cropped-image .contentOverlay h6 {
	color: #fff;
}
#flexFeatures #columns .cropped-image .contentOverlay a.globalLink {
	display: inline-block;
	width: 80%;
}
#flexFeatures #columns .contentOverlay > *:last-of-type {
	margin: 0 !important;
}
#flexFeatures #columns .contentOverlay > *:last-of-type + * {
	margin: 20px 0 0 !important;
}

@media screen and (max-width:767px) {
#flexFeatures #columns .colContent.colColor {
	padding: 30px !important;
}
}
/*--------------------------------------------------
Text Rows
--------------------------------------------------*/
#flexFeatures #textRow {
}
#flexFeatures #textRow .text + * {
	margin-top: 30px;
}
#flexFeatures #textRow a.globalLink {
	margin-right: 15px;
	margin-bottom: 15px;
}
#flexFeatures #textRow a.globalLink:last-of-type {
	margin-right: 0;
	margin-bottom: 0;
}

@media screen and (min-width:1240px) {
#flexFeatures .wrap > div.equate {
	padding-left: 0px !important;
	padding-right: 0px !important;
}
}

@media screen and (max-width:767px) {
#flexFeatures #textRow + #textRow {
	margin-top: 30px;
}
#flexFeatures #textRow a.globalLink {
	margin-bottom: 30px;
}
}
/*--------------------------------------------------
Image Gallery
--------------------------------------------------*/
#flexFeatures .gallery {
	padding: 0;
	margin: 0;
}
#flexFeatures .gallery.row.margin {
	margin: 0 -7px;
}
#flexFeatures .gallery.row.margin [class*="col-"] {
	padding: 0 7px !important;
	margin: 0 0 14px !important;
}
#flexFeatures .gallery a {
	display: block;
	position: relative;
	padding-bottom: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	overflow: hidden;
}
#flexFeatures .gallery a:before {
	content: '\f00e';
	font: normal 2em/1.5 "Font Awesome 5 Free";
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	background: rgba(0,0,0,0.5);
	display: block;
	padding: 100%;
	opacity: 0;
	z-index: 10;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: all 0.2s; /* Safari and Chrome */
	transition: all 0.2s;
}
#flexFeatures .gallery a:hover:before {
	opacity: 1;
	-webkit-transition: all 0.2s; /* Safari and Chrome */
	transition: all 0.2s;
}
#flexFeatures .gallery a img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#flexFeatures .gallery a.contain img {
	max-height: 100%;
	max-width: 100%;
}
#flexFeatures .flexsliderCarousel.imgGallery .slides > li {
	height: auto !important;
}

@media screen and (max-width:767px) {
#flexFeatures .gallery li[class*="col-"] {
	max-width: 50% !important;
}
}
/*--------------------------------------------------
Image Gallery - Flexslider Carousel - Control Nav (Pagination)
--------------------------------------------------*/
#flexFeatures .imgGallery .flex-control-nav {
	width: 100%;
	height: 11px;
	position: absolute;
	bottom: 15px;
	text-align: center;
}

@media screen and (max-width:767px) {
#flexFeatures .imgGallery .flex-control-nav {
	bottom: -5px;
}
}
/*--------------------------------------------------
Accordion
--------------------------------------------------*/
#flexFeatures #accordions * {
	box-sizing: border-box;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
#flexFeatures .accordion {
	color: #444;
	cursor: pointer;
	padding: 18px 20px 18px 40px;
	width: 100%;
	text-align: left;
	border: none;
	border-top: solid 1px #e8e8e8;
	outline: none;
	position: relative;
	background: none;
}
#flexFeatures .accordion:before {
	content: '\f105';
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-size: 0.875em;
	font-weight: 900;
	line-height: 0.875rem;
	display: block;
	color: #444;
	top: 50%;
	left: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
#flexFeatures .accordion.active, #flexFeatures .accordion:hover {
	background-color: #f8f8f8;
}
#flexFeatures .accordion.active:before {
	content: '\f107';
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
/*----- Accordion Panels -----*/
#flexFeatures #accordions div.panel {
	padding: 0 20px;
	max-height: 0;
	overflow: hidden;
}
#flexFeatures #accordions div.panel:before {
	content: '';
	position: relative;
	padding: 20px 0 0;
	width: 100%;
	display: block;
}
#flexFeatures #accordions div.panel:after {
	content: '';
	position: relative;
	padding: 0 0 20px;
	width: 100%;
	display: block;
}
#flexFeatures #accordions div.panel p:last-of-type + * {
	margin-top: 30px;
}
/*--------------------------------------------------
Testimonials
--------------------------------------------------*/
#flexFeatures #testimonials p:last-of-type {
	margin-bottom: 30px;
}

@media screen and (max-width:767px) {
#flexFeatures #testimonials :not(li).testimonial + .testimonial {
	padding-top: 30px;
	border-top: solid 1px #e8e8e8;
}
}
/*--------------------------------------------------
Videos
--------------------------------------------------*/
#flexFeatures #videos {
}
/*--------------------------------------------------
Featured News
--------------------------------------------------*/
#flexFeatures #featuredNews {
}
#flexFeatures #featuredNews h5 {
	margin-bottom: 5px !important;
}
#flexFeatures #featuredNews h5 a {
	display: block;
}
#flexFeatures #featuredNews .metaData {
	padding: 0px !important;
}
#flexFeatures #featuredNews .horizontal .equate {
	display: table !important;
	width: 100%;
}
#flexFeatures #featuredNews .horizontal [class*="col-"] {
	display: table-cell;
	margin: 0;
	float: none;
	vertical-align: middle;
}
#flexFeatures #featuredNews .horizontal.col-50 {
	width: 50%;
	max-width: 100%;
}

@media screen and (max-width:1024px) {
#flexFeatures #featuredNews .row.margin .horizontal.col-50 {
	padding: 0 15px !important;
}
}

@media screen and (max-width:767px) {
#flexFeatures #featuredNews :not(li).news {
	padding-bottom: 30px;
	border-bottom: solid 1px #e8e8e8;
}
#flexFeatures #featuredNews .news:last-of-type {
	padding-bottom: 0px;
	border: none;
}
#flexFeatures #featuredNews .row.margin li.news.horizontal {
	padding: 0px !important;
}
#flexFeatures #featuredNews .row.margin .horizontal a.featuredImg, #flexFeatures #featuredNews .row.margin .horizontal div.clearfix {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
}
#flexFeatures #featuredNews .row.margin .horizontal a.featuredImg {
	padding-bottom: 56.25% !important;
}
#flexFeatures #featuredNews .row.margin .horizontal a.featuredImg.noImg, #flexFeatures #featuredNews .row.margin li.horizontal a.featuredImg.noImg + div.clearfix {
	padding: 0 !important;
}
#flexFeatures #featuredNews .row.margin .horizontal a.featuredImg + div.clearfix {
	padding: 20px 0 0 !important;
}
}
/*--------------------------------------------------
Staff Listing
--------------------------------------------------*/
#flexFeatures #staffListing * {
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}

/*----- Staff Featured Image -----*/
#flexFeatures #staffListing .overview .featuredImg {
	background-size: 100% auto !important;
	margin: 0px !important;
}
#flexFeatures #staffListing .overview:hover .featuredImg {
	background-size: 120% auto !important;
}
#flexFeatures #staffListing .overview .featuredImg:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 10;
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}
#flexFeatures #staffListing .overview:hover .featuredImg:before {
	opacity: 0.95;
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}
#flexFeatures #staffListing .overview .featuredImg:after {
	content: '\f065';
	font-family: "Font Awesome 5 Free";
	font-size: 1.25em;
	line-height: 1em;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	visibility: visible;
	opacity: 0;
	z-index: 10;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}
#flexFeatures #staffListing .overview:hover .featuredImg:after {
	opacity: 1;
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}

/*----- Bio Details -----*/
#flexFeatures #staffListing a {
	display: block;
}
#flexFeatures #staffListing .staff h6 {
	margin: 0px;	
}
#flexFeatures #staffListing .staff .bio h6 {
	margin: 0 0 10px;	
}
#flexFeatures #staffListing .email, #flexFeatures #staffListing .phone {
	display: inline-block;
	line-height: 1em;
	margin: 0 20px 0 0;
	padding: 0 20px 0 0;
}
#flexFeatures #staffListing .email:after, #flexFeatures #staffListing .phone:after {
	content: '|';
	position: absolute;
	right: 0;
	visibility: visible;
	color: #ccc;
}
#flexFeatures #staffListing .socialMedia {
	padding: 0px;
	display: inline-block;
}
#flexFeatures #staffListing .socialMedia a {
	display: inline-block;
}

/*----- Modal Window -----*/
#flexFeatures #staffListing .modal {
	position: fixed;
	width: 100vw;
	top: 120px;
	left: 0;
	height: calc(100vh - 120px);
	z-index: 100;
	text-align: left;
	display: none;
}
#flexFeatures #staffListing .modal .bio {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 80%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 1200px;
	padding: 30px;
}
#flexFeatures #staffListing .modal .bio * {
	color: #fff !important;
}
#flexFeatures #staffListing .modal .bio div.close {
	padding: 20px;
	border-radius: 20px;
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 10;
}
#flexFeatures #staffListing .modal .bio div.close:before {
	position: absolute;
	top: 50%;
	left: 50%;
	color: #fff;
	font-family: "Font Awesome 5 Free";
	font-size: 1em;
	line-height: 1em;
	content: '\f00d';
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#flexFeatures #staffListing .modal .bio div.close:hover {}
#flexFeatures #staffListing .modal .bio .content {
	overflow-y: auto;
	width: 100%;
	position: relative;
	height: 100%;
}
#flexFeatures #staffListing .modal .bio .content .featuredImg + div.col-67 {
	padding-left: 30px;
}

@media screen and (max-width:767px) {
#flexFeatures #staffListing .modal .bio .content .featuredImg {
    margin: 0 0 30px !important;
    padding: 0 0 100% !important;
   	max-width: 100%;
}
#flexFeatures #staffListing .modal .bio .content .featuredImg + div.col-67 {
	padding-left: 0px;
	max-width: 100%
}	
}
/*--------------------------------------------------
Projects
--------------------------------------------------*/
#flexFeatures #projects .description {
	width: 100%;
	display: block;
	padding: 20px 0px;
}
#flexFeatures #projects .description h4 {
	margin: 0;
}
#flexFeatures #projects .project .contentDisplay {
    display: table;
    width: 100%;
    height: 100%;
    position: absolute;
	padding: 0px;
    top: 0;
    text-align: center;
	opacity: 0;
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}
#flexFeatures #projects .project:hover .contentDisplay {
	opacity: 1;
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}
#flexFeatures #projects .description.contentDisplay h4, #flexFeatures #projects .description.contentDisplay {
	color: #fff;
}
#flexFeatures #projects .description.contentDisplay .content {
	display: table-cell;
	vertical-align: middle;
}
#flexFeatures #projects .project .description.contentDisplay .content a.enlarge {
    display: inline-block;
    width: 50%;
    height: auto;
    position: absolute;
    opacity: 0;
    bottom: -60px;
    left: 0;
    padding: 10px;
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}
#flexFeatures #projects .project .description.contentDisplay .content a.enlarge::before {
    content: '\f0b2';
    font-family: 'Font Awesome 5 Free';
    font-size: 20px;
    line-height: 20px;
    color: #fff;
    position: relative;
    margin: 0 auto;
}
#flexFeatures #projects .project .description.contentDisplay .content a.viewProject {
    display: inline-block;
    width: 50%;
    height: auto;
    position: absolute;
    opacity: 0;
    bottom: -60px;
    left: 50%;
    padding: 10px;
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}
#flexFeatures #projects .project .description.contentDisplay .content a.viewProject::before {
    content: '\f0a9';
    font-family: 'Font Awesome 5 Free';
    font-size: 20px;
    line-height: 20px;
    color: #fff;
    position: relative;
    margin: 0 auto;
}
#flexFeatures #projects .project:hover .description.contentDisplay .content a {
	bottom: 0;
	opacity: 1;
	-webkit-transition: all 0.5s; /* Safari and Chrome */
	transition: all 0.5s;
}
/*--------------------------------------------------
Mobile Resposive > 1024px
--------------------------------------------------*/
@media screen and (max-width:1024px) {
#flexFeatures #imageGallery.col-50 .gallery li[class*="col-"], #flexFeatures #imageGallery.col-40 .gallery li[class*="col-"], #flexFeatures #imageGallery.col-33 .gallery li[class*="col-"], #flexFeatures #imageGallery.col-25 .gallery li[class*="col-"] {
	max-width: 50% !important;
}
#flexFeatures #imageGallery.col-50 .gallery li[class*="col-"]:nth-of-type(odd), #flexFeatures #imageGallery.col-40 .gallery li[class*="col-"]:nth-of-type(odd), #flexFeatures #imageGallery.col-33 .gallery li[class*="col-"]:nth-of-type(odd), #flexFeatures #imageGallery.col-25 .gallery li[class*="col-"]:nth-of-type(odd) {
	clear: left;
}
#flexFeatures #imageGallery.col-50 .gallery li[class*="col-"]:nth-of-type(even), #flexFeatures #imageGallery.col-40 .gallery li[class*="col-"]:nth-of-type(even), #flexFeatures #imageGallery.col-33 .gallery li[class*="col-"]:nth-of-type(even), #flexFeatures #imageGallery.col-25 .gallery li[class*="col-"]:nth-of-type(even) {
	clear: none;
}
#flexFeatures article.wrap div[class*="col-"].equate, #flexFeatures article.wrap.equate /*#flexFeatures article.fullScreen*/  {
	padding: 15px 30px;
}
.row.margin [class*="col-"] [class*="col-"], .row.margin [class*="col-"] .equate {
	padding: 0px;
}
/*-------- Testimonial Adjustment --------*/
#testimonials .row.margin [class*="col-"] .equate.colContent {
	padding: 20px !important;
}
}

@media screen and (max-width:767px) {
#flexFeatures article.wrap div[class*="col-"].equate, #flexFeatures article.wrap.equate /*#flexFeatures article.fullScreen*/ {
	padding: 30px !important;
}
#flexFeatures > article, #flexFeatures div[id] {
	max-width: 100%;
}
#flexFeatures section.bgOnly, #flexFeatures article.bgOnly {
	padding-bottom: 56.25%
}
#flexFeatures article.fullScreen {
	padding: 20px !important;
}
#flexFeatures #imageGallery[class*="col-"] .gallery li[class*="col-"]:nth-of-type(odd) {
	clear: left;
}
#flexFeatures #imageGallery[class*="col-"] .gallery li[class*="col-"]:nth-of-type(even) {
	clear: none;
}
#flexFeatures #staffListing .staff {
	margin-bottom: 20px;
}
#flexFeatures #staffListing .staffImg, .row.margin [class*="col-"].staffList [class*="col-"].staffImg {
	padding: 0 0 56.25% !important;
}
#flexFeatures #staffListing .bio .staffImg, #flexFeatures #staffListing .bio .staffImg + * {
	max-width: 100%;
}
#flexFeatures #staffListing .staff .modal {
	top: 0 !important;
	height: 100vh !important;
	z-index: 100000;
}
}
