@charset "utf-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, em, font, img, strong,
sub, sup, b, u, i, center, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

html {
	overflow-y: scroll;
}

body {
	color: #303030;
	font-family: "Open Sans", sans-serif;
	font-size: 13px;
	-moz-osx-font-smoothing: grayscale;
	overflow: hidden;
	position: relative;
	-webkit-font-smoothing: antialiased;
}

body > div {
	position: relative;
	margin: auto;
	background-color: #fff;
}

body > div:first-child {
	border-top: 3px solid #e2001a;
}

.content {
	margin: 20px 0;
}

.content.contact {
	background-color: #fafafa;
	margin: 0;
	padding-bottom: 20px;
	padding-top: 50px;
}

p {
	color: #303030;
	line-height: 162%;
	margin-bottom: 16px;
}

[class*='media_'] {
	width: 100%;
	height: auto;
	line-height: 0;
}

/** GRID **/
.gridColumn {
	float: left;
	margin-bottom: 15px;
	overflow: hidden;
}

.gridColumn._1 {
	width: 60px;
}

.gridColumn._2 {
	width: 140px;
}

.gridColumn._3 {
	width: 220px;
}

.gridColumn._4 {
	width: 300px;
}

.gridColumn._5 {
	width: 380px;
}

.gridColumn._6 {
	width: 460px;
}

.gridColumn._7 {
	width: 540px;
}

.gridColumn._8 {
	width: 620px;
}

.gridColumn._9 {
	width: 700px;
}

.gridColumn._10 {
	width: 780px;
}

.gridColumn._11 {
	width: 860px;
}

.gridColumn._w110 {
	width: 110px;
}

.gridColumn._h150 {
	height: 150px;
}

.marginL0 {
	margin-left: 0;
}

.marginB0 {
	margin-bottom: 0;
}

.marginB5 {
	margin-bottom: 5px;
}

.marginB10 {
	margin-bottom: 10px;
}

.marginB15 {
	margin-bottom: 15px;
}

.marginB20 {
	margin-bottom: 20px;
}

.marginB30 {
	margin-bottom: 30px;
}

.marginB50 {
	margin-bottom: 50px;
}

.marginB60 {
	margin-bottom: 60px;
}

.marginB90 {
	margin-bottom: 90px;
}

.marginT15 {
	margin-top: 15px;
}

.marginT30 {
	margin-top: 30px;
}

.marginT50 {
	margin-top: 50px;
}

.paddingB50 {
	padding-bottom: 50px;
}

.center {
	text-align: center;
}

.overflowH {
	overflow: hidden;
}

/** END GRID **/

/** COLORS **/
.red {
	color: #e2001a !important;
}

.content a.gray,
.gray {
	color: #c0c0c0;
}

.content a.grayDark,
.grayDark {
	color: #2F2F2F;
}

.black {
	color: #000;
}

.whiteBg {
	background-color: #fff;
	color: #000;
}

.content a {
	color: #e2001a;
}

.content h2 {
	font-size: 26px;
	margin-bottom: 20px;
}

h2.red {
	color: #e2001a;
}

.content .newsItem h2 {
	margin-bottom: 0;
}

.uppercase {
	text-transform: uppercase;
}

.bold {
	font-weight: bold;
}

.font11 {
	font-size: 11px;
}

.font14 {
	font-size: 14px;
}

.font18 {
	font-size: 18px;
}

.font26 {
	font-size: 26px;
}

.font30 {
	font-size: 30px;
}

/** HEADER + LINK STYLES **/
.content h2 a,
h2 a {
	color: #2F2F2F;
}

.content h2 a:hover,
h2 a:hover {
	color: #e2001a;
}

h2 {
	color: #2F2F2F;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

/** END HEADER STYLES **/
.clear {
	clear: both;
}

.relative {
	position: relative;
}

.noMobile {
	display: block;
}

.mobile {
	display: none;
}

/** SIZES **/
.h760 {
	height: 760px;
}

.h720 {
	height: 720px;
}

.h400 {
	height: 400px;
}

.h390 {
	height: 390px;
}

.h370 {
	height: 370px;
}

.h320 {
	height: 320px;
}

.contentWrapper {
	min-height: 10px;
}

/** PROJECT **/
#projects,
.article-layout-1,
.relatedProjects,
.projectDetail,
.architectContent {
	clear: both;
	display: grid;
	grid-column-gap: 20px;
	grid-template-columns: repeat(3, 1fr);
}

.article-layout-1 {
	grid-template-columns: repeat(2, 1fr);
}

.projectDetail,
.architectContent {
	grid-template-columns: 60% 40%;
}

.relatedProjects {
	grid-template-columns: repeat(4, 1fr);
}

.article-layout-1 .newsItem > h2 {
	height: 80px;
	overflow: hidden;
}

.gridColumn.project {
	position: relative;
}

.gridColumn.project .image {
	height: 200px;
}

.projectDesc {
	color: #e2001a;
}

.bottomShim {
	background: url("/public/images/user/header-image-shim.png");
	background-repeat: repeat-x;
	bottom: 0;
	height: 75px;
	position: absolute;
	width: 100%;
}

.bottomShim.white {
	background: url("/public/images/user/gradient-fff.png");
	background-repeat: repeat-x;
}

.bottomShim.grey {
	background: transparent url("/public/images/user/gradient-fcfcfc.png") repeat-x 0 0;
}

.newsItem .bottomShim {
	bottom: 60px;
	height: 87px;
}

ul.projectCategories {
	list-style-type: none;
}

ul.projectCategories li {
	display: inline-block;
}

ul.projectCategories li {
	*float: left;
}


a.projectCategoryLink {
	background-color: #ccc;
	border-radius: 4px;
	color: #fff;
	display: block;
	float: left;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	height: 20px;
	margin: 2px 16px 6px 0;
	padding: 4px 17px;
	text-decoration: none;
}

a.projectCategoryLink:hover,
a.projectCategoryLink.active {
	background-color: #e80022;
}

/** END PROJECT **/

div.bgGreyLight {
	background-color: #fcfcfc;
}

div.bgGrey {
	background-color: #fafafa;
}

div.bgWhite {
	background-color: #fff;
}

div.borderTop {
	border-top: 1px solid #e7e7e7;
}

div.borderTop.red {
	border-top: 1px solid #e80022;
}

div.borderBottom {
	border-bottom: 1px solid #e7e7e7;
}

div.borderBottom.red {
	border-bottom: 1px solid #e80022;
}

div.borderBottom > div > div,
div.borderTop > div > div {
	margin: 20px 0;
}

div.borderBottom.mapTop {
	margin-left: 0;
	margin-top: -10px;
}

div.mapTop > div,
div.mapTop > div > div {
	margin-bottom: 0;
	margin-left: 0;
	margin-top: 0;
	width: auto;
}

div.bgGreyLight::after,
div.bgGrey::after,
div.bgWhite::after {
	clear: both;
	display: block;
	content: '';
}

.headerTop {
	position: relative;
	float: left;
	width: 100%;
	height: 72px;
}

.headerTop .logo {
	position: absolute;
	left: 15px;
	display: flex;
	align-items: center;
	height: 100%;
	top: 0;
}

.headerTop .logo img {
	width: 100%;
	max-width: 200px;
}

.headerTop h1 {
	background: url('/public/images/user/logo.png') no-repeat 0 0;
	background-size: 80%;
	float: left;
	height: 42px;
	margin: 14px 0 0 40px;
	overflow: hidden;
	text-indent: -1000px;
	width: 300px;
}

.headerTop ul,
.headerTop .navSearch,
.headerTop .navLanguage {
	float: right;
	font-size: 15px;
	margin-top: 29px;
}

.headerTop ul {
	margin: 29px 0 0 30px;
}

.headerTop .navSearch {
	margin-left: 20px;
	width: 30px;
	margin-right: 20px;
}

.headerTop .toggleMenu {
	cursor: pointer;
}

.headerTop .mobile {
	margin-bottom: 15px;
}

.headerTop ul li {
	float: left;
	list-style-type: none;
	margin: 0 0 0 35px;
}

.headerTop ul li:first-child {
	margin-left: 0;
}

.headerTop ul li a {
	color: #2f2f2f;
	text-decoration: none;
}

.headerTopShadow {
	background: url("/public/images/user/header-shadow.png") repeat-x scroll 0 0 rgba(0, 0, 0, 0);
	height: 15px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.headerTop ul li a:hover,
.headerTop ul li a.active {
	color: #e2001a;
}

.nav.mobile .socialMedia {
	text-align: center;
}

.nav.mobile .socialMedia a {
	display: inline-block;
	margin-right: 10px;
	margin-left: 10px;
}

#searchWrapper {
	background: url('/public/images/user/searchBorder.png') no-repeat;
	position: absolute;
	right: -18px;
	top: 25px;
	display: none;
	z-index: 1000;
}

#searchWrapper form {
	padding: 16px;
}

#search {
	background-color: #fff;
	border: 1px solid #e7e7e7;
	color: #2f2f2f;
	font-size: 13px;
	height: 20px;
	padding-bottom: 5px;
	padding-left: 10px;
	padding-top: 5px;
	width: 248px;
}

.searchContent strong {
	color: #e2001a;
}

.searchIcon {
	cursor: pointer;
}

.arrow-up {
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 7px solid #c0c0c0;
	margin-left: 270px;
	right: 20px;
	height: 0;
	width: 0;
}

.searchExpanded .result {
	margin-bottom: 12px;
}

.headerImage {
	position: relative;
	float: left;
	width: 100%;
	height: 900px;
	overflow: hidden;
}

.headerImage .headerImageContainer {
	height: 900px;
	overflow: hidden;
	position: absolute;
}

.headerImage .headerImageContainer img {
	float: left;
}

.headerImage .headerBallContainer {
	position: absolute;
	width: 100%;
	bottom: 16px;
	z-index: 1;
	text-align: center;
}

.headerImage .headerBallContainer a {
	display: inline-table;
	background: url(/public/images/user/header-ball.png) no-repeat 0 0;
	width: 16px;
	height: 16px;
	margin: 0 16px 0 0;
	padding: 0;
}

.headerImage .headerBallContainer a.active,
.headerImage .headerBallContainer a:hover {
	background-image: url(/public/images/user/header-ball-active.png);
}

.headerImage .headerBallContainer a:last-child {
	margin-right: 0;
}

.headerImage a.headerNav {
	position: absolute;
	display: block;
	top: 230px;
	width: 33px;
	height: 53px;
	z-index: 1;
}

.headerImage a.headerNavLeft {
	background: url(/public/images/user/header-nav-left.png) no-repeat 0 0;
	left: 38px;
}

.headerImage a.headerNavLeft:hover {
	background-image: url(/public/images/user/header-nav-left-active.png);
}

.headerImage a.headerNavRight {
	background: url(/public/images/user/header-nav-right.png) no-repeat 0 0;
	right: 38px;
}

.headerImage a.headerNavRight:hover {
	background-image: url(/public/images/user/header-nav-right-active.png);
}

.navLanguage .active {
	color: #e2001a;
}

div.headerImageInfoContainer {
	height: 214px;
}

#headerImageContent {
	float: left;
	height: 155px;
	overflow: hidden;
	position: relative;
}

#headerImageContent .bottomShim {
	height: 50px;
}

.headerImageInfoContainer .headerImageText {
	float: left;
	width: 520px;
	padding: 50px 40px 0 40px;
}

.headerImageText h2 {
	color: #e2001a;
	font-size: 30px;
	line-height: 40px;
	padding: 0 0 18px 0;
}

.headerImageText p {
	padding: 0;
	margin: 0;
}

.headerImageInfoContainer .headerImageInfo {
	float: left;
	width: 420px;
	padding: 76px 0 0 0;
}


body > div.projectListContainer {
	border-bottom: 1px solid #e7e7e7;
}

.projectList,
.newsList {
	position: relative;
	float: left;
	width: 980px;
	padding: 35px 0 0 0;
	height: 427px;
}

.newsList {
	height: 360px;
	padding: 35px 0 50px 40px;
}

#newsBlock h2 a,
.newsBlock h2 a {
	color: #282828;
}

.newsItem {
	border-bottom: 1px solid #e7e7e7;
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.newsContent {
	/*height: 633px;*/
	overflow: hidden;
}

/*.projectList > div {
	float: left;
	width: 300px;
	margin: 0 20px 0 0;
	color: #303030;
}*/
.projectList label {
	font-size: 11px;
	display: block;
	padding: 6px 0 5px 0;
}

.projectList h2,
.project h2,
.newsList h2 {
	font-size: 18px;
	color: #2f2f2f; /*#e2001a; */
}

.newsList .date {
	color: #b3b3b3;
	font-size: 12px;
}

.newsList .gridColumn {
	height: 320px;
	overflow: hidden;
	position: relative;
}

.projectList .gridColumn {
	height: 410px;
	overflow: hidden;
	position: relative;
}

.projectList p {
	padding: 24px 0 0 0;
}

/** PROJECT **/
.projectContent h2 {
	color: #2f2f2f;
	font-size: 30px;
	margin-bottom: 15px;
}

.content.related {
	background-color: #fcfcfc;
	border-top: 1px solid #e7e7e7;
	margin-left: 0;
	padding-left: 40px;
	padding-top: 15px;
	width: 980px;
}

.relatedProject {
	overflow: hidden;
}

.relatedProject a {
	color: #e2001a;
}

.relatedProject .projectContent {
	height: 100px;
	line-height: 25px;
}

.newsImage {
	height: 110px;
}

.newsImage img {
	width: 100%;
	max-height: 110px;
	object-fit: cover;
	object-position: center;
}

.articleImage img {
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
}

.homeProjectText {
	display: none;
}

.header {
	height: 85px;
}

.footerWrapper {
	background-color: #e2001a;
	width: 100%;
}

.footer {
	clear: both;
	color: #fff;
	height: 130px;
	padding-top: 30px;
	padding-bottom: 30px;
}

.footer .nav.noMobile a {
	color: #fff;
	font-weight: bold;
	text-transform: uppercase;
}

.footer .nav.noMobile a:hover {
	color: #000;
}

.footer .navSearch,
.footer .navLanguage {
	display: none;
}

.footer .nav {
	font-size: 12px;
	font-weight: bold;
}

.footer .nav,
.footer .address {
	float: left;
	line-height: 175%;
}

.footer .address a {
	color: #fff;
}

.footer.noMobile .social a {
	line-height: 33px;
}

.block {
	clear: both;
}

.blockitem {
	float: left;
}

.newsContent .block {
	margin-top: 15px;
}

.newsContent .block.seq_1 {
	margin-top: 0;
}

.readMoreLink a {
	background-image: url("/public/images/user/arrow.readmore.png");
	background-position: right center;
	background-repeat: no-repeat;
	padding-right: 21px;
}

form label {
	display: block;
}

form input,
form textarea,
form .iz-submitContainer {
	background-color: #fff;
	border: 1px solid #c0c0c0;
	box-sizing: border-box;
	padding: 8px 5px;
	width: 100%;
}

form input[type="checkbox"],
form input[type="radio"] {
	width: auto;
}

form label {
	margin: 25px 0 10px 0;
}

form .iz-submitContainer {
	background-color: #303030;
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
	font-size: 13px;
	margin-top: 15px;
	width: 160px;
	text-decoration: none;
	text-align: center;
}

form .iz-submitContainer a {
	color: #fff;
	text-decoration: none;
}

form .iz-submitContainer:hover {
	background-color: #e2001a;
}

.iz-form .iz-hide {
	display: none !important;
}

.iz-form-options:after {
	clear: both;
	content: '';
	display: block;
}

.iz-form-options div > * {
	float: left;
}

/** SLIDESHOWS **/
#slideshow.single {
	border-bottom: 1px solid #e2001a;
	text-align: center;
}

.slider {
	height: 75vh;
	position: relative;
}

.slider .image img {
	height: 75vh!important;
	max-height: 900px;
	width: auto;
	max-width: 100vw;
	object-fit: cover;
}

.slider .wrapper {
	border-bottom: 1px solid #e2001a;
	clear: both;
	height: 900px;
}

.slider .dots {
	bottom: 16px;
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: 1;
}

.dots .dot {
	background: url("/public/images/user/header-ball.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
	cursor: pointer;
	display: inline-table;
	height: 16px;
	margin-right: 16px;
	width: 16px;
}

.dots .dot:hover,
.dots .dot.active {
	background: url("/public/images/user/header-ball-active.png") no-repeat;
}

.slide {
	float: left;
	position: relative;
}

.slide .overlay {
	height: 100%;
	position: absolute;
	width: 100%;
}

.arrows {
	background: none;
	border: 0 none;
	display: block;
	height: 53px;
	overflow: visible;
	position: absolute;
	top: 305px;
	width: 100%;
	z-index: 1000;
}

.arrow {
	cursor: pointer;
	margin: 0;
	position: absolute;
	height: 53px;
	width: 33px;
}

.arrow.slideToPrevious {
	background: url(/public/images/user/header-nav-left.png) no-repeat 0 0;
	left: 38px;
}

.arrow.slideToPrevious:hover {
	background-image: url(/public/images/user/header-nav-left-active.png);
}

.arrow.slideToNext {
	background: url(/public/images/user/header-nav-right.png) no-repeat 0 0;
	right: 38px;
}

.arrow.slideToNext:hover {
	background-image: url(/public/images/user/header-nav-right-active.png);
}

body.page827 .content,
body.page927 .content,
body.page828 .content,
body.page842 .content {
	margin-bottom: 0;
}

body.page927 .contentWrapper,
body.page828 .contentWrapper,
body.page842 .contentWrapper {
	background-color: #fcfcfc;
}

.projectTags {
	color: #e2001a;
}

.projectTags label {
	color: #303030;
}

#mbox-filebox,
#mbox-bottom {
	width: auto !important;
}

.externalLink {
	background: url('/public/images/user/external_link.png') no-repeat;
	padding-left: 23px;
}

.googleMapsWrapper {
	position: relative;
	padding-bottom: 75%;
	height: 0;
	overflow: hidden;
	margin: 0 0 20px 0;
}

.googleMapsWrapper > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

#googleMapHeader::after {
	display: block;
	clear: both;
	content: '';
}

#googleMapHeader > div {
	width: 100%;
}

#googleMapHeader .googleMapsWrapper {
	margin: 0;
	padding-bottom: 25% !important;
}

.loadMoreWrapper {
	position: relative;
	width: 100%;
	margin: 0 auto 20px;
	text-align: center;
}

.loadMore {
	border: #e2001a 2px solid;
	background: #e2001a;
	padding: 10px;
	padding-left: 20px;
	padding-right: 20px;
	color: #fff !important;
	margin: auto;
	cursor: pointer;
	display: inline-block;
}

#mbox-filebox,
#mbox-bottom {
	width: auto !important;
}

.projectCat {
	text-align: center;
}
