/* Global Reset */
body, html, h1, h2, h3, h4, h5, h6, p, a, img, div, span, ul, li, input, table, form, th, tr, td, span, object, iframe, textarea {
	margin: 0;
	padding: 0;
	border: 0;
	text-decoration: none;
    font-family: 'Geologica', Arial;
	list-style: none;
   	border-radius: 0px;
    border-spacing: 0;
}

body, html {
    width: 100%;
    height: 100%;
}

html {
    -webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape while allowing user zoom */
}

#overlay {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    background-image: url(/images/overlay/trans.png);
    z-index: 10;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
}

#fabtech2025 {
    position: fixed;
    bottom: 0;
    z-index: 10000;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
    height: 75px;
    background-color: #FFF;
}

#fabtech2025:hover img {
    opacity: .9;
}

#fabtech2025 img {
    height: 100%;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
}


@media screen and (max-width: 700px) {
    #fabtech2025 {
        display: none;
    }
}

/* Flex Grid, 50% Width 2-Column */
.flex-50 {
	display: flex;
}

.flex-50 div {
	width: 45%;
}

.flex-50 div:first-child {
	padding-right: 5%;
}

.flex-50 div:last-child {
	padding-left: 5%;
}

.padding {
	padding-left: 5%;
	padding-right: 5%;
}

/* General Font Styles */
h1 {
	font-size: 72px;
	font-weight: 800;
}

h2 {
	font-size: 45px;
	font-weight: 700;
}

h3 {
	font-size: 35px;
	font-weight: 600;
}

h4 {
	font-size: 23px;
	font-weight: 500;
}

h5 {
	font-size: 21px;
	font-weight: 500;
}

h6 {
	font-size: 19px;
	font-weight: 500;
}

p {
	font-size: 16px;
	font-weight: 400;
	line-height: 150%;
	color: #101519;
	margin-top: 5px;
}

p.mb {
	margin-bottom: 20px;
}

li {
	font-size: 16px;
	font-weight: 400;
}

a {
	-webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
}


/* Header Styles */
.top_header {
	width: 90%;
	height: 35px;
	background-color: #2D3D4A;
    display: flex;
}

.top_header .slogan {
    font-size: 13px;
    color: #E0F0FD;
    padding: 0;
    margin: 0;
    line-height: 35px;
    height: 35px;
    font-style: italic;
}

.top_header ul {
    margin-left: auto;
}

.top_header ul li {
    list-style: none;
    float: Left;
    font-size: 13px;
    color: #FFF;
    line-height: 35px;
}

.top_header ul li a {
    color: #FFF;
    font-size: 13px;
}

.top_header ul li a img {
    height: 17px;
    margin-top: 9px;
    border-radius: 2px;
}

.top_header ul li a img:hover {
    opacity: .9;
}

.top_header .social {
    margin-left: 15px;
    margin-right: 15px;
}

.th-email:hover {
    color: #E0F0FD;
}

.dot {
    display: block;
    height: 5px;
    width: 5px;
    background: #e0e5e9;
    border-radius: 50%;
    margin-left: 30px;
    margin-right: 30px;
    margin-top: 16px;
}

/* Header Styles */
header {
	width: 90%;
	padding: 0px 5% 0px 5%;
	height: 100px;
	display:flex;
    z-index: 100;
    border-bottom: 1px solid #e0e5e9
}

header .mobile_logo {
	height: 80px;
	margin-top: 10px;
    z-index: 1000;
    margin-right: 15px;
}

header .mobile_contain {
    height: 90px;
    width: 35%;
}

header .mobile_a {
    display: flex;
    height: 100%;
    max-width: 185px;
}

header .mobile_contain p {
    font-size: 18px;
    font-weight: 600;
    line-height: 125%;
    margin-top: 17px;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
}

.contact_button {
    width: 25%;
    height: 100%;
    display: flex;
    justify-content: right;
}

.contact_button .contact_container {
    display: flex;
    justify-content: right;
    background-color: #C6D6E3;
    padding-left: 10%;
    padding-right: 10%;
    text-align: right;
}

.contact_button p {
    font-size: 15px;
    line-height: 90px;
    margin: 0;
    color: #fff;
}

.contact_button a {
    font-size: 15px;
    line-height: 90px;
    margin: 0;
    margin-left: 20px;
    color: #4C8BF5;
}

.contact_button a:hover {
    text-decoration: underline;
}

/* Navigation Styles */
.mobile_nav {
	display: none;
}

.arrow {
    border: solid #303539;
    border-width: 0 2px 2px 0;
    padding: 3px;
    float: right;
    margin-top: 44px;
    font-size: 100px;
    margin-left: 10px;
    display: block;
  }

.down {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    top: -2px;
}

nav {
    width: 65%;
    height: 100%;
}

nav ul {
	justify-content: right;
	display: flex;
    width: 100%;
}

nav ul .parent_li {
    margin-left: 7%;
    text-align: center;
    line-height: 100px;
}

nav ul .parent_li .parent_a {
    font-size: 15px;
    line-height: 100px;
    color: #202529;
    width: 100%;
    height: 100%;
    display: block;
}

nav ul .parent_li .parent_a:hover {
    color: #8bacc5;
}

nav .parent_li:hover > .parent_a {
    color: #8bacc5;
}

nav .parent_li:hover .arrow {
    border: solid #8bacc5;
    border-width: 0 2px 2px 0;
    padding: 3px;
    float: right;
    margin-top: 44px;
    font-size: 100px;
    margin-left: 10px;
    display: block;
}

nav .sub-menu {
    width: 280px;
    visibility: hidden;
    position: absolute;
    border-top: none;
    opacity: 0;
    display: none;
	padding: 0px;
    margin-left: -21px;
    background-color: #FFF;
    border: 1px solid #f0f5f9;

    border-bottom: 5px solid #C6D6E3;
}

nav li:hover .sub-menu, nav li .sub-menu:hover {
    left: 0 auto;
    z-index: 9999;
    visibility: visible;
    opacity: 1.0;
    display: block;
}

.mobile-tp:hover, .mobile-rf:hover, .mobile-cy:hover {
    cursor: default;
}

nav .sub-menu li {
	width: 100%;
	line-height: 45px;
	height: 45px;
	text-align: left;
	-webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
}

nav .sub-menu li a {
	color: #303539;
	width: 87.5%;
    padding-left: 2.5%;
	height: 100%;
	display: block;
	margin-left: 5%;
	font-size: 14px;
}

nav .sub-menu li a:hover {
    color: #8bacc5;
}

nav .sub-menu .sub-sub-menu li a {
    border-bottom: 1px solid #6C7C89;
}

/* New Banner */
.new-banner {
    width: 100%;
    height: calc(100vh - 110px);
    background-color: #132330;
    display: flex;
}

.new-banner .new-text {
    width: 27.5%;
    height: 100%;
    padding: 0px 5% 0px 5%;
    display:flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.new-banner .new-text h1 {
    width: 100%;
    font-size: 61px;
    color: #FFF;
    padding: 0;
    padding-left: 20px;
    border-left: 10px solid #BEDFF8;
    margin-bottom: 20px;
}

.new-banner .new-text p {
    font-size: 18px;
    color: #e0e5e9;
}

.new-banner .new-text a {
    width: 175px;
    height: 45px;
    line-height: 45px;
    background-color: #a5c6df;
    color: #FFF;
    font-size: 15px;
    font-weight: 300;
    text-align: center;
    display: block;
    margin-top: 40px;
}

.new-banner .new-text a:hover {
    background-color: #bedff8;
}

.new-banner .new-image {
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 62.5%;
    height: 100%;
}

.new-video {
    overflow: hidden;
    z-index: 0;
    width: 62.5%;
    height: auto;
}

.new-video video {
    margin: 0 auto;
    width: auto;
    height: 100%;
    z-index: 0;
    position: relative;
    left: 10%;
    transform: translateX(-10%);
}


@media screen and (max-width: 1400px) {
    .new-banner .new-text h1 {
        font-size: 50px;
    }

    .new-video video {
        left: 25%;
        transform: translateX(-25%)
    }

}

@media screen and (max-width: 900px) {

    .new-banner {
        height: auto;
    }

    .new-banner .new-text {
        width: 90%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        box-shadow: inset 0 0 0 1000px rgba(0,0,0,.2);
        padding: 100px 5% 75px 5%;
    }

    .new-banner .new-text h1 {
        font-size: 45px;
        text-align: center;
        padding: 0;
        border: none;
    }

    .new-banner .new-text p {
        display: none;
    }

    .new-banner .new-text a {
        display: none;
    }

    .new-banner .new-image {
        display: none;
    }

    .new-video {
        display: none;
    }
}


/* Page Banner */
.page_banner {
	width: auto;
	height: calc(100vh - 110px);
	background-color: #F0F5F9;
	padding: 0px 5% 0px 5%;
	background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    display:flex;
    align-items: end;
    box-shadow: inset 0 0 0 1000px rgba(0,0,0,.1);
}

.page_banner #page_title {
	color: #FFF;
	position: relative;
    text-align: left;
    margin-bottom: 7.5%;
    max-width: 60%;
    line-height: 135%;
    border-left: 10px solid #bedff8;
    padding-left: 30px;
}

.banner-flex {
    display: flex;
    height: calc(100vh - 100px);
	background-color: #F0F5F9;
	padding: 0px;
}

.banner-flex div {
    width: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    display: block;
}

.banner-flex h1 {
    color: #FFF;
	margin-bottom: 100px;
	position: absolute;
    text-align: left;
    bottom: 5.0%;
    left: 5%;
    max-width: 60%;
    line-height: 135%;
    border-left: 10px solid #a5c6df;
    padding-left: 30px;
}

/* Intro Content */
.intro-content {
    padding: 100px 5% 100px 5%;
    display: flex;
    background-color: #132330;
}

.intro-content h2 {
    color: #fff;
    margin-bottom: 10px;
    position: relative;
    padding-top: 20px;
}

.intro-content h2:before {
    content : "";
    position: absolute;
    left    : 0;
    top  : 0;
    height  : 1px;
    width   : 7.5%;  /* or 100px */
    border-top: 5px solid #a5c6df;
  }

.intro-content p {
    color: #e0e5e9
}

.intro-content .left-contain {
    width: 40%;
    padding-right: 10%;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.intro-content .right-contain {
    width: 40%;
    padding-left: 10%;
}

.intro-content .right-contain img {
    width: 100%;
    box-shadow: 20px 20px 0px #d0d5d9;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
}

.intro-content .right-contain img:hover {
    box-shadow: 20px 20px 0px #a5c6df
}

/* Our Work */
.our-work {
    background-color: #2D3D4A;
    margin-bottom: 50px;
    border-bottom: 10px solid #f0f5f5;
}

.our-work h2 {
    color: #FFF;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 20px;
    padding-top: 20px;
    display: none;
}

.our-work h2:before {
    content : "";
    position: absolute;
    left    : 48.5%;
    top  : 0;
    height  : 1px;
    width   : 3%;  /* or 100px */
    border-top: 5px solid #C5D5E2;
  }

.our-work .pictures {
    display: flex;
    flex-wrap: wrap;
}

.our-work a {
    max-width: 25%;
    opacity: .5;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
    vertical-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    overflow: hidden;
}

.our-work a:hover {
    opacity: 1.0;
    cursor: zoom-in;
}

.our-work img {
    width: 100%;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
}

.our-work a:hover img {
    transform: scale(1.1);
}

/* Page Styles for Mill Components */
.link-menu {
    padding-top: 75px;
    padding-bottom: 50px;
    width: 200px;
    height: 50px;
}

.link-menu li {
    float: left;
    font-size: 13px;
    margin-right: 10px;
    color: #a0a5a9;
}

.link-menu a {
    font-size: 13px;
    color: #a0a5a9;
    font-weight: 500;
    display: block;
    height: 50px;
    line-height: 50px;
    width: 200px;
    background-color: #fafafa;
    border: 1px solid #eaeaea;
    color: #303539;
    text-align: center;
}

.link-menu a:hover {
    color: #4C8BF5;
}

.link-menu ul .tig-links {
    position: absolute;
    width: 300px;
    border-top: none;
    background-color: #fefefe;
    border: 1px solid #eaeaea;
    opacity: 0;
	padding: 10px 0 10px 0;
    display: none;
    box-shadow: 1px 1px 3px #e0e5e9;
    border-bottom: 5px solid #a5c6df
}

.tig-link-li:hover .tig-links, .tig-link-li .tig-links:hover {
    left: 0 auto;
    z-index: 9999;
    visibility: visible;
    opacity: 1.0;
    display: block;
}

.tig-link-li:hover > .tig-link-a {
	color: #4C8BF5;
  }

  .link-menu .tig-arrow {
    border: solid #202529;
    border-width: 0 2px 2px 0;
    padding: 2.5px;
    float: right;
    margin-top: 20px;
    font-size: 100px;
    margin-right: 20px;
	display: block;
}

.tig-link-li:hover .tig-arrow{
    border: solid #4c8bf5;
    border-width: 0 2px 2px 0;
    padding: 2.5px;
}

.link-menu ul ul li {
    float: none;
    background-color: none;
}

.link-menu ul ul li a {
    display: block;
    height: 40px;
    line-height: 40px;
    color: #202529;
    padding-left: 5%;
    width: 85%;
    margin-left: 5%;
    border: none;
    border-bottom: 1px solid #f0f5f9;
    background-color: transparent;
    text-align: left;
}




.page-content {
    width: auto;
    display: flex;
    padding-bottom: 50px;
}

.page-content h2 {
    margin-bottom: 20px;
    position: relative;
    padding-top: 20px;
    color: #2C3C49;
}

.page-content h2:before {
    content : "";
    position: absolute;
    left    : 0;
    top  : 0;
    height  : 1px;
    width   : 5%;  /* or 100px */
    border-top: 5px solid #a5c6df;
  }

.page-content p {
    color: #000;
    margin-bottom: 20px;
}

.page-content .flex-div {
    vertical-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.page-content .to-the-left {
    padding-right: 5%;
    width: 45%;
}

.page-content .to-the-right {
    width: 40%;
    padding-left: 10%;
}

.page-content .flex-div img {
    width: 100%;
    vertical-align: center;
}

.page-content .main-sub {
    margin-top: 20px;
}

.page-images {
    width: 100%;
    display: flex;
    padding: 0 0 0 0;
    background-color: #2c3c49;
}

.page-images-h2 {
    width: 100%;
    background-color: #2c3c49;
    color: #FFF;
    text-align: center;
    padding-top: 75px;
    position: relative;
    display: none;
}

.page-images-h2:before {
    content : "";
    position: absolute;
    left    : 48.75%;
    top  : 50px;
    height  : 1px;
    width   : 2.5%;  /* or 100px */
    border-top: 5px solid #a5c6df;
  }

.page-images img {
    width: 100%;
    height: auto;
    background-color: #FFF;
    vertical-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
}

.page-images a {
    width: 25%;
    height: auto;
    opacity: .75;
    overflow: hidden;
}

.page-images a:hover {
    opacity: 1.0;
    cursor: zoom-in;
}

.page-images a:hover img {
    transform: scale(1.1);
}

.page-features {
    width: 50%;
    margin: 0 auto;
    padding-top: 100px;
    padding-bottom: 100px;
}

.page-features h2 {
    text-align: center;
    color: #2C3C49;
    margin-bottom: 20px;
}

.page-features ul {
    margin-bottom: 100px;
}

.page-features li {
    color: #000;
    padding: 20px 0px 20px 5%;
    list-style-image: url(/global-images/list-arrow.png);
    line-height: 150%;
    list-style-position: inside;
	list-style-type: disc;
}

.page-features li:nth-child(odd) {
    background: #f0f5f9;
}

.page-features table {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 100px;
}

.page-features table th {
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    padding: 20px;
    text-align: left;
    background-color: #465663;
}

.page-features table td {
    color: #000;
    font-size: 16px;
    padding: 20px;
    text-align: left;
    font-weight: 500;
}

.page-features table tr:nth-child(odd) {
    background: #f0f5f9;
}

.page-features img {
    max-width: 75%;
    margin: 0 auto;
    margin-bottom: 100px;
    display: block;
}

/* Two Column Content Styles */
.two-column {
    width: auto;
    display: flex;
    flex-wrap: wrap;
}

.two-column div {
    padding: 100px 5% 100px 5%;
    width: 40%;
    background-position: center;
    background-size: cover;
    border-bottom: 50px solid #FFF;
    border-top: 50px solid #FFF;
}

.two-column .mobile-image {
    display: none;
    width: 100%;
}

.two-column h2 {
    color: #465663;
    margin-bottom: 10px;
}

.two-column p {
    color: #000;
}

.two-column .tc-text-alt {
    background-color: #465663;
}

.two-column .tc-text-alt h2 {
    color: #bedff8;
}

.two-column .tc-text-alt p {
    color: #f0f5f9;
}

.two-column ul {
    margin-top: 40px;
    margin-bottom: 20px;
    padding: 10px 30px 10px 30px;
    background-color: #fafcfe;
    width: auto;
    border-left: 4px solid #f5fafc;
    border-bottom: 4px solid #f5fafc;
}

.two-column li {
    list-style-type: disc;
    line-height: 150%;
    margin-top: 15px;
    margin-bottom: 15px;
    list-style-position: inside;
    color: #000;
}

.two-column table {
    width: 100%;
    margin-top: 40px;
}

.two-column table th {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    padding: 15px 20px 15px 20px;
    text-align: left;
    background-color: #465663;
}

.two-column table td {
    color: #000;
    font-size: 16px;
    padding: 15px;
    text-align: left;
    font-weight: 500;
}

.two-column table .shade td {
    background-color: #f0f5f9;
}



/* Content Styles */
.content {
	width: auto;
	height: auto;
	padding: 100px 5% 100px 5%;
}

.content h4 {
	margin-top: 20px;
	color: #8BACC5
}

.content .email { /* Email Links Only */
	color: #4C8BF5;
}

.content .email:hover {
	text-decoration: underline;
}

/* Latest News */
.title {
    text-align: left;
    padding-left: 5%;
    padding-right: 5%;
    color: #2C3C49;
    margin-bottom: 25px;
}

.latest_news_button {
    width: 200px;
    height: 50px;
    line-height: 50px;
    border-radius: 2px;
    text-align: center;
    background-color: #343935;
    color: #FFF;
    font-weight: 400;
    font-size: 14px;
    display: block;
    float: right;
    margin-right: 5%;
    margin-top: 10px;
    border-right: 3px solid #343935;
    border-left: 3px solid #343935;
}

.latest_news_button:hover {
    background-color: #bedff8;
    border-right: 3px solid #bedff8;
    border-left: 3px solid #a5c6df;
}

#news {
    padding: 100px 0px 50px 0px;
    background-color: #f9f9f9;
}

/* Individual News Story Page Styles */
.news-banner {
    width: 100%;
    height: 500px;
    background-color: #e0e5e9;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.news-story {
    max-width: 50%;
    margin: 0 auto;
    padding-top: 50px;
}

#newstitle {
    font-size: 42px;
    font-weight: 700;
}

.date {
    font-size: 16px;
    color: #808589;
    margin-top: 20px;
}

.category {
    font-size: 16px;
    color: #587992;
    margin-bottom: 40px;
}

.news-pictures {
    width: 100%;
    display: flex;
    margin-top: 50px;
    margin-bottom: 50px;
    background-color: #000
}

.news-pictures img {
    opacity: .9;
    background-color: #000;
    width: 100%;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.news-pictures img:hover {
    opacity: 1.0;
    cursor: zoom-in;
}

.news-text {
    font-size: 16px;
    color: #101519;
    line-height: 150%;
    margin-bottom: 20px;
    font-weight: 300;
}

.news-text span {
    font-weight: bold;
    font-size: 16px;
}

.news-text span.bold-ame {
    color: #587992;
}

.news-list {
    margin-bottom: 20px;
    padding: 10px 30px 10px 30px;
    background-color: #fafcfe;
    width: auto;
    border-left: 4px solid #f5fafc;
    border-bottom: 4px solid #f5fafc;
}

.news-list li {
    font-size: 16px;
    list-style-type: disc;
    line-height: 150%;
    margin-top: 10px;
    margin-bottom: 10px;
    list-style-position: inside;
    
    color: #000;
}

.news-border {
    margin-top: 50px;
    margin-bottom: 50px;
    border-top: 2px solid #f0f5f9;
}

.news-phone {
    font-size: 16px;
    color: #000;
    line-height: 150%;
    margin-bottom: 20px;
    cursor: auto;
}

.news-email {
    color: #4C8BF5;
    margin-bottom: 50px;
}

.news-email:hover {
    text-decoration: underline;
}

.news-padding {
    width: 100%;
    height: 50px;
}

.breadcrumb {
    width: 100%;
    margin-bottom: 50px;
}

.breadcrumb li {
    float: left;
    font-size: 12px;
    margin-right: 10px;
    color: #b0b5b9;
}

.breadcrumb li a {
    color: #909599;
}

.breadcrumb li a:hover {
    color: #4C8BF5;
    text-decoration: underline;
}

/* Main News Page */
.news, #load-news {
    display: flex;
    width: auto;
    padding: 0px 5% 0px 5%;
    flex-wrap: wrap;
}

.story {
    width: 29.3%;
    vertical-align: top;
    padding-top: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #d0d5d9;
    margin-bottom: 40px;
    position: relative;
}

.news div:nth-child(3n+1) {
    margin-right: 3%;
}

.news div:nth-child(3n+2) {
    margin-left: 3%;
    margin-right: 3%;
}

.news div:nth-child(3n+3) {
    margin-left: 3%;
}

#load-news div:first-child {
    margin-right: 6%;
}

#load-news div:last-child {
    margin-left: 6%;
}


.image {
    width: 100%;
    height: 300px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    margin-bottom: 20px;
}

.desc {
    font-size: 15px;
    color: #404549;
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 20px;
}

.story h1 {
    font-size: 19px;
    font-weight: 500;
    color: #202529;
    line-height: 150%;
    margin-bottom: 0px;
}

.story .date {
    font-size: 14px;
    color: #808589;
    font-weight: 400;
    margin-bottom: 20px;
    margin-top: 5px;
}

.link {
    font-size: 15px;
    color: #4C8BF5;
}

.link:hover {
    color: #72B1FF;
}

.link:hover .news-arrow {
    border: solid #72B1FF;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
    margin-left: 7px;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
}

.link .news-arrow {
    border: solid #4C8BF5;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
    margin-left: 4px;
    -webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	transition: all ease 0.2s;
  }
  
  .link .right {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }

/* Mill Component Home Page */
.component-content {
    width: auto;
    padding-bottom: 100px;
    display: flex;
    flex-wrap: wrap;
}

.component-content div {
    width: 29.3%;
    vertical-align: top;
    border-bottom: 1px solid #e0e5e9;
    display: inline-block;
    padding-bottom: 20px;
    padding-top: 20px;
}

.component-content div:nth-child(3n+1) {
    margin-right: 3%;
}

.component-content div:nth-child(3n+2) {
    margin-left: 3%;
    margin-right: 3%;
}

.component-content div:nth-child(3n+3) {
    margin-left: 3%;
}

.component-content div img {
    width: 100%;
    margin-bottom: 40px;
}

.component-content div h3 {
    font-weight: 700;
    font-size: 28px;
}

.component-content div p {
    margin-bottom: 20px;
}

.component-content div a {
    font-size: 15px;
    color: #4C8BF5;
}

.component-content div a:hover {
    text-decoration: underline;
}



/* Call To Action */
.cta {
	width: auto;
	height: auto;
	padding: 100px 5% 110px 5%;
	background-color: #CDD2D6;
	text-align: center;
}

.cta h2 {
	color: #FFF;
	margin-bottom: 10px;
	text-shadow: 1px 1px 1px #c0c5c9;
}

.cta h4 {
	width: 50%;
	margin: 0 auto;
	line-height: 135%;
	color: #fff;
	text-shadow: 1px 1px 1px #c0c5c9;
}

/* Footer Styles */
footer {
	width: auto;
	height: auto;
	padding: 50px 5% 50px 5%;
	background-color: #2D3D4A;
	display: flex;
}

footer div {
    padding-top: 25px;
    padding-bottom: 25px;
}

footer div h3 {
    font-size: 17px;
    color: #E0F0FD;
    font-weight: 400;
    margin-bottom: 5px;
}

footer div p {
    font-size: 14px;
    color: #e0e5e9;
    line-height: 125%;
}

footer div img {
    height: 85px;
    margin-bottom: 20px;
}

footer div:first-child {
    width: 30.834%;
    padding-right: 2.5%;
    border-right: 1px solid #536370;
}

footer div:first-child a {
    font-size: 14px;
    color: #FFF;
}

footer div:first-child a:hover {
    text-decoration: underline;
}

footer .second-address {
    margin-top: 20px;
}

footer .phone {
    margin-top: 20px;
}

footer div:nth-child(2) { 
    padding-left: 5%;
    width: 61.668%;
    display: flex;
}

footer div:nth-child(2) ul {
    width: 33.334%;
}

footer div:nth-child(2) ul li {
    margin-bottom: 5px;
}

footer div:nth-child(2) ul li a {
    color: #FFF;
    font-size: 14px;
}

footer div:nth-child(2) ul li a:hover {
    text-decoration: underline;
}

/* Lower Footer Styles */
.bottom_footer {
	width: auto;
	padding: 15px 5% 15px 5%;
	background-color: #2D3D4A;
	border-top: 1px solid #536370;
	display: flex;
}

.bottom_footer div {
    width: 33.334%;
}

.bottom_footer div:nth-child(2) {
    text-align: center;
}

.bottom_footer div:last-child {
    text-align: right
}

.bottom_footer p {
    font-size: 12px;
    color: #d0d5d9;
}

.bottom_footer span {
    color: #E0F0FD;
    text-align: center;
    font-style: italic;
}

.bottom_footer a {
    font-size: 12px;
    color: #FFF;
    margin-left: 20px;
}

.bottom_footer a:hover {
    text-decoration: underline;
}

/* Mobile Styles */
@media screen and (max-width: 1500px) {

	.cta h4 {
		width: 75%;
	}

    footer div h3 {
        font-size: 16px;
    }

}

@media screen and (max-width: 1375px) {
    #news-banner, #news-container {
        width: auto;
        padding-left: 5%;
        padding-right: 5%;
        min-width: 90%;
        max-width: 90%;
    }

    nav ul .parent_li {
        margin-left: 5%;
    }
}


@media screen and (max-width: 1250px) {
    .contact_button {
        display: none;
    }

    header .mobile_contain {
        width: 35%;
    }

    nav {
        width: 65%;
    }

    header .mobile_logo {
        height: 50px;
        margin-top: 15px;
    }

    nav ul .parent_li {
        margin-left: 4.5%;
    }


}

@media screen and (max-width: 1200px) {

	.cta h4 {
		width: 100%;
	}

    .page_banner #page_title {
        max-width: 75%;
    }

}

@media screen and (max-width: 1150px) {

	.our-work {
        margin-bottom: 0px;
    }

    .intro-content {
        padding: 50px 5% 50px 5%;
    }

    .latest-news h2, .read-more {
        display: none;
    }

    .latest-news .read-more {
        display: none;
    }

    .news-story {
        width: 90%;
        max-width: 90%;
    }

    .news, #load-news {
        padding: 50px 5% 50px 5%;
    }

    .latest-news {
        padding: 50px 5% 50px 5%;
    }

    .latest_news_button {
        display: none;
    }

    .news-banner {
        height: 300px;
    }

    #load-news div:first-child {
        margin-right: 0;
    }
    
    #load-news div:last-child {
        margin-left: 0;
    }

    .title {
        text-align: center;
        font-size: 35px;
        margin-bottom: 0px
    }
    
    .title:after {
        content: '';
        border-bottom: 0px solid #a5c6df;
        width: 0;
        display: block;
        margin-top: 0px;
      }

    .story {
        width: 100%;
        padding: 0px 0px 25px 0px; 
        margin: 0 auto;
        margin-bottom: 50px;
        border-bottom: 1px solid #eeeeee;
        text-align: center;
    }

    .story h1, .story p {
        padding: 0px 25px 0px 25px;
    }

    .news div:nth-child(3n+1) {
        margin-right: 0;
    }
    
    .news div:nth-child(3n+3) {
        margin-left: 0;
    }

    footer div:first-child {
        width: 45%;
        padding-right: 5%;
    }

    footer div:nth-child(2) {
        width: 45%;
        padding-left: 5%;
    }

    footer div:nth-child(2) .about {
        display: none;
    }

    footer div:nth-child(2) ul {
        width: 50%;
    }
    
}

@media screen and (max-width: 1100px) {

	header .RFQ {
		display: none;
	}

	header .header_logo {
		width: 35%;
	}

    .latest-news .title {
        font-size: 35px;
        margin-bottom: 20px;
    }

	.two-column .tc-image {
        display: none;
    }

    .two-column div {
        width: 90%;
        padding: 0px 5% 0px 5%;
    }

    .two-column .tc-text-alt {
        padding-top: 50px;
        padding-bottom: 50px;
    }

	.two-column .tc-image {
        display: none;
    }

    .two-column div {
        width: 90%;
        padding: 0px 5% 0px 5%;
    }

    .two-column .tc-text-alt {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .two-column h1 {
        font-size: 35px;
    }

}

@media screen and (max-width: 1100px) {

    .contact_button {
        display: none;
    }

    header .mobile_logo {
        height: 50px;
        margin-top: 0px;
        width: auto;
    }

    .news #load-news {
        padding: 0px 0px 0px 0px;
    }

    .spacer {
        height: 0px;
    }

	.flex-50 {
		flex-wrap: wrap;
        padding: 0;
	}

	.flex-50 div {
		width: 100%;
	}

    .flex-50 div:last-child {
        padding-left: 0%;
    }

	.iframe {
		display: none;
	}

	h1 {
		font-size: 45px;
	}

	h2 {
		font-size: 35px;
	}

	h4 {
		font-size: 22px;
	}

    .top_header {
        display: none;
    }

	.top_header .ph-em {
		justify-content: center;
        margin: 0 auto;
        justify-content: center;
        align-items: center;
	}

	.top_header .slogan {
		display: none;
	}

	.top_header .name {
		justify-content: left;
	}

    .top_header .th-hide {
        display: none;
    }

    .top_header .contact_info {
        justify-content: center;
    }

	header {
		display: block;
		width: 90%;
		height: auto;
		padding: 10px 5% 10px 5%;
	}

    header .mobile_contain {
        width: 75%;
        height: 50px;

    }

	header .mobile_logo {
		height: 50px;

	}

    header .mobile_contain p {
        margin-top: 3px;
        font-size: 16px;
    }

	header .main_nav {
		display: none;
	}

	nav.hide {
		display: none;
	}

	nav.showing {
		display: block;
		width: 100%;
		position: absolute;
		left: 0%;
		z-index: 1000;
		height: 100%;
		background-color: #60707D;
		margin-top: 10px;
	}

	nav .logo {
		display: none;
	}

	nav ul {
		float: none;
        margin: 0 auto;
        width: 100%;
        display: block;
        background-color: #60707D;
        margin-top: -1px;
		position: relative;
	}
	
	nav ul .parent_li {
		text-align: center;
		width: 100%;
		line-height: 80px;
        margin-left: 0px;
	}
	
	nav ul .parent_li .parent_a {
		text-align: left;
        border: none;
        height: 70px;
        line-height: 70px;
        color: #FFF;
        padding: 0px;
        width: 90%;
        margin-left: 5%;
        display: block;
        clear: both;
        font-size: 18px;
        border-bottom: 2px solid #6C7C89;
        font-weight: 500;
        position: relative
	}

	nav ul .parent_li .parent_a:hover{
		background-color: transparent;
		color: #FFF;
        text-shadow: none;
	}


	nav li:hover .sub-menu, nav li .sub-menu:hover {
		display: none;
	}

    nav ul .parent_li .parent_a:hover {
        background-color: transparent;
        color: #FFF;
        text-shadow: none;
    }
    
    nav .parent_li:hover > .parent_a {
        background-color: transparent;
        color: #FFF;
        text-shadow: none;
      }

	nav .sub-menu {
		width: 100%;
        visibility: visible;
        position: relative;
        border: none;
        background-color: #f5f5f5;
        box-shadow: none;
        opacity: 1.0;
        margin: 0 auto;
        display: none;
		padding-bottom: 10px;
	}

	nav li {
		background-color: transparent;
		width: 100%;
	}

	nav .sub-menu li {
		line-height: 55px;
		height: 55px;
	}

	nav .sub-menu li:hover {
		background-color: transparent;
	}

	nav .sub-menu li a {
		color: #000;
        display: block;
        height: 55px;
        line-height: 55px;
        text-align: left;
        border-bottom: 1px solid #e0e5e9;
        width: 80%;
        padding-left: 5%;
        font-size: 16px;
        font-weight: 500;
	}

	nav .sub-menu li a:hover {
        color: #000;
        background-color: transparent;
    }

    nav .sub-menu .sub-sub-menu {
        left: 0 auto;
        display: block;
        height: auto;
        width: 100%;
    }

    nav .sub-menu li:hover .sub-sub-menu, nav .sub-menu li .sub-sub-menu:hover {
        left: 0 auto;
        z-index: 9999;
        visibility: hidden;
        opacity: 1.0;
        margin-top: 0px;
        left: 0px;
    }

    nav .sub-menu li:hover .sub-sub-menu {
        left: 0 auto;
    }
	
	#nav-toggle { 
        z-index: 101;
        cursor: pointer; 
		position: absolute;
		right: 5%;
		margin-top: 15px; 
        padding: 10px 35px 16px 0px; 
        float: right;
    }

    #nav-toggle span, #nav-toggle span:before, #nav-toggle span:after {
      cursor: pointer;
      border-radius: 1px;
      height: 3px;
      width: 35px;
      background: #202529;
      position: absolute;
      display: block;
      content: '';
    }
    
    #nav-toggle span:before {
      top: -10px; 
    }
    
    #nav-toggle span:after {
      bottom: -10px;
    }

    #nav-toggle span, #nav-toggle span:before, #nav-toggle span:after {
      transition: all 300ms ease-in-out;
    }
    
    #nav-toggle.active span {
      background-color: transparent;
    }
    
    #nav-toggle.active span:before, #nav-toggle.active span:after {
      top: 0;
    }
    
    #nav-toggle.active span:before {
      transform: rotate(45deg);
      background: #202529;
    }
    
    #nav-toggle.active span:after {
      transform: rotate(-45deg);
      background: #202529
    }

	.arrow {
        border: solid #FFF;
        border-width: 0 4px 4px 0;
        padding: 3px;
        float: right;
        margin-top: 30px;
        font-size: 100px;
        margin-right: 12px;
		display: block;
      }

	.page_banner {
		padding: 150px 5% 100px 5%;
		box-shadow: inset 0 0 0 1000px rgba(0,0,0,.20);
        height: auto;
	}

	.page_banner #page_title {
		padding-left: 0px;
		border: none;
		text-align: center;
		margin: 0 auto;
		max-width: 100%;
		text-shadow: 1px 1px 2px #a0a5a9
	}

    .banner-flex {
        display: flex;
        height: 350px;
        background-color: #F0F5F9;
    }
    
    .banner-flex div {
        width: 50%;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        height: 100%;
        display: block;
    }
    
    .banner-flex h1 {
        display: none
    }

    .link-menu {
        display: none;
    }

    .component-content div {
        width: 100%;
    }

    .component-content div:nth-child(3n+1), .component-content div:nth-child(3n+2), .component-content div:nth-child(3n+3) {
        margin-left: 0px;
        margin-right: 0px;
    }


	.intro-content .right-contain {
        display: none;
    }

    .intro-content .left-contain {
        width: 100%;
    }

	.our-work h2:after {
        width: 20%;
        left: 40%;
    }
    .our-work a {
        width: 33.33%;
    }

	.page-content {
        display: inline;
        padding-top: 50px;
    }

    .page-content .flex-div {
        vertical-align: center;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }
    
    .page-content .to-the-left {
        width: 90%;
        padding: 100px 5% 20px 5%;
    }

    .page-content .to-the-right {
        width: 90%;
        padding: 20px 5% 20px 5%;
    }

    .page-features {
        width: auto;
    }

    .page-features table {
        margin-bottom: 0px;
    }

    .page-features img {
        max-width: 100%;
        margin-bottom: 50px;
    }

    .page-images {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }

    .page-images a {
        width: 50%;
    }

    .main-sub {
        display: none;
    }

    .page-features ul {
        margin-bottom: 50px;
    }

    .intro-content .right-contain {
        display: none;
    }

    .intro-content .left-contain {
        width: 100%;
    }

    .our-work h2:after {
        width: 20%;
        left: 40%;
    }

    .our-work a {
        width: 33.33%;
    }

    .main-content .flex {
        display: inline;
    }

    .main-content .flex div {
        width: 100%;
        margin-bottom: 50px;
    }

    .main-content .flex .flex-left, .main-content .flex .flex-right {
        padding: 0px;
    }

	.content {
		padding: 50px 5% 50px 5%;
	}

    #news {
        padding: 50px 0px 50px 0px;
    }

}

@media screen and (max-width: 1000px) {
    footer div:first-child {
        width: 100%;
        padding-right: 0px;
        border: none;
    }

    footer div:nth-child(2) {
        display: none;
    }

    footer div img {
        float: none;
        height: 100px;
        padding-bottom: 0px;
        margin: 0 auto;
        margin-bottom: 20px;
        display: block
    }

    footer div h3 {
        font-size: 18px;
    }

    footer div p {
        font-size: 15px;
    }

    footer div h3, footer div p {
        text-align: center;
    }

    footer div:first-child a {
        font-size: 15px;
        display: block;
        text-align: center;
    }

    .bottom_footer div {
        width: 50%;
    }

    .bottom_footer div:nth-child(2) {
        display: none;
    }

}

@media screen and (max-width: 900px) {
	.our-work .pictures {
        flex-wrap: wrap;
    }

    .our-work a {
        max-width: 50%;
        width: 50%;
    }

    .news-list {
        max-width: 100%;
        padding: 10px 20px 10px 20px;
    }

    .latest-news .read-more {
        width: 50%;
    }
}

@media screen and (max-width: 800px) {
    .latest-news .read-more {
        width: 75%;
        background-color: #a5c6df;
        color: #fff;
    }
}

@media screen and (max-width: 700px) {

    .page_banner {
		padding: 150px 5% 50px 5%;
		box-shadow: inset 0 0 0 1000px rgba(0,0,0,.20);
	}

	.top_header .slogan, .top_header .name {
		display: none
	}
    
    .top_header div {
        width: 100%;
    }

    .top_header .contact_info {
        justify-content: center;
    }

    .top_header .contact_info p {
        margin-right: 10px;
    }

    .two-column {
        width: auto;
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 50px;
        padding-top: 20px;
    }

    .two-column div {
        border-bottom: 0px;
        border-top: 0px;
    }

    .our-work {
        margin-bottom: 50px;
    }

    .news {
        background-color: #f0f0f0;
        margin-top: 0px;
    }

    .news div:nth-child(3n+2), .news div:nth-child(3n+3) {
        margin: 0
    }

    #newstitle {
        font-size: 28px;
        border-left: none;
        padding-left: 0;
        margin-bottom: 0px;
    }

    #news .image {
        display: none;
    }

    .news-pictures {
        flex-wrap: wrap;
    }

    .news-pictures a {
        width: 50%;
    }

    .story h1 {
        font-size: 18px;
        font-weight: 600;
        text-align: center;
        padding: 0;
    }

    .story .desc {
        display: none;
    }

    .story .date {
        font-size: 15px;
        color: #303539;
        font-weight: 400;
        text-align: center;
        padding: 0;
    }

    .story {
        padding-bottom: 0px;
        background-color: #FFF;
        border-top: 1px solid #e0e5e9;
        padding-top: 20px;
        margin-bottom: 20px;
        border-bottom: none;
    }

    .news .story {
        margin-bottom: 0px;
        padding-bottom: 20px;
    }

    .link {
        margin: 0 auto;
        max-width: 200px;
        height: 50px;
        display: block;
        background-color: #bedff8;
        color: #FFF;
        text-align: center;
        line-height: 50px;
        box-shadow: 0 0 0 5px #bedff8, inset 0 0 0 1px #fff;
        text-shadow: 0px 1px 1px #a0a5a9;
        margin-top: 40px;
    }

    .link:hover {
        color: #FFF;
        background-color: #CBECFF;
        box-shadow: 0 0 0 5px #cbecff, inset 0 0 0 1px #fff;
    }

    .link .news-arrow {
        display: none;
    }

    .link:hover .news-arrow {
        display: none;
    }

    .news-email, .news-phone {
        height: 50px;
        background-color: #A5C6DF;
        color: #FFF;
        display: block;
        margin: 0 auto;
        border-radius: 2px;
        line-height: 50px;
        font-size: 16px;
        width: 75%;
        text-align: center;
    }

    .news-phone {
        margin-top: 20px;
    }

    .story .link:active {
        background-color: #BEDFF8;
    }

    .news .story h1, .news .story p  {
        text-align: left;
    }

    #news {
        background-color: #FFF;
    }

    footer {
        padding: 50px 5% 50px 5%;
    }

    .bottom_footer {
        display: block;
    }

    .bottom_footer div {
        width: 100%;
        text-align: center;
        padding-bottom: 10px;
    }

    .bottom_footer div:last-child { 
        text-align: center;
    }

    .bottom_footer a {
        margin-left: 10px;
        margin-right: 10px;
    }

}

@media screen and (max-width: 600px) {

    .cta {
        padding: 50px 5% 50px 5%;
    }

}