/*****************************************/
/********** MAIN BODY ELEMENTS ***********/
/*****************************************/
body,html{height:100%;width:100%}
body{background-color: #333333;color: #000000;font-family: 'Karla', sans-serif;font-size: 16px;margin: 0px 0px 0px 0px;}
footer{line-height:30px;}
/*****************************************/
/********** DESIGN ELEMENTS***************/
/*****************************************/
.btn-primary{background-color:#203a9b;}
.thumbnail{ color: #000000; padding: 10px; }
hr.style1 {display: block; position: relative; padding: 0; margin: 8px auto; height: 0; width: 100%; max-height: 0; font-size: 1px; line-height: 0; clear: both; border: none; border-top: 3px solid #203a9b;}
hr.style2 {display: block; position: relative; padding: 0; margin: 8px auto; height: 0; width: 25%; max-height: 0; font-size: 1px; line-height: 0; clear: both; border: none; border-top: 3px solid #203a9b;}
.darken {box-shadow: inset 2000px 0 0 0 rgba(0, 0, 0, 0.5);}
.page-section {padding: 8rem 0;}
.verticalCenter{margin: 0;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
.sectionVerticalHeader{height: 400px;position: relative;}
.sectionHeaderSpacing{padding-top: 142px;}
.no-padding {padding: 0;}
.no-padding img{width: 100%;}
.containerMax{max-width:1440px;}
.no-padding {padding: 0;}
.no-padding img{width: 100%;}
.padding-0{padding-right:0;padding-left:0;}
.padding-section-25{padding-top: 25px;padding-bottom:25px;}
.padding-section-50{padding-top: 50px;padding-bottom:50px;}
.container-hover{position:relative;width:100%;}
.image{color: #203a9b;opacity:1;display:block;width:100%;height:auto;transition:.5s ease;backface-visibility:hidden;}
.middle{transition:.5s ease;opacity:1;position:absolute;top:55%;left:50%;transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);text-align:center;}
/*****************************************/
/********** HERO IMAGE HOME PAGE**********/
/*****************************************/
.hero{min-height:auto;-webkit-background-size:cover;-moz-background-size:cover;background-size:cover;-o-background-size:cover;background-position:center;background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%), url("../pictures/hyalite-reservoir-bozeman-mt.webp");}
.hero-content{position:relative;width:100%;text-align:center}
.hero-content{padding:100px 15px}
.hero-content .hero-content-inner h1{color:#203a9b;font-weight:700;text-transform:uppercase;font-size:30px;text-shadow: 2px 2px black;}
.hero-content .hero-content-inner hr{margin:30px auto}
.hero-content .hero-content-inner p{font-weight:700;color:#FFFFFF;font-size:18px;text-shadow: 2px 2px black;}
@media (min-width:768px){
.hero{min-height:100%}
.hero-content{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);padding:0 50px}
.hero-content .hero-content-inner{max-width:1000px;margin-left:auto;margin-right:auto}
.hero-content .hero-content-inner h1{font-size:50px}
.hero-content .hero-content-inner p{font-size:30px;max-width:80%;margin-left:auto;margin-right:auto}
}
/*****************************************/
/********** BACKGROUND IMAGES ************/
/*****************************************/
.heroimage1{background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%), url("../pictures/background-highway-bridge.jpg"); width: 100%;min-height: 400px;background-position: center;background-repeat: no-repeat;background-size: cover;}
.heroimage2{background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%), url("../pictures/background-design-plans.jpg"); width: 100%;min-height: 400px;background-position: center;background-repeat: no-repeat;background-size: cover;}
.heroimage3{background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%), url("../pictures/background-bozeman-mt.jpg"); width: 100%;min-height: 400px;background-position: center;background-repeat: no-repeat;background-size: cover;}
.heroimage4{background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%), url("../pictures/background-project.jpg"); width: 100%;min-height: 400px;background-position: center;background-repeat: no-repeat;background-size: cover;}
.bluebackground{background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.1) 100%), url("../pictures/blue-background.jpg"); width: 100%;min-height: 100px;background-position: center;background-repeat: no-repeat;background-size: cover;}
.bluebackground2{background: linear-gradient(to bottom, rgba(37, 100, 255, 0.5) 0%, rgba(161, 185, 255, 0.5) 100%), url("../pictures/background-design-plans.jpg"); width: 100%;min-height: 400px;background-position: center;background-repeat: no-repeat;background-size: cover;}
/*****************************************/
/********** SPACING **********************/
/*****************************************/
@media (min-width: 0px) {.topspacing{padding-top: 73px;} .doubleNavSpacing{padding-top: 53px;}}
@media (min-width: 992px) {.topspacing{padding-top: 100px;} .doubleNavSpacing{padding-top: 143px;}}
.paddingLeftNav{padding-left:20px;}
.sectionBottom50{padding-bottom:50px;}
.section30{padding-top:30px;padding-bottom:30px;}
.cardBuffer{padding:5px;}
/*****************************************/
/********** TEXT *************************/
/*****************************************/
h1{color: #000000; font-family: 'Karla', sans-serif;}
h2{color: #000000; font-family: 'Karla', sans-serif;}
h3{color: #000000;}
h3{color: #000000;}
.whiteText{color:#ffffff;}
.blueLightText{color:#a1b9ff;}
.blueMediumText{color:#203a9b;}
.textShadow{text-shadow: 2px 2px #333333;}
@media (max-width: 575px) {.textHuge{font-size: 50px; font-family: 'Karla', sans-serif;} .textLarge{font-size:30px;} .textMedium{font-size:20px;}}
@media (min-width: 576px) {.textHuge{font-size: 70px; font-family: 'Karla', sans-serif;} .textLarge{font-size:40px;} .textMedium{font-size:24px;}}
/*****************************************/
/********** FILLS AND BACKGROUNDS ********/
/*****************************************/
.black{background-color: #000000; color: #FFFFFF;}
.grayLight{background-color:#CCCCCC; color:#000000;}
.grayDark{background-color:#333333; color:#FFFFFF;}
.white{background-color: #FFFFFF; color: #000000;}
.blueLight{background-color: #a1b9ff; color: #000000;}
.blueMedium{background-color: #203a9b; color: #FFFFFF;}
.blueGradient{background-image: linear-gradient(#203a9b, #a1b9ff);}
/*****************************************/
/********** LINKS ************************/
/*****************************************/
a.a1:link{   color: #000000; font-size: 16px; text-decoration: underline;} /** Standard paragraph links **/
a.a1:visited{color: #000000; font-size: 16px; text-decoration: underline;}
a.a1:hover{  color: #3333FF; font-size: 16px; text-decoration: underline;}
a.a2:link{   color: #000000; font-size: 20px; text-decoration: underline; font-weight: bolder;} /** Large paragraph links **/
a.a2:visited{color: #000000; font-size: 20px; text-decoration: underline; font-weight: bolder;}
a.a2:hover{  color: #3333FF; font-size: 20px; text-decoration: underline; font-weight: bolder;}
a.a3:link{   color: #000000; font-size: 16px; text-decoration: underline;} /**Footer Menu Links **/
a.a3:visited{color: #000000; font-size: 16px; text-decoration: underline;}
a.a3:hover{  color: #203a9b; font-size: 16px; text-decoration: underline;}
a.a4:link{   color: #FFFFFF; font-size: 16px; text-decoration: underline;} /**Bottom Footer Link **/
a.a4:visited{color: #FFFFFF; font-size: 16px; text-decoration: underline;}
a.a4:hover{  color: #a1b9ff; font-size: 16px; text-decoration: underline;}
a.a5:link{color:#FFFFFF;font-size:50px;text-decoration:none;text-shadow:2px 2px #000000;font-family: 'Karla', sans-serif;line-height: 26pt;}
a.a5:visited{color:#FFFFFF;font-size:50px;text-decoration:none;text-shadow:2px 2px #000000;font-family: 'Karla', sans-serif;line-height: 26pt;}
a.a5:hover{color:#203a9b;font-size:50px;text-decoration:none;text-shadow:2px 2px #000000;font-family: 'Karla', sans-serif;line-height: 26pt;}
/*****************************************/
/********** NAVIGATION BARS **************/
/*****************************************/
/*MAIN NAVIGATION BAR STYLE*/
#navbar{background-color:#FFFFFF;padding: 10px 10px;transition: 0.4s;position: fixed;width: 100%;top: 0; border-bottom: 2px solid #000000; z-index: 2;}
#navbar a.nav-link {float: left;color: #203a9b;text-align: center;text-decoration: none;padding: 12px;font-size: 20px; font-family: 'Karla', sans-serif;font-weight: 700;}
#navbar a.nav-main {float: left;color: white;text-align: center;text-decoration: none;padding: 12px 20px;font-size: 20px;background-color: #333333; font-family: 'Karla', sans-serif;}
#navbar a:hover {color:  #a1b9ff;}
#navbar #logo {transition: 0.4s;}
@media screen and (max-width: 580px) {
  #navbar {padding: 10px 10px !important;}
  #navbar a {float: none;display: block;text-align: left;  }
  #navbar-right {float: none;}
}
/*SECONDARY NAVIGATION BAR STYLE ONLY CHANGE ID FOR STYLES KEEP CLASS AS NAVBAR*/
#navbar-2{
    background-color: rgba(51, 51, 51, 1);
    padding: 2px 2px;transition: 0.4s;width: 100%;top: 0;z-index: 99;}
#navbar-2 a.nav-link {float: left;color: #FFF;text-align: center;text-decoration: none;padding: 8px 5px;font-size: 14px; font-family: 'Roboto', sans-serif;font-weight: 700;}
.secondaryIcons{font-size:20px;}
.verticalLine{border-right:1px solid white; margin:4px 25px; height:28px;}
#navbar-2 a.nav-fa {float: left;color: #333333;text-align: center;text-decoration: none;padding: 2px 5px;font-size: 12px;}
#navbar-2 a.nav-main {float: left;color: white;text-align: center;text-decoration: none;padding: 12px 20px;font-size: 20px;background-color: #333333; font-family: 'Roboto', sans-serif;}
#navbar-2 a:hover {color: #dddddd;}
#navbar-2 .navbar-brand{padding: 0px; color:#FFF;font-size:22px;}
#navbar-2 #logo-2 {transition: 0.4s;}
@media screen and (max-width: 580px) {
  #navbar-2 {padding: 10px 10px !important;}
  #navbar-2 a {float: none;display: block;text-align: left;  }
  #navbar-right-2 {float: none;}
}
@media (min-width: 992px){.second-nav-spacing{margin-top:43px;}}
.custom-toggler .navbar-toggler-icon {background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(32, 58, 155, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");}
.custom-toggler .navbar-toggler {border-color: rgb(32, 58, 155);} 
/*****************************************/
/********** YOUTUBE VIDEO SIZING *********/
/*****************************************/
.videoWrapper{position: relative;padding-bottom: 56.25%; padding-top: 25px;height: 0;}
.videoWrapper iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
/*****************************************/
/********** PICTURE ASPECT RATIOS ********/
/*****************************************/
.aspect-ratio-box-inside { position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.aspect-ratio-box-16-9 {height: 0;overflow: hidden;padding-top:56.25%;position: relative;}
.aspect-ratio-box-4-3 {height: 0;overflow: hidden;padding-top:75%;position: relative;}
.aspect-ratio-box-1-1 {height: 0;overflow: hidden;padding-top:100%;position: relative;}
.aspect-ratio-box-hero {height: 0;overflow: hidden;padding-top:41.6666667%;position: relative;}
.aspect-ratio-box-thumbnail {height: 0;overflow: hidden;padding-top:38%;position: relative;}
/*****************************************/
/**********LIGHTBOX GALLERY CSS **********/
/*****************************************/
.no-gutter>[class*=col-]{padding-right:0;padding-left:0}
img::selection{color:#fff;background:0 0}img::-moz-selection{color:#fff;background:0 0}
.section-heading{margin-top:0}.service-box{max-width:400px;margin:50px auto 0}
@media (min-width:992px){.service-box{margin:20px auto 0}}.service-box p{margin-bottom:0}
.portfolio-box{position:relative;display:block;max-width:650px;margin:0 auto}
.portfolio-box .portfolio-box-caption{color:#fff;opacity:0;display:block;background:rgba(29, 73, 153,.8);position:absolute;bottom:0;text-align:center;width:100%;height:100%;transition:all .35s}
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content{width:100%;text-align:center;position:absolute;top:50%;transform:translateY(-50%)}
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category,.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name{font-family:'Open Sans','Helvetica Neue',Arial,sans-serif;padding:0 15px}
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category{text-transform:uppercase;font-weight:600;font-size:14px}
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name{font-size:18px}
.portfolio-box:hover .portfolio-box-caption{opacity:1}.portfolio-box:focus{outline:0}
@media (min-width:768px){.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category{font-size:16px}
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name{font-size:22px}}
.call-to-action h2{margin:0 auto 20px}
/*****************************************/
/**********MAGNIFIC POPUP CSS ***********/
/*****************************************/
.mfp-bg {top: 0;left: 0;width: 100%;height: 100%;z-index: 1042;overflow: hidden;position: fixed;background: #0b0b0b;opacity: 0.8; }
.mfp-wrap {top: 0;left: 0;width: 100%;height: 100%;z-index: 1043;position: fixed;outline: none !important;-webkit-backface-visibility: hidden;}
.mfp-container {text-align: center;position: absolute;width: 100%;height: 100%;left: 0;top: 0;padding: 0 8px;box-sizing: border-box;}
.mfp-container:before {content: '';display: inline-block;height: 100%;vertical-align: middle;}
.mfp-align-top .mfp-container:before {display: none; }
.mfp-content {position: relative;display: inline-block;vertical-align: middle;margin: 0 auto;text-align: left;z-index: 1045;}
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {width: 100%;cursor: auto;}
.mfp-ajax-cur {cursor: progress;}
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {cursor: -moz-zoom-out;cursor: -webkit-zoom-out;cursor: zoom-out;}
.mfp-zoom {cursor: pointer;cursor: -webkit-zoom-in;cursor: -moz-zoom-in;cursor: zoom-in;}
.mfp-auto-cursor .mfp-content {cursor: auto;}
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {-webkit-user-select: none;-moz-user-select: none;user-select: none;}
.mfp-loading.mfp-figure {display: none;}
.mfp-hide {display: none !important;}
.mfp-preloader {color: #CCC;position: absolute;top: 50%;width: auto;text-align: center;margin-top: -0.8em;left: 8px;right: 8px;z-index: 1044;}
.mfp-preloader a {color: #CCC; }.mfp-preloader a:hover {color: #FFF;}
.mfp-s-ready .mfp-preloader {display: none;}
.mfp-s-error .mfp-content {display: none;}
button.mfp-close,
button.mfp-arrow {overflow: visible;cursor: pointer;background: transparent;border: 0;-webkit-appearance: none;display: block;outline: none;padding: 0;z-index: 1046;box-shadow: none;touch-action: manipulation;}
button::-moz-focus-inner {padding: 0;border: 0;}
.mfp-close {width: 44px;height: 44px;line-height: 44px;position: absolute;right: 0;top: 0;text-decoration: none;text-align: center;opacity: 0.65;padding: 0 0 18px 10px;color: #FFF;font-style: normal;font-size: 28px;font-family: Arial, Baskerville, monospace; }
.mfp-close:hover,
.mfp-close:focus {opacity: 1;}
.mfp-close:active {top: 1px;}
.mfp-close-btn-in .mfp-close {color: #333;}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {color: #FFF;right: -6px;text-align: right;padding-right: 6px;width: 100%;}
.mfp-counter {position: absolute;top: 0;right: 0;color: #CCC;font-size: 12px;line-height: 18px;white-space: nowrap; }
.mfp-arrow {position: absolute;opacity: 0.65;margin: 0;top: 50%;margin-top: -55px;padding: 0;width: 90px;height: 110px;-webkit-tap-highlight-color: transparent;}
.mfp-arrow:active {margin-top: -54px;}
.mfp-arrow:hover,
.mfp-arrow:focus {opacity: 1;}
.mfp-arrow:before,
.mfp-arrow:after {content: '';display: block;width: 0;height: 0;position: absolute;left: 0;top: 0;margin-top: 35px;margin-left: 35px;border: medium inset transparent;}
.mfp-arrow:after {border-top-width: 13px;border-bottom-width: 13px;top: 8px;}
.mfp-arrow:before {border-top-width: 21px;border-bottom-width: 21px;opacity: 0.7;}
.mfp-arrow-left {left: 0;}
.mfp-arrow-left:after {border-right: 17px solid #FFF;margin-left: 31px;}
.mfp-arrow-left:before {margin-left: 25px;border-right: 27px solid #3F3F3F;}
.mfp-arrow-right {right: 0;}
.mfp-arrow-right:after {border-left: 17px solid #FFF;margin-left: 39px;}
.mfp-arrow-right:before {border-left: 27px solid #3F3F3F;}
.mfp-iframe-holder {padding-top: 40px;padding-bottom: 40px;}
.mfp-iframe-holder .mfp-content {line-height: 0;width: 100%;max-width: 900px;}
.mfp-iframe-holder .mfp-close {top: -40px;}
.mfp-iframe-scaler {width: 100%;height: 0;overflow: hidden;padding-top: 56.25%;}
.mfp-iframe-scaler iframe {position: absolute;display: block;top: 0;left: 0;width: 100%;height: 100%;box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);background: #000;}
/* Main image in popup */
img.mfp-img {width: auto;max-width: 100%;height: auto;display: block;line-height: 0;box-sizing: border-box;padding: 40px 0 40px;margin: 0 auto;}
/* The shadow behind the image */
.mfp-figure {line-height: 0;}
.mfp-figure:after {content: '';position: absolute;left: 0;top: 40px;bottom: 40px;display: block;right: 0;width: auto;height: auto;z-index: -1;box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);background: #444;}
.mfp-figure small {color: #BDBDBD;display: block;font-size: 12px;line-height: 14px;}
.mfp-figure figure {margin: 0;}
.mfp-bottom-bar {margin-top: -36px;position: absolute;top: 100%;left: 0;width: 100%;cursor: auto;}
.mfp-title {text-align: left;line-height: 18px;color: #F3F3F3;word-wrap: break-word;padding-right: 36px;}
.mfp-image-holder .mfp-content {max-width: 100%;}
.mfp-gallery .mfp-image-holder .mfp-figure {cursor: pointer;}
/*Remove all paddings around the image on small screen*/
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
.mfp-img-mobile .mfp-image-holder {padding-left: 0;padding-right: 0;}
.mfp-img-mobile img.mfp-img {padding: 0;}
.mfp-img-mobile .mfp-figure:after {top: 0;bottom: 0;}
.mfp-img-mobile .mfp-figure small {display: inline;margin-left: 5px;}
.mfp-img-mobile .mfp-bottom-bar {background: rgba(0, 0, 0, 0.6);bottom: 0;margin: 0;top: auto;padding: 3px 5px;position: fixed;box-sizing: border-box;}
.mfp-img-mobile .mfp-bottom-bar:empty {padding: 0;}
.mfp-img-mobile .mfp-counter {right: 5px;top: 3px;}
.mfp-img-mobile .mfp-close {top: 0;right: 0;width: 35px;height: 35px;line-height: 35px;background: rgba(0, 0, 0, 0.6);position: fixed;text-align: center;padding: 0;} 
}
@media all and (max-width: 900px) {
.mfp-arrow {-webkit-transform: scale(0.75);transform: scale(0.75); }.mfp-arrow-left {-webkit-transform-origin: 0;transform-origin: 0; }.mfp-arrow-right {-webkit-transform-origin: 100%;transform-origin: 100%;}
.mfp-container {padding-left: 6px;padding-right: 6px;} 
}