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

:focus {
  outline-style: solid;
  outline-color: orange;
  outline-width: medium;
}

body {
  margin: 0px;
  display: flex;
  flex-direction: column;
}

p {
  line-height: 1.5;
  padding: 16px; 16px;
}

ul.bullet-list {
  line-height: 2;
}

a {
  text-decoration: none;
  color: inherit;
  font-weight: bold;
}

a:hover {
  font-weight: bold;
}

li :focus {
outline-color: lightblue;
}

label, input {
  margin: 4px;
  width: 90%;
  max-width: 500px;
}

form {
  /* background-color: yellow; */
  margin: 0 16px;
}

input, textarea {
  margin: 8px 0 8px 0;
}

img {
  border-radius: 4px;
}

img.logo {
  background-color: rgb(248,255,248);
}

#icon-logo {
  display: none;
  /* background-color: red; */
}

/* Styling Classes */


/* color palettes */
.darkmode {
  background-color: rgba(16,16,16,0.9);
  color: darkgray;
}

.lightmode {
  background-color: rgba(248,255,248,0.9);
  color: rgb(64,64,64);
}

.bg-blue {
  background-color: rgb(16,64,128);
  color: beige;
}

.bg-design {
  background-image: url('https://towbridgeds.com/images/design_tx.svg');
  background-repeat: no-repeat;
  background-origin: border-box;
  background-position: center;
  background-size: contain;
  background-blend-mode: color-dodge;
}

.bg-build {
  background-image: url('../images/build_tx.svg');
  background-repeat: no-repeat;
  background-origin: border-box;
  background-position: center;
  background-size: contain;
  background-blend-mode: color-dodge;
}

.bg-deploy {
  background-image: url('../images/deploy_tx.svg');
  background-repeat: no-repeat;
  background-origin: border-box;
  background-position: center;
  background-size: contain;
  background-blend-mode: color-dodge;
}

.bg-white {
  background-color: rgb(240,240,240);
  color: rgb(16,16,16);
}

.bg-light-blue {
  background-color: lightblue;
  color: black;
}

.bg-orange {
  background-color: darkorange;
  color: rgb(8,32,64);
}

.bg-green {
  background-color: rgb(32,64,32);
  color: beige;
}

.bg-translucent-gray {
  background-color: rgba(8,32,64,0.5);
  color: beige;
}
/* Font styles */

.default-page {
  font-family:  'Raleway', sans-serif;
}

.subtle {
}

.emphatic {
  font-size: 30px;
  font-weight: bold;
}

/* borders */

.bordered {
  border: 1px solid black;
}

.headlines {
  font-size: 1.25em;
  /* color: red; */
}

/* page elements */

header {

  display: grid;
  align-items: center;
  grid-template-columns: 15% 70% 15%;
  grid-template-areas: 'header-left header-center header-right';

  width: 100%;

  background-image: url('https://www.towbridgeds.com/images/desert.banner.jpg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

}

#page-header {
  margin-top: 120px;
}

#index-header {
  margin-top: 120px;
  height: 500px;
}

#section-logo {
  grid-area: header-left;

  display: flex;
  justify-content: space-around;

  /* padding: 16px 8px; */

}

.logo img {
  height: 150px;
  border-radius: 4px;
  background-color: white;
}


#section-banner {
  grid-area: header-center;
  padding: 16px 8px;
  transition: 0.4s;
}

#index-header h1 {
  font-size: 6em;
}

.banner h1 {

  font-size: 4em;
  font-family: 'Raleway', san-serif;
  border-radius: 10px;
  padding: 10px;
  text-align: center;
  transition: 0.4s;
}

/* navigation */


nav ul {
  list-style: none;
}

nav li {
  padding: 4px;
  border-radius: 4px;
  font-weight: bold;
  margin: 0px 3%;
  transition: 0.4s;
}

nav li.active {
  background-color: orange;
  /* rgb(178, 90, 2); */
  color: rgb(16,64,128); /* #DAF7A6; */
}

#section-nav {
  position: fixed;
  top: 0;
  display: inline-flex;
  justify-content: space-between;
  align-content: center;
  /* background-color: yellow; */
  width:100%;
  z-index: 1;
}

nav.horizontal {
  /* position: fixed; */
  display: inline-flex;
  justify-content: space-around;
  align-content: center;
  /* width: 100%; */
  min-width: 50%;
  height: 120px;
  z-index: 1;
}

nav.horizontal ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0;
  padding: 8px;

  width: 100%;
  height: 100%;
}

nav.vertical ul {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  align-content: center;

  margin: 0px 10px;
  padding: 10px;
}

nav.vertical li {
  margin: 4px 0px;
}

/* Main */
main {
  display: grid;
  align-items: center;
  grid-template-columns: 5% 90% 5%;
  grid-template-areas:
  'main-section-left main-section-top-center main-section-right'
  'main-section-left main-section-bottom-center main-section-right';
  /* background-color: yellow; */
}

main section {
  /* margin: 16px 8px 16px 8px; */
}

main section.top-center {
  grid-area: main-section-top-center;
  /* background-color: red; */
}

main section.left {
  grid-area: main-section-left;
}

main section.right {
  grid-area: main-section-right;
}

main section.bottom-center {
  grid-area: main-section-bottom-center;
  /* background-color: purple; */
}

main section .title {
  border-radius: 10px;
  padding: 4px;

  text-align: center;
}

h3.title {
  font-size: 3em;
  font-family: 'Raleway', san-serif;
  transition: 0.4s;
}

h4.title {
  font-size: 2em;
  font-family: 'Raleway', san-serif;
  transition: 0.4s;
}

main section.content-one-column {
  /* Layout  */
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

main section.content-two-column {
  /* Layout  */
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

main section.content-two-column article {
  margin: 1%;
  flex-shrink: 1;
  max-width: 48%;
}

main section article .title {
  border-radius: 10px;
  padding: 4px;

  text-align: center;
}

main article.featured p {
  font-size: 24px;
  text-align: center;
}

main article.featured .title {
  font-size: 32px;
  text-align: center;
}

main section.card-deck {
  /* Layout  */
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around;
  /* align-items: flex-start; */

  /* height: 90%; */
  margin: 5% 0;

  /* background-color: pink; */
}

main article.card {
  /* position: sticky; */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  /* align-items: flex-end; */

  /* top: 100px; */
  border-radius: 16px;
  height: 100%;
  width: 30%;

  /* max-width: 90%; */
  margin: 0 2%;
  transition: 0.4s;

}

.card-image {
  display: inline-flex;
  justify-content: center;
  align-items: center;

  width: 100%;

  /* margin: 30px 30px; */
}

.inset-card-image {
  display: flex;
  justify-content: center;
  align-items: center;

  margin: 0px 16px;
}

.card p {
  align-self: flex-end;
}

.card img {
  /* width: 80%; */
  max-width: 200px;
  min-width: 150px;
}

.related-story img {
  float: right;
  margin: 16px;
  width: 50%;
  min-width: 200px;
  max-width: 400px;
}

.readmore {
  background-color: #B25A02;
  color: black;
  padding: 4px;
  margin: 16px;

  border-radius: 4px;

  float: right;
  align-self: flex-end;
}


/* Footer */

footer {
  padding: 8px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  background-color: rgb(21,67,128);
  color: white;
}

#footer-left {
  flex: 1;
  padding-left: 32px;
  /* margin: 10px 2px; */
  border-right: 1px solid black;
}

#footer-left ul {
  padding: 0;
  list-style: none;
  line-height: 1.5;
}

#footer-right {
  flex: 2;
  text-align: center;
  padding: 8px;
}

nav.social-media {
  color: white;
  transition: 0.4s;
}

nav.social-media ul {
  display: flex;
  list-style: none;
  justify-content: space-around;
  padding: 0;
  width: 100%;
}

nav.social-media ul li {
  font-size: 2.5em;
  padding: .25em;
  transition: 0.4s;
}

.fa-linkedin:hover {
  color: #0077B5  ;
}

.fa-twitter:hover {
  color: #55acee;
}

.fa-github:hover {
  color: #bbb;
}


@media(max-width:1200px) {

  main {
    width: 100%;
    grid-template-columns: 60% 40%;
    grid-template-areas:
    'main-section-top-center main-section-top-center'
    'main-section-bottom-center main-section-bottom-center'
    'main-section-left main-section-right';
    transition: 0.4s;
  }

  #section-banner h1 {
    font-size: 4em;
    transition: 0.4s;
    padding: 4px;
  }

  #location-map {
    width: 100%;
  }

}

@media(max-width: 800px) {
  main {
    width: 100%;
  }

  main section.content-two-column article {
    max-width: 100%;
    transition: 0.4s;
  }

  header {
    display: flex;
    justify-content: flex-start;
    align-items: center;

    transition: 0.4s;
  }

  #section-logo {
    display: none;
  }

  #header-right {
    display: none;
  }

  #nav-sidebar {
    display: none;
  }

  nav li {
    margin: 0 2%;
    transition: 0.4s;
  }

  main section.card-deck {
    flex-direction: column;
    align-items: center;
    margin: 5% 5%;
    transition: 0.4s;

    /* background-color: pink; */
  }

  main section .card {
    width: 100%;
    margin: 2% 0;
    transition: 0.4s;
  }

  #horizontal-logo {
    display: none;
    /* background-color: red; */
  }

  #icon-logo {
    display: inline;
  }

}


@media(max-width:675px) {

  main {
    width: 100%;
    grid-template-columns: 100%;
    grid-template-areas:
    'main-section-top-center'
    'main-section-bottom-center'
    ;
  }

  #section-banner h1 {
    font-size: 3em;
    transition: 0.4s;
  }

  h3.title {
    font-size: 2em;
    transition: 0.4s;
  }

  .card-image {
    display: none;
  }

}


@media(max-width:425px) {
  main {
    width: 100%;
  }

  #section-banner  {
      font-size: 1em;
      padding: 0 0;
      margin: 0 0;
      transition: 0.4s;
  }

  nav.social-media ul li {
    font-size: 2.2em;
    padding: .1em;
    transition: 0.4s;
  }

  #horizontal-logo {
    display: none;
  }

  #icon-logo {
    display: none;
  }
}
