* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.dark-background {
    background-color: #222222;
}

.light-background {
    background-color: rgba(153,153,153,0.5);
}

.container {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
}

.container-fluid {
    padding-left: 0;
    padding-right: 0;
}

[class*="col-"] {
    padding: 0;
}

.footer {
    max-width: 100vw;
    min-height: 3em;
    background-color: #333333;
    color: white;
    vertical-align: bottom;
    padding-left: 1.25em;
    padding-right: 1.25em;
}

.footer-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

/* Logo */

.nav {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.logo-icon {
    width: 100px;
    height: auto;
    background-color: transparent;    
    padding-bottom: 0;
}

.logo-text {
    font-family: "Montserrat";
    font-weight: 100;    
    color:#fff;
    font-size: 1.5em;
    font-variant-caps: all-petite-caps;
}

/* Menu */

#menu-button {
    position: absolute;    
    right: 15px;
    top: 15px;
    padding: 10px 10px;
    border: none;
    background-color: transparent;
    display: block;
    cursor: pointer;
    user-select: none;
    z-index: 5;    
}
    
.top {
    top: 6px;
    right: 0px;
    height: .15em;
    width: 1.5em;
    margin-bottom: .1em;
    border-radius: 2px;
    background-color: #5B9BD5;   
    position: absolute;
    transition: all .2s ease-in-out;    
}
    
.mid {
    top: 12px;
    right: 0px;
    height: .15em;
    width: 1.5em;
    margin-bottom: .1em;    
    border-radius: 2px;
    background-color: #5B9BD5;
    position: absolute;
    transition: all .2s ease-in-out;
}    
    
.bottom {
    top: 18px;
    right: 0px;
    height: .15em;
    width: 1.5em;   
    border-radius: 2px;
    background-color: #5B9BD5; 
    position: absolute;
    transition: all .2s ease-in-out;
}
    
.closemid {
    background-color: transparent;
}  
    
.closetop {
    transform: rotate(45deg) translate(32%, 32%);
    opacity: 1;
}
    
.closebottom {
    transform: rotate(-45deg) translate(32%, -32%);
}

.menu-container {
    margin-top: 0;
    padding-right: 2em;
    background: transparent;
    background-color: rgba(64,64,64,0.90);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 75px;
}

#menu-items {
    top: -5px;
    right: 0;   
    z-index: 4;
    position: fixed;
}

.visibility {
    visibility: hidden;
}

.backarrow {
    display: block;
}

/* Scrolling Anchor Navigation */

.anchor-nav {
	position: fixed;
	top: 60%;
    right: 2.5rem;
	bottom: auto;
	z-index: 6;
}

.anchor-nav-ul {
	list-style: none;
	padding: 0;
}

.anchor-nav-li {
	padding: 7px 0;
    text-align: right;
    margin-bottom: auto;
}

.anchor-item {
    visibility: hidden;
}

.anchor-nav a {
	display: inline-block;
	color: #0070C0;
	text-decoration: none;
	font-size: 1em;
}

.anchor-nav .rect {
    border-right: 1px solid #0070C0;
    border-radius: 2px;
    padding-left: 10px;
}

.scroll, .scroll .label {
    color: #0070C0;
}

.anchor-nav a:hover .anchor-item, .anchor-nav .active-section .anchor-item {
    visibility: visible;
	color: #fff;
}

.anchor-nav a:hover .rect, .anchor-nav .active-section .rect {
    border-right: 1px solid #fff;
}

/* Hero Overlays and Images */

.nav-link {
    font-family: "Poppins";
    font-weight: 100;
    color: #fff;
}

.nav-link:hover {
    color: #169BD5;    
}

a.active {
    border-bottom: 2px solid #169BD5;
}

.jumbotron {
    position: relative;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;
}

.jumbotron__half {
    position: relative;
    left: 0;
    width: 100vw;
    height:75vh;
    background-color: #000;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;
} 

.overlay__elements {
    position: absolute;
    top: 35%;
    left: 25%;
    background-color: rgba(91,155,213,0.75);
    width: 100vw;
    height: 35%;
}

.overlay__full {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.55);
    width: 100vw;
    height: 100%;
}

.h1__cover-home {
    position: absolute;
    top: 40%;
    right: 0;
    font-family: "Montserrat";
    font-weight: 100;
    color:#fff;
    font-size: 3em;
    margin-right: 10px;
    align-self: flex-end;
}

.h5__cover-home {
    position: absolute;
    top: 55%;
    right: 0;    
    font-family: "Montserrat";
    font-weight: 100;    
    color:#fff;
    font-size:1.25em;
    font-variant-caps: all-petite-caps;   
    margin-right: 1em;
    margin-bottom: 30px;
    align-self: flex-end;
}

.p__cover-home {
    font-family: "Nunito Sans";
    font-weight: 100;
    color:#fff;
    font-size: 1.25em;
    margin-right: 20px;
    padding-bottom: 10px;
    align-self: flex-end;
}

.h1__cover {
    position: absolute;
    top: 40%;
    left: 30%;
    font-family: "Montserrat";
    font-weight: 100;
    color:#fff;
    font-size: 3em;    
}

.h5__cover {
    position: absolute;
    top: 57%;
    left: 30%;
    max-width: 50%;    
    font-family: "Montserrat";
    font-weight: 100;    
    color:#fff;
    font-size:1.5em;
}

.h1__cover-dark {  
    font-family: "Montserrat";    
    font-weight: 100;    
    color:white;
    font-size: 5vmin;
    vertical-align: middle;    
}

.overlay__button {
    padding-top: 20px;   
}


/* Section Styles */

.section-style {
    margin: 1.5rem;
    width: 100vw;
    height: 100vh;
}

.case-section-style {
    width: 100vw;
    min-height: 50vh;
    padding: 1em;
}

.dark {
    background-color: #000;
}

/* Button Styles */

.btn {
    font-family: "Poppins";
    font-size: 2.5vmin;
    text-decoration:none;
    cursor: pointer;
}

.btn__logo-bug {
    max-width: 3em;
    vertical-align: middle;
}

.btn__link {
    color:#169BD5;
    text-decoration: none;
    border: none;
    background: none;
    margin: 10px;
}

.btn__link-dark {
    color:#FFFFFF;
    text-decoration: none;
    border: none;
    background: none;
}

.btn__link:hover, .btn__link-dark:hover {
    color:#169BD5;
    text-decoration:underline
}

.btn__primary {
    max-width: 300px;
    padding:6px 12px;
    color:#00528D;
    background-color:#fff;    
    border:1px solid #00528D;
    border-radius: 5px;
    text-transform:uppercase;
}

.btn__primary:hover {
    color: #fff;
    background-color:#00528D;
    border:1px solid #00528D;
}

.btn__primary-filled {
    max-width: 300px;
    padding:6px 12px;
    color: #fff;
    background-color:#00528D;
    border:1px solid #00528D;
    border-radius: 5px;    
    text-transform:uppercase;
}

.btn__primary-filled:hover {
    color: #00528D;
    background-color:#fff;
    border:1px solid #00528D;
}

.centered {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Text Styles */

.headers {
    font-family: "Poppins";
    font-weight: 300;
    margin-bottom: 1em;
}

.inline {
    display: inline-block;
}

.h1 {
    font-size:2.75em;
}

.h1__panel {
    display:block;
    color:#333;
}

.h2 {
    font-size:2.25em;
}

.h3 {
    font-size:1.5em;    
}

.h4 {   
    font-size:1.25em;    
}

.h5 {
    font-size:1em;
    font-stretch: expanded;
    margin-bottom: .75em;    
}

.expanded {
    font-stretch: expanded;
}

.label {
    font-family: "Raleway";
    font-weight: 400;
    font-variant-caps: all-petite-caps;
    color: #0070C0;
}

.label__dark {
    font-family: "Raleway";
    font-weight: 400;    
    font-variant-caps: all-petite-caps;
    color: #fff;
}

p {
    font-family: "Raleway";
    font-weight: 400;    
    font-size: 1.25em;
}

ul {
    margin-left: 2em;
}

li {
    margin-bottom: .75em;
    font-family: "Raleway";
    font-weight: 400;
    font-size: 1.25em;
}

.tag-cloud {
    display: inline;
    list-style-type: none;
}

.tag-cloud li {
    display: inline;
    padding-left: 0;
    padding-right: 3px;
}

.tag-large {
    color: #0070C0;
    font-size: 2em;
}

.tag-medium {
    font-size: 1.5em; 
}

.table-centered {
    table-layout: fixed;
    width: 100%;
}

.td-padding {
    font-family: "Raleway";
    text-align: center;
    padding-top: 10px;
}

/* Callout Boxes */

.callout__text {
    height: 100%;
    font-family: "Raleway";
    font-weight: 400;    
    font-style: italic;
}

/* Image and Iconic Styles */

img {
    width: inherit;
    padding-bottom: .75em;
}

.column-img {
    width: auto;
    height: 60vh;
}

.card-icon {
    font-size: 12px;
}

i {
    width: 30px;
    height: auto;
}

iframe {
    width: 100%
    height: auto;
}

img.icon {
    max-width: 3em;
    padding-right: 10px;
}

.horizontal-line:after {
    content: " ";
    display: block;
    margin-top: .5em;
    border-bottom: 2px solid #5B9BD5;
}

.vertical-line:after {
    content: " ";
    display: inline;
    margin-left: .5em;
    margin-right: .5em;
    border-right: 2px solid #5B9BD5;
}

/* Carousel */

.carousel {
    max-width: 1000px;
    height: auto; 
    position: relative;
    margin: auto;
    border: #000;
}

.carousel-item {
    height: auto;
    border-color: #000;    
}

.carousel-indicators {
    width: auto;
    height: 20px;
    background-color: rgba(0,0,0,.5);
}

/* Cards */

.card {
    transition: transform 1s;
}

.card:hover {
    transform: scale(1.1,1.1);
}

/* Timeline */

.timeline {
	 display: flex;
	 margin: 0 auto;
	 flex-wrap: wrap;
	 flex-direction: column;
	 max-width: 700px;
	 position: relative;
}
 .timeline__content-title {
     font-family: "Montserrat";
     font-weight: 200;
     font-size: 4em;
	 margin: -10px 0 0 0;
	 transition: 0.4s;
	 padding: 0 10px;
	 box-sizing: border-box;
	 color: #fff;
}
 .timeline__content-desc {
     font-family: "Nunito Sans";
     font-size: 1em;
	 margin: 0;
	 box-sizing: border-box;
	 color: rgba(255, 255, 255, .7);
	 line-height: 25px;
}
 .timeline:before {
	 position: absolute;
	 left: 50%;
	 width: 2px;
	 height: 100%;
	 margin-left: -1px;
	 content: "";
	 background: rgba(255, 255, 255, .07);
}

 .timeline-item {
	 padding: 40px 0;
	 opacity: 0.3;
	 filter: blur(2px);
	 transition: 0.5s;
	 box-sizing: border-box;
	 width: calc(50% - 40px);
	 display: flex;
	 position: relative;
	 transform: translateY(-80px);
}
 .timeline-item:before {
	 content: attr(data-text);
	 letter-spacing: 3px;
	 width: 100%;
	 position: absolute;
	 color: rgba(255, 255, 255, .5);
	 font-size: 13px;
	 border-left: 2px solid rgba(255, 255, 255, .5);
	 top: 70%;
	 margin-top: -5px;
	 padding-left: 15px;
	 opacity: 1;
	 right: calc(-100% - 56px);
}
 .timeline-item:nth-child(even) {
	 align-self: flex-end;
}
 .timeline-item:nth-child(even):before {
	 right: auto;
	 text-align: right;
	 left: calc(-100% - 56px);
	 padding-left: 0;
	 border-left: none;
	 border-right: 2px solid rgba(255, 255, 255, .5);
	 padding-right: 15px;
}
 .timeline-item--active {
	 opacity: 1;
	 transform: translateY(0);
	 filter: blur(0px);
}
 .timeline-item--active:before {
	 top: 50%;
	 transition: 0.3s all 0.2s;
	 opacity: 1;
}
 .timeline-item--active .timeline__content-title {
	 margin: -50px 0 20px 0;
}

 .timeline__img {
	 max-width: 100%;
	 box-shadow: 0 10px 15px rgba(0, 0, 0, .4);
}

 .timeline-container {
	 width: 100%;
	 position: relative;
	 padding: 80px 0;
	 transition: 0.3s ease 0s;
	 background-attachment: fixed;
	 background-size: cover;
}
 .timeline-container:before {
	 position: absolute;
	 left: 0;
	 top: 0;
	 width: 100%;
	 height: 100%;
	 background: rgba(99, 99, 99, 0.8);
	 content: "";
}
 .timeline-header {
	 width: 100%;
	 text-align: center;
	 margin-bottom: 80px;
	 position: relative;
}
 .timeline-header__title {
	 color: #fff;
	 margin: 0;
}
 .timeline-header__subtitle {
	 color: rgba(255, 255, 255, .5);
	 letter-spacing: 5px;
	 margin: 10px 0 0 0;
}

/* Forms */

::placeholder {
    color: #333;
    font-family: "Raleway";
    font-size: .75em;
}

/* MEDIA QUERIES */

/* Mobile Styles */
@media only screen and (max-width: 414px) {
    
.logo-icon {
    width: 50px;
    height: auto;
    background-color: transparent;    
    padding-bottom: 0;
}

.logo-text {
    font-family: "Montserrat";
    font-weight: 100;    
    color:#fff;
    font-size: .75em;
    font-variant-caps: all-petite-caps;
}
    
.anchor-nav, .anchor-nav a:hover .anchor-item, .anchor-nav .active-section .anchor-item {
    visibility: hidden;
}
    
.menu-container {
    margin-top: 0;
    padding-right: 2em;
    background: transparent;
    background-color: rgba(64,64,64,0.90);
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
    height: auto;
}    

.container-fluid {
    padding-left: 0;
    padding-right: 0;
}
    
.jumbotron {
    position: relative;
    top: 0;
    left: 0;
    width: 100vw;
    height: 40vh;
    background-color: #000;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;
}
    
.h1__cover-home {
    font-family: "Montserrat";
    font-weight: 100;
    color:#fff;
    font-size: 1em;
    align-self: flex-end;
}

.h5__cover-home {
    font-family: "Montserrat";
    font-weight: 100;    
    color:#fff;
    font-size:.25em;
    font-variant-caps: all-petite-caps;
    font-stretch: expanded;
    align-self: flex-end;
}
    
.overlay__elements {
    position: absolute;
    top: 35%;
    left: 25%;
    background-color: rgba(91,155,213,0.75);
    width: 100vw;
    height: 50%;
}    
    
.h1__cover {
    position: absolute;
    top: 40%;
    left: 20%;
    font-family: "Montserrat";
    font-weight: 100;
    color:#fff;
    font-size: 1.25em;    
}

.h5__cover {
    position: absolute;
    top: 57%;
    left: 20%;
    max-width: 65%;
    font-family: "Montserrat";
    font-weight: 100;    
    color:#fff;
    font-size: .75em;
}

.h1__cover-dark {  
    font-family: "Montserrat";    
    font-weight: 100;    
    color:white;
    font-size: 5vmin;
    vertical-align: middle;    
}    
    
.section-style {
    margin: 1em;
    padding: .5em;
    height: auto;
}
    
.case-section-style {
    width: 100vw;
    min-height: 50vh;
    margin: .25em;
    padding: 1em;
}
    
.btn {
    font-size: 4vmin;
}    
    
.column-img {
    margin: 0;
    width: 100vw;
    height: auto;
}    

.prev, .next, .text {
    font-size: 11px
}   
    
.callout__text {
    font-size:1em;
    padding-left: 1em;
    padding-right: 1em;
}    
    
p {
    font-size: 1em;
    width: 90vw;
}
    
form {
    margin-left: .5em;
    margin-right: .5em;
}    

.footer-item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-left: 1.25em;
}    
    
.footer-links {
    display: flex;
    flex-direction: row;
    justify-content: center;
}
    
}

/* Small Tablet Styles */
 @media only screen and (max-width: 767px) {
     
.timeline:before {
		 left: 40px;
}
     
.timeline-item {
    align-self: baseline;
    width: 100%;
    padding: 0 30px 150px 80px;
}
     
.timeline-item:before {
    left: 10px;
    padding: 0;
    top: 50px;
    text-align: center;
    width: 60px;
    border: none;
}
.timeline-item:last-child {
    padding-bottom: 40px;
}  
        
     
}
/* Tablet Styles */
@media only screen and (min-width: 415px) and (max-width: 1279px) {

.callout__text {
    font-size: 1.35em;
}
    
p {
    font-size: 1em;
}   
 
}

/* Desktop Styles */
@media only screen and (min-width: 1280px) and (max-width: 1918px){

.callout__text {
    font-size: 1.75em;
}   
    
}

/* Extra Large Desktop Styles */
@media only screen and (min-width: 1919px) {

.callout__text {
    font-size:2em;
}   
    
}

