@font-face {
  font-family: "Nasalization";
  src: url("../font/Nasalization/nasalization.woff2") format("woff2"),
       url("../font/Nasalization/nasalization.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Helvetica";
  src: url("../font/Helvetica/Helvetica.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Helvetica";
  src: url("../font/Helvetica/Helvetica-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

:root {
  --color-text: #1d1d1b;
  --color-web-background: #f8f8f8;
  --color-primary-background: #213851;
  --color-primary-foreground: #ed8101;
  --color-secondary-background: #212c40;
  --color-secondary-foreground: #5eb0e2;

  --font-logo: "Nasalization", sans-serif;
  --font-text: "Helvetica", sans-serif;

  --navbar-height: 3.5rem;
  --section-padding-vertical: 3vw;
  --section-separation: 4vw;
  --section-title-size: 2.6vw;
  --transition-smooth: transform 0.6s ease, scale 0.6s ease, opacity 0.6s ease;
  --gallery-spacing: 32vw;
  --gallery-card-width: 26vw;
  --brands-spacing: 19.1vw;
  --brands-spacing-2: 43vw;
  --brands-spacing-3: 54.8vw;
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--navbar-height);
}

body {
  background-color: var(--color-web-background);
  color: var(--color-text);
  font-family: var(--font-text);
  line-height: 1.6;
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
}

ul {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

.no-transition {
  transition: none !important;
}


.section {
  padding: var(--section-padding-vertical) 0;
}

.section-title {
  text-align: center;
  font-size: var(--section-title-size);
  color: var(--color-primary-background);
  margin-bottom: var(--section-padding-vertical);
  padding-bottom: 1.2vw;
  position: relative;
}

.section-title::after {
  content: "";
  display: block;
  width: 18vw;
  height: 0.3vw;
  background: var(--color-primary-foreground);
  margin: 0.8vw auto 0;
  border-radius: 0.2vw;
}

.section-separation {
  height: var(--section-separation);
}

.section-separation.sep-white {
  background-color: #ffffff;
}

main > section:not(.hero) {
  scroll-margin-top: 0;
}
