.container {
  margin: 0 1.5rem;
}

section.section {
  padding: 6rem 0;
}

.hero-banner .slogan h2 {
  font-size: 3.4em;
  line-height: 1.2em;
}

.b2 {
  font-size: 1.1em;
}

#navigation.is-active {
  visibility: visible;
  opacity: 1;
}

header .container {
  padding-top: 20px;
  padding-bottom: 20px;
}

header.is-active .hamburger-menu .hamburger {
  gap: 1px;
}

header.is-active .hamburger-menu .hamburger li:first-child {
  transform: rotate(45deg);
  margin-bottom: -1px;
}

header.is-active .hamburger-menu .hamburger li:last-child {
  transform: rotate(-45deg);
  margin-top: -1px;
}

header .nav {
  display: none;
}

header .hamburger-menu {
  display: flex;
  height: 36px;
  width: 36px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

header .hamburger-menu .hamburger {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  width: 16px;
  gap: 8px;
  transition: all 400ms ease;
}

header .hamburger-menu .hamburger li {
  transform-origin: center center;
  height: 1px;
  background: white;
  transition: all 400ms ease;
}

header .logo {
  display: block;
}

header .logo a {
  display: block;
}

header .logo a svg {
  height: 44px;
  width: auto;
}

header.nav-up {
  transform: translate(0, -100%);
}

.banner {
  padding-top: 10rem;
}

.footer .main .logo svg {
  width: auto;
  height: 60px;
}

.title {
  font-size: 2.4em;
}

.awards {
  flex-wrap: wrap;
}

.awards div {
  width: 50%;
  max-width: 50%;
}

.teams .team .caption .body {
  font-size: 1em;
  line-height: 1.2em;
  margin-bottom: 0.4rem;
}

.teams .team .caption .designation {
  font-size: 0.7em;
}

.home-slider .carousel-cell .slogan h3 {
  font-size: 1.4em;
}

.home-slider .carousel-cell .slogan h2 {
  font-size: 3em;
}

.map-container-hidden {
  overflow: hidden;
}

.hero-banner .hero-info-container .hero-info {
  margin: 0 1rem;
}

.hero-info-container {
  margin: 0;
}

.hero-info-container .hero-info {
  padding: 1.5rem;
}

.hero-info-container .hero-info .hero-info-box {
  gap: 4px;
  flex-direction: row;
}

.hero-info-container .hero-info .hero-info-box .hero-info-box-column {
  padding: 0 8px;
}

.hero-info-container .hero-info .hero-info-box .hero-info-box-column h2 {
  font-size: 1.4em;
  white-space: nowrap;
  margin-bottom: 10px;
}

.hero-info-container .hero-info .hero-info-box .hero-info-box-column h3 {
  white-space: balance;
  font-size: 0.6em;
  opacity: 0.6;
}

.hero-info-container .hero-info .hero-info-box .line {
  height: 20px;
}

.expanding-sections {
  flex-direction: column;
  height: 100vh;
}

.expanding-sections .expanding-section {
  width: 100%;
  height: 32px;
}

.expanding-sections .expanding-section .caption {
  padding: 4rem 2rem;
}

.expanding-sections .expanding-section .label {
  transform: none;
  padding: 12px;
  font-size: 0.9em;
}

.expanding-sections .expanding-section.active {
  height: 50vh;
}

.expanding-sections .expanding-section:hover {
  width: 100%;
}

.projects-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 4rem;
}

.projects-grid .project-grid a .caption .years,
.projects-grid .project-grid a .caption .expertise {
  font-size: 0.9em;
}

.projects-grid .project-grid a .caption .name,
.projects-grid .project-grid a .caption .value {
  font-size: 1.2em;
}

.project-photo-banner-container {
  padding-top: 3rem;
}

.project-photo-banner {
  position: relative;
  height: 34vh;
  height: 34svh;
  border-radius: 30px;
  background: #f9f9f9;
  margin-top: 0;
}

.articles-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.articles-grid .article-grid {
  grid-area: auto !important;
}

.articles-grid .article-grid a {
  flex-direction: column !important;
}

.articles-grid .article-grid .photo {
  display: block !important;
  height: 200px;
  width: 100% !important;
  flex-shrink: 0;
}

.articles-grid .article-grid .caption {
  padding: 30px;
}

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

.footer .main .address {
  text-align: center;
}

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

