@import url('https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,500;0,700;1,400&display=swap');

/* GLOBAL */
* {
	box-sizing : border-box;
	font-family: 'PT Sans', sans-serif;
}

body,
td,
th {
	font-size: 12px;
	padding  : 0;
	margin   : 0;
}

body {
	color     : #292B2B;
	background: #ffffff;
}

img {
	max-width: 100%;
}

.hidden {
	display: none
}

.show {
	display: block
}

.center {
	text-align: center
}

a.barLink {
	background-color: #ecf0f1;
	border-left     : 10px solid #335B90;
	color           : #292b2b;
	display         : block;
	font-weight     : bold;
	padding         : 5px 10px 4px 10px;
	text-align      : center
}

a.blueLink {
	color: #4680C9
}

.red-text {
	color: #f00;
}

h1 {
	font-size: 2em;
}

h2 {
	font-size: 1.75em;
}

h3 {
	font-size: 1.5em;
}

h4 {
	font-size: 1.15em;
}

h5 {
	font-size: 1em;
}

/* SITE LAYOUT */
.site {
	max-width: 1920px;
	margin   : auto;
}

.content {
	max-width: 1440px;
	margin   : auto;
	font-size: 18px;
	padding  : 0 15px;
}

/* HEADER */
#hamburger {
	display: none;
}

.header-main {
	display        : flex;
	flex-direction : row;
	justify-content: space-between;
	margin         : 3em 3em 0;
}

.header-main a {
	align-self: center;
}

.header-main__right {
	flex          : 1;
	display       : flex;
	flex-direction: column;
	margin-left   : 5em;
}

.top-header {
	width        : 70%;
	margin-left  : auto;
	margin-bottom: 15px;
	display      : flex;
	align-items  : center;
	flex-wrap    : wrap;
}

.top-header>div {
	display: inline-block;
}

.top-header__left {
	font-size: 3em;
	color    : #f00;
}

.top-header__right {
	margin-left: auto;
}

.top-header__right>a {
	color      : #000;
	font-weight: bold;
	font-size  : 1.25em;
}

.top-header__right form {
	display     : inline-block;
	padding-left: 15px;
}

#siteSearchInput {
	padding     : 5px;
	height      : 21px;
	margin-right: -6px;
	border      : 1px solid lightgrey;
}

#siteSearchSubmit {
	vertical-align: top;
}

#main-navs {
	display        : flex;
	justify-content: space-evenly;
}

#main-navs a {
	font-size: 1.5em;
	color    : #f00;
}

#topNav {
	display   : block;
	list-style: none outside none;
	margin    : 0;
	padding   : 0;
	z-index   : 3000;
}

#topNav .topNavItem {
	position: relative;
	float   : left;
	padding : 25px 25px 0 25px;
	z-index : 999999;
}

#topNav .topNavItem>a {
	padding-bottom: 20px;
}

#topNav a {
	display        : inline-block;
	list-style     : none;
	text-decoration: none;
	white-space    : nowrap;
	font-size      : 1.5em;
}

.topNavArrow {
	display: none;
}

#topNav .topNavItem .topNavContent {
	display         : none;
	position        : absolute;
	background-color: rgba(211, 211, 211, 0.85);
	z-index         : 2000;
	padding         : 15px 0;
	left            : 0;
}

#topNav .topNavItem.active .topNavContent {
	display: flex;
}

#topNav .topNavItem .subNav {
	list-style: none;
	padding   : 0 25px;
}

#topNav .topNavItem .subNav .subNavItem {
	margin-bottom: 15px;
}

#topNav .topNavItem .subNav .subNavItem:last-child {
	margin-bottom: 0;
}

#topNav .subNavItem a {
	color          : #000;
	padding        : 5px 0;
	text-decoration: underline;
	font-weight    : bold;
	font-size      : 1.25em;
}

#topNav .topNavItem .subNav2,
#topNav .topNavItem .subNav3 {
	list-style: none;
	padding   : 0;
}

#topNav .topNavItem .subNav2 a {
	text-decoration: none;
}

#topNav .topNavItem .subNav2 .none {
	display: none;
}

#topNav .topNavItem .subNav3 a {
	color       : #e21d24;
	padding-left: 15px;
	font-weight : normal;
}

#topNav .topNavItem.active .subNav {
	display: block
}

/* MAIN */
#main {
	clear           : both;
	background-color: #EFEBEB
}

section {
	padding: 15px;
}

/* HOMEPAGE */
.home-carousel img {
	width: 100%;
}

.intro {
	background-color  : #fff;
	-webkit-box-shadow: 0px 0px 6px 0px rgb(169, 161, 161);
	-moz-box-shadow   : 0px 0px 6px 0px rgb(169, 161, 161);
	box-shadow        : 0px 0px 6px 0px rgb(169, 161, 161);
}

.intro h1 {
	text-align   : center;
	margin-top   : .5em;
	margin-bottom: 0;
}

.intro ul {
	margin-top  : 0;
	padding-left: 4em
}

.image-separator {
	text-align    : center;
	padding-bottom: 0;
}

.model-boxes {
	padding: 0;
}

.model {
	display           : inline-block;
	width             : 48%;
	margin            : 25px 1.8%;
	padding           : 0 15px;
	text-align        : center;
	background-color  : #fff;
	vertical-align    : top;
	-webkit-box-shadow: 0px 0px 6px 0px rgb(169, 161, 161);
	-moz-box-shadow   : 0px 0px 6px 0px rgb(169, 161, 161);
	box-shadow        : 0px 0px 6px 0px rgb(169, 161, 161);
}

.model:nth-child(odd) {
	margin-left: 0;
}

.model:nth-child(even) {
	margin-right: 0;
}

.model a {
	display        : block;
	color          : #f00;
	text-decoration: none;
	font-size      : 1.25em;
	padding        : 15px;
}

.case-study-block {
	background-color: #fff;
	text-align      : center;

	-webkit-box-shadow: 0px 0px 6px 0px rgb(169, 161, 161);
	-moz-box-shadow   : 0px 0px 6px 0px rgb(169, 161, 161);
	box-shadow        : 0px 0px 6px 0px rgb(169, 161, 161);
}

.case-study-block h2 {
	margin-top   : 0.15em;
	margin-bottom: -0.25em;
}

.case-study {
	display: inline-block;
	width  : 30%;
}

.case-study h5 {
	margin-top: .5em;
}

.public {
	display           : flex;
	justify-content   : space-evenly;
	background-color  : #f5f3f3;
	margin-top        : 25px;
	text-align        : center;
	-webkit-box-shadow: 0px 0px 6px 0px rgb(169, 161, 161);
	-moz-box-shadow   : 0px 0px 6px 0px rgb(169, 161, 161);
	box-shadow        : 0px 0px 6px 0px rgb(169, 161, 161);
}

.public h4 {
	margin-top: 0.25em;
}

.public .vertical-line {
	width           : 1px;
	background-color: #cecece;
	margin-bottom   : -15px;
}

.public img {
	margin        : 0 20px;
	vertical-align: text-top;
}

/* PAGE */
.pageHeader {
	position: relative;
}

.pageHeader .pageHeader__content {
	width : 1440px;
	margin: auto;
	color : #fff;
}

.pageHeader .pageHeader__inner {
	position       : absolute;
	top            : 0;
	height         : 100%;
	display        : flex;
	flex-direction : column;
	justify-content: flex-end;
	padding        : 0 15px;
}

.pageHeader__content h1 {
	top          : 0;
	font-size    : 4em;
	margin-bottom: 0;
}

.pageHeader__content h2 {
	font-size  : 2.25em;
	width      : 71%;
	line-height: 1em;
	font-style : italic;
	margin-top : .5em;
}

.pageHeader .pageImage img {
	width: 100%;
}

.model.model--full {
	width          : 100%;
	display        : flex;
	justify-content: space-between;
	align-items    : flex-start;
	flex-wrap      : wrap;
	text-align     : left;
	padding        : 15px 20px;
}

.model.model--full .model__content {
	flex-basis: 50%;
}

.model.model--full h3 {
	margin: .5em .5em .5em 0;
}

.model.model--full p {
	margin: 0;
}

.model.model--full a {
	padding-left: 0;
}

/* ACCORDIONS */
div.accSectionTrigger {
	position     : relative;
	height       : 34px;
	background   : #fcb825;
	cursor       : pointer;
	padding-left : 10px;
	line-height  : 34px;
	margin-bottom: 5px;
	border-left  : 15px solid #fcb825;
}

.accSectionTrigger .fa {
	position: absolute;
	top     : 10px;
	right   : 20px;
}

div.accSectionTrigger.active div.accNum {
	color           : #FFFFFF;
	background-color: #fcb825
}

div.accSectionTrigger div.accNum {
	float           : left;
	font-size       : 18px;
	font-weight     : bold;
	color           : #000000;
	background-color: #fcb825;
	padding         : 0 10px;
	margin-right    : 20px
}

div.accSectionTrigger h2 {
	padding: 0;
	margin : 0
}

div.accSectionContent {
	display   : none;
	padding   : 20px 0;
	overflow  : hidden;
	text-align: center;
}

div.accSectionContent:nth-child(3) {
	display: block;
}

div.accSectionContent a.nextSection {
	background-color: #fcb825;
	border-left     : 10px solid #fcb825;
	color           : #fcb825;
	display         : inline-block;
	font-weight     : bold;
	padding         : 5px 10px 4px 10px;
	text-align      : center;
	float           : right;
}

/* FOOTER */
footer {
	displaY        : flex;
	flex-direction : row;
	align-items    : center;
	justify-content: space-between;
	flex-wrap      : wrap;
	background     : #f00;
	color          : #fff;
	padding        : 1em 1.25em 1.25em;
	font-size      : 1.25em;
}

.footer-links {
	display        : flex;
	justify-content: space-evenly;
}

.footer-links a {
	text-decoration: none;
	padding        : 0 15px;
	color          : #fff;
}

.footer-socials img {
	vertical-align: middle;
	padding       : 0 5px;
}

@media all and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px) {}

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

	/*Hamburger*/
	#hamburger {
		display: inline;
	}

	div#hamburger button {
		position  : absolute;
		border    : none;
		height    : 35px;
		width     : 50px;
		background: transparent;
		top       : 25px;
		right     : 5px;
		outline   : none;
	}

	button#nav-toggle span {
		position  : absolute;
		display   : block;
		margin    : auto;
		width     : 30px;
		top       : 8px;
		left      : 8px;
		height    : 3px;
		background: #000;
	}

	#nav-toggle span:nth-child(2) {
		top: 16px;
	}

	#nav-toggle span:nth-child(3) {
		top: 25px;
	}

	#topNav .topNavItem {
		width  : 100%;
		padding: 0 15px;
	}

	ul#topNav li.topNavItem.active .topNavArrow,
	ul#topNav li.topNavItem.current .topNavArrow {
		display: none;
	}

	ul#topNav li.topNavItem ul.subNav li.subNavItem.active,
	ul#topNav li.topNavItem ul.subNav li.subNavItem ul li.active {
		background: unset;
	}

	ul#topNav li.topNavItem ul.subNav,
	ul#topNav li.topNavItem ul.subNav li.subNavItem ul {
		position : static;
		/*display: block;*/
		width    : 100%;
		height   : auto;
	}

	ul#topNav li.topNavItem ul.subNav li.subNavItem,
	ul#topNav li.topNavItem ul.subNav li.subNavItem ul li {
		background: unset;
		border    : unset;
	}

	/*Reset Flexbox*/
	footer {
		display: block;
	}
}