@import url("fonts.css");
html, body {
  height: 100%; }

body {
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

p {
  margin: 0; }

a {
  text-decoration: none; }

.container {
  width: 1170px;
  height: auto;
  display: flex;
  margin: auto;
  position: relative; }
  @media screen and (max-width: 1200px) {
    .container {
      width: 95%; } }

.full {
  height: 100vh; }

.column {
  flex-direction: column; }

.space-between {
  justify-content: space-between; }

.space-around {
  justify-content: space-around; }

.align-center {
  align-items: center; }

section {
  width: 100%;
  height: 100vh; }

.auto {
  height: auto; }

.overlay {
  width: 100%;
  height: 100vh;
  background-color: #fff;
  opacity: 0.5;
  z-index: 5;
  position: fixed;
  top: 0;
  left: 0;
  display: none; }

.modal {
  width: 40%;
  height: 90%;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  background-color: #fff;
  z-index: 11;
  display: none; }
  .modal #close-modal {
    position: absolute;
    font-size: 30px;
    color: #fff;
    right: -30px;
    top: -30px; }

main {
  margin-top: 80px; }
  @media screen and (max-width: 960px) {
    main {
      margin-top: 60px; } }

.sidebar {
  width: 290px;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #3d3d3d;
  z-index: 11;
  display: none;
  flex-direction: column; }
  .sidebar .logo {
    width: 100px;
    height: 100px;
    margin: 0px auto 0px auto; }
  .sidebar #close-sidebar {
    position: absolute;
    font-size: 30px;
    right: -30px;
    top: 10px;
    cursor: pointer;
    color: #ff3900; }
  .sidebar .links-wrapper {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    margin: 0px auto 0px auto; }
    .sidebar .links-wrapper a {
      color: #fff;
      padding-left: 10px;
      width: calc(100% - 10px);
      display: flex;
      align-items: center;
      height: 40px;
      font-size: 13px;
      font-family: 'GothamPro-Medium'; }
      .sidebar .links-wrapper a:hover {
        cursor: pointer;
        background-color: #4d4d4d; }

.round-btn {
  font-family: 'GothamPro';
  padding: 10px 30px;
  background-color: transparent;
  border-radius: 40px;
  border: 1px solid #3d3d3d;
  font-size: 18px;
  outline: none;
  transition: .1s ease-in-out; }
  .round-btn:hover {
    cursor: pointer;
    background-color: #ff3900;
    border: 1px solid #ff3900;
    color: #fff;
    font-size: 16px; }

.breadcrumb {
  width: auto;
  height: 30px;
  display: flex;
  align-items: center;
  margin-top: 20px; }
  .breadcrumb a {
    white-space: nowrap; }
  @media screen and (max-width: 640px) {
    .breadcrumb {
      font-size: 13px; } }
  @media screen and (max-width: 500px) {
    .breadcrumb {
      display: none; } }
  .breadcrumb a {
    font-family: 'GothamPro-Medium';
    color: #3d3d3d;
    margin-left: 10px; }
    .breadcrumb a:hover {
      color: #ff3900; }
    .breadcrumb a:first-child {
      margin-left: 0px; }
    .breadcrumb a:last-child {
      color: #ff3900; }
  .breadcrumb i {
    margin-left: 10px;
    color: #3d3d3d; }

.welcome {
  background-image: url(../images/bridge-header.png);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  background-color: #d7d7d7;
  height: 50vh; }

.navigation {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #d7d7d7;
  position: fixed;
  z-index: 10;
  top: 0;
  border-bottom: 1px solid #3d3d3d;
  left: 0; }
  @media screen and (max-width: 960px) {
    .navigation {
      height: 60px; } }

#open-sidebar {
  font-size: 30px;
  position: absolute;
  display: none;
  bottom: -15px;
  cursor: pointer; }
  @media screen and (max-width: 960px) {
    #open-sidebar {
      display: block; } }

.logotype {
  max-width: 80px;
  max-height: 80px; }
  @media screen and (max-width: 1050px) {
    .logotype {
      display: none; } }

.links {
  width: 85%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media screen and (max-width: 1050px) {
    .links {
      width: 90%;
      margin: auto; } }
  @media screen and (max-width: 960px) {
    .links {
      display: none; } }
  .links .slide-down {
    width: auto;
    height: auto;
    position: relative; }
    .links .slide-down a {
      font-family: 'GothamPro';
      color: #3d3d3d;
      font-size: 19px; }
      .links .slide-down a i {
        position: absolute;
        right: -15px;
        bottom: 4px; }
      .links .slide-down a:hover {
        color: #ff3900; }
        .links .slide-down a:hover i {
          color: #ff3900; }
    .links .slide-down .wrapper {
      width: 250px;
      height: 50px;
      position: absolute;
      display: none; }
    .links .slide-down .content {
      width: auto;
      height: auto;
      position: absolute;
      background-color: #d7d7d7;
      flex-direction: column;
      display: flex;
      margin-top: 28px; }
      .links .slide-down .content a {
        white-space: nowrap;
        padding-right: 10px;
        margin: 0px 0px 10px 10px; }
        .links .slide-down .content a:first-child {
          margin-top: 15px; }
        .links .slide-down .content a:last-child {
          margin-bottom: 15px; }
      .links .slide-down .content .row {
        width: auto;
        height: auto;
        display: flex;
        margin: 0px 10px 10px 10px;
        font-size: 16px;
        color: #3d3d3d; }
        .links .slide-down .content .row i {
          margin-right: 5px; }
        .links .slide-down .content .row p {
          font-size: 19px;
          white-space: nowrap;
          font-family: 'GothamPro'; }
        .links .slide-down .content .row:first-child {
          margin-top: 10px; }
        .links .slide-down .content .row:nth-child(2) i {
          transform: rotate(90deg); }
    .links .slide-down:hover .wrapper {
      display: block; }
  .links #text-to-find {
    font-family: 'GothamPro';
    border-radius: 20px;
    background-color: transparent;
    border: 1px solid #3d3d3d;
    outline: none;
    padding: 10px 30px 8px 20px;
    color: #3d3d3d;
    font-size: 16px; }
    .links #text-to-find::placeholder {
      color: #3d3d3d; }
    .links #text-to-find::-webkit-search-cancel-button {
      display: none; }
  .links #close-search {
    position: absolute;
    right: 10px;
    top: 30px;
    background-color: transparent;
    border: none;
    outline: none;
    color: #3d3d3d; }
    .links #close-search i {
      font-size: 18px; }

.welcome .centered-container {
  width: 100%;
  height: auto;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%) translateY(-40%);
  font-size: 10px; }
  @media screen and (max-width: 960px) {
    .welcome .centered-container {
      font-size: 9px; } }
  @media screen and (max-width: 670px) {
    .welcome .centered-container {
      font-size: 8px; } }
  @media screen and (max-width: 480px) {
    .welcome .centered-container {
      font-size: 6px; } }
  .welcome .centered-container h1 {
    font-family: 'GothamPro';
    color: #3d3d3d;
    font-size: 9em;
    text-transform: uppercase; }
    @media screen and (max-width: 960px) {
      .welcome .centered-container h1 {
        font-size: 7em; } }
    @media screen and (max-width: 670px) {
      .welcome .centered-container h1 {
        font-size: 6em; } }
    @media screen and (max-width: 480px) {
      .welcome .centered-container h1 {
        font-size: 5.5em; } }
  .welcome .centered-container h2 {
    font-family: 'GothamPro';
    color: #3d3d3d;
    font-size: 4.5em; }
    @media screen and (max-width: 480px) {
      .welcome .centered-container h2 {
        font-size: 4em; } }
  .welcome .centered-container .round-btn {
    padding: 20px 30px 18px 30px;
    width: 190px;
    margin-top: 30px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3d3d3d; }
    .welcome .centered-container .round-btn:hover {
      color: #fff; }
    @media screen and (max-width: 480px) {
      .welcome .centered-container .round-btn {
        margin-top: 10px;
        padding: 10px 15px 9px 15px; } }

.about {
  height: auto;
  margin-bottom: 30px; }
  .about h1 {
    font-size: 33px;
    font-family: 'GothamPro-Light';
    text-align: center;
    margin-top: 30px;
    color: #3d3d3d; }
    @media screen and (max-width: 640px) {
      .about h1 {
        font-size: 23px; } }
  .about #text {
    margin-top: 40px; }
  .about p {
    font-size: 20px;
    line-height: 1.5;
    font-family: 'GothamPro'; }
  .about .round-btn {
    margin-top: 10px;
    width: 230px; }
  .about #output-about {
    display: none; }

.project-directions {
  margin: 20px 0px 30px 0px;
  height: auto; }
  .project-directions .container h1 {
    font-size: 33px;
    font-family: 'GothamPro-Light';
    text-align: center;
    color: #3d3d3d; }
    @media screen and (max-width: 640px) {
      .project-directions .container h1 {
        font-size: 30px; } }
  .project-directions .icons-row {
    margin-top: 40px;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media screen and (max-width: 1100px) {
      .project-directions .icons-row {
        justify-content: center; } }
    .project-directions .icons-row a {
      color: #000; }
    .project-directions .icons-row .icon {
      width: 180px;
      height: 160px;
      display: flex;
      flex-direction: column;
      margin-top: 20px;
      position: relative; }
      .project-directions .icons-row .icon img {
        width: 50px;
        height: 50px;
        margin: 0px auto 0px auto; }
      .project-directions .icons-row .icon .hidden {
        width: 50px;
        height: 50px;
        margin: 0px auto 0px auto;
        display: none; }
      .project-directions .icons-row .icon p {
        font-size: 18px;
        text-align: center;
        margin-top: 20px;
        font-family: 'GothamPro'; }
      .project-directions .icons-row .icon:hover {
        color: #ff3900; }
        .project-directions .icons-row .icon:hover img {
          display: none; }
        .project-directions .icons-row .icon:hover .hidden {
          display: block; }

.full-complex {
  margin: 20px 0px 0px 0px;
  height: auto; }
  .full-complex .container h1 {
    font-size: 33px;
    font-family: 'GothamPro-Light';
    text-align: center;
    color: #3d3d3d; }
    @media screen and (max-width: 640px) {
      .full-complex .container h1 {
        font-size: 23px; } }
  .full-complex ul {
    font-family: 'GothamPro';
    margin: 40px 0px 30px;
    font-size: 20px;
    -webkit-padding-start: 20px; }
    @media screen and (max-width: 640px) {
      .full-complex ul {
        margin-top: 20px; } }
    .full-complex ul li {
      margin-top: 7px; }

footer {
  width: 100%;
  height: auto;
  position: relative;
  color: #3d3d3d; }
  footer .container {
    border-top: 1px solid #808080; }
  @media screen and (max-width: 900px) {
    footer .footer-menu {
      display: none; } }
  footer a {
    color: #3d3d3d;
    font-family: 'GothamPro';
    line-height: 1.5; }
    footer a:hover {
      color: #ff3900; }
  footer ul {
    list-style: none; }
  footer li {
    font-family: 'GothamPro';
    line-height: 1.5; }

.dark {
  background-color: #545557;
  color: #fff; }
  .dark a {
    color: #fff; }

.main-content {
  min-height: 100vh;
  height: auto; }
  .main-content .navigation #open-sidebar {
    color: #fff; }
  @media screen and (max-width: 1100px) {
    .main-content .navigation p {
      display: none; } }
  .main-content .navigation a {
    font-size: 18px;
    color: #d7d7d7; }
  .main-content .navigation p {
    font-size: 16px;
    color: #d7d7d7; }
  .main-content .navigation .round-btn {
    color: #fff;
    border-color: #fff;
    padding: 10px 40px;
    font-size: 14px; }
    .main-content .navigation .round-btn:hover {
      border: 1px solid #ff3900; }
  .main-content .wrapper {
    width: 100%;
    height: auto;
    display: flex;
    margin-top: 30px; }
  .main-content .left-navigation {
    width: 320px;
    height: calc(100vh - 80px);
    background-color: #fff;
    display: flex; }
    @media screen and (max-width: 960px) {
      .main-content .left-navigation {
        display: none; } }
    .main-content .left-navigation .wrapper {
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      margin: 7.5px auto 0px 0px; }
      .main-content .left-navigation .wrapper a {
        font-family: 'GothamPro';
        font-size: 16px;
        color: #3d3d3d;
        margin-top: 20px;
        border: none;
        background-color: transparent;
        text-align: left;
        cursor: pointer;
        outline: none; }
        .main-content .left-navigation .wrapper a:hover {
          color: #ff3900; }
        .main-content .left-navigation .wrapper a:first-child {
          margin-top: 0px; }
      .main-content .left-navigation .wrapper .active {
        color: #ff3900; }
  .main-content .direction-output {
    width: 98%;
    margin-left: 2%;
    min-height: 100vh;
    height: auto;
    margin-bottom: 20px; }
    @media screen and (max-width: 960px) {
      .main-content .direction-output {
        margin-left: 0;
        width: 100%; } }
    .main-content .direction-output .breadcrumb {
      margin-top: 1px; }
    .main-content .direction-output .wrapper {
      width: 95%;
      height: auto;
      margin: 20px auto 0px auto;
      display: flex;
      flex-direction: column;
      color: #3d3d3d;
      font-size: 10px; }
      @media screen and (max-width: 500px) {
        .main-content .direction-output .wrapper {
          font-size: 9px; } }
    .main-content .direction-output .title {
      font-size: 3em;
      font-family: 'GothamPro'; }
    .main-content .direction-output p {
      font-size: 1.8em;
      line-height: 1.3;
      margin-top: 20px;
      font-family: 'GothamPro-Medium'; }
    .main-content .direction-output ul {
      margin-top: 20px; }
    .main-content .direction-output li {
      font-size: 1.7em;
      line-height: 1.5;
      font-family: 'GothamPro'; }
    .main-content .direction-output #plain-text {
      font-family: 'GothamPro'; }

.pages-sidebar .links-wrapper-pages {
  width: 90%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin: 20px auto 0px auto; }
  .pages-sidebar .links-wrapper-pages .logotype {
    width: 150px;
    height: 150px;
    margin: 20px auto 0px auto; }
  .pages-sidebar .links-wrapper-pages a {
    margin-top: 20px;
    padding-bottom: 5px;
    font-family: 'GothamPro-Medium';
    color: #3d3d3d; }
    .pages-sidebar .links-wrapper-pages a:hover {
      color: #ff3900; }
  .pages-sidebar .links-wrapper-pages .hidden-part {
    margin-top: 10px;
    width: 100%;
    height: auto; }
    .pages-sidebar .links-wrapper-pages .hidden-part a {
      margin-top: 20px; }

.contacts {
  height: auto;
  min-height: 100vh; }
  .contacts .navigation a {
    font-size: 18px;
    color: #d7d7d7; }
    .contacts .navigation a:nth-child(3) {
      color: #ff3900; }
  .contacts .navigation p {
    color: #fff; }
  .contacts .navigation .round-btn {
    border: 1px solid #ffffff;
    color: #fff; }
    .contacts .navigation .round-btn:hover {
      border: 1px solid #ff3900; }
  .contacts .content-wrapper {
    width: 95%;
    height: auto;
    margin: 20px auto 0px auto; }
    .contacts .content-wrapper .title {
      font-family: 'GothamPro-Medium'; }
    .contacts .content-wrapper .plain-text {
      font-family: 'GothamPro-Medium';
      margin-top: 20px;
      font-size: 20px; }
    .contacts .content-wrapper iframe {
      margin-top: 30px; }
      @media screen and (max-width: 640px) {
        .contacts .content-wrapper iframe {
          height: 300px; } }
    .contacts .content-wrapper .light-text {
      font-family: 'GothamPro-Medium';
      margin-top: 30px;
      font-size: 20px; }
    .contacts .content-wrapper li {
      font-family: 'GothamPro';
      line-height: 1.5; }

.company {
  height: auto; }
  .company #download {
    font-family: 'GothamPro';
    color: #3d3d3d;
    margin-bottom: 20px;
    text-decoration: underline; }
    .company #download:hover {
      color: #ff3900; }
  .company .navigation a {
    color: #fff; }
    .company .navigation a:nth-child(2) {
      color: #ff3900; }
    .company .navigation a:nth-child(3) {
      color: #fff; }
  .company .navigation p {
    color: #fff; }
  .company .navigation .round-btn {
    border: 1px solid #fff;
    color: #fff; }
    .company .navigation .round-btn:hover {
      border: 1px solid #ff3900; }
  .company table {
    width: 100%;
    height: auto;
    margin: 20px 0px 20px 0px; }
  .company table, .company th, .company td {
    border: 1px solid #3d3d3d;
    border-collapse: collapse;
    text-align: left; }
  .company td, .company th {
    padding: 10px 0px 10px 10px;
    font-size: 16px;
    line-height: 1.5; }
    @media screen and (max-width: 480px) {
      .company td, .company th {
        font-size: 12px; } }
  .company th {
    width: 30%;
    font-family: 'GothamPro-Medium'; }
  .company td {
    width: 70%;
    font-family: 'GothamPro'; }

.documents {
  min-height: 100vh;
  height: auto; }
  .documents .wrapper {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 960px) {
      .documents .wrapper {
        justify-content: center;
        flex-direction: column;
        align-items: center; } }
  .documents .small-container {
    margin-top: 25px;
    width: 350px;
    height: auto;
    display: flex;
    flex-direction: column;
    position: relative; }
    .documents .small-container .image {
      max-width: 100%;
      cursor: pointer;
      border: 2px dotted #ccc; }
    .documents .small-container a {
      text-align: center;
      line-height: 1.7;
      color: #3d3d3d;
      font-family: 'GothamPro';
      font-size: 17px;
      margin-top: 10px; }
      .documents .small-container a:last-child {
        text-decoration: underline; }
      .documents .small-container a:hover {
        color: #ff3900; }
    .documents .small-container:last-child {
      margin-bottom: 30px; }

.directions {
  height: auto;
  font-family: 'GothamPro'; }
  .directions h3 {
    margin-top: 20px; }
  .directions li {
    font-size: 17px;
    line-height: 1.7; }
    .directions li a {
      color: #ff3900; }
      .directions li a:hover {
        text-decoration: underline; }

.information {
  min-height: 100vh;        
  height: auto; }
  .information p {
    font-family: 'GothamPro';
    font-size: 17px;
    margin-top: 20px;
    line-height: 1.5; }

.page-bridges .container .left-navigation .wrapper a:nth-child(3) {
  color: #ff3900; }

.page-building .container .left-navigation .wrapper a:last-child {
  color: #ff3900; }

.page-industrial .container .left-navigation .wrapper a:nth-child(5) {
  color: #ff3900; }

.page-structures .container .left-navigation .wrapper a:first-child {
  color: #ff3900; }

.page-tonnels .container .left-navigation .wrapper a:nth-child(2) {
  color: #ff3900; }

.page-transport .container .left-navigation .wrapper a:nth-child(4) {
  color: #ff3900; }
