h1, h2, h3, h4, p {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4,
em, strong {
  font-style: normal;
  font-weight: 400;
}

a {
  color: inherit;
}

ul {
  margin: 0;
  padding: 0;
}

.no-select {
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  -khtml-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

.clear {
  display: block;
  float: none;
  clear: both;
}

html {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

body {
  width: 100%;
  min-height: 100%;
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

::-webkit-scrollbar {
  display: none;
}

* {
  scrollbar-width: none;
}

/* LEGAL DISCLAIMER
 *
 * These Fonts are licensed only for use on these domains and their subdomains:
 * hugomarucco.com
 *
 * It is illegal to download or use them on other websites.
 *
 * While the @font-face statements below may be modified by the client, this
 * disclaimer may not be removed.
 *
 * Optimo webfonts are protected by copyright law and provided under license. To modify, alter, translate, convert, decode or reverse engineer in any manner whatsoever, including converting the Font Software into a different format is strictly prohibited. The webfont files are not to be used for anything other than web font use.
 *
 * optimo.ch
 */
/* INSTRUCTIONS
 *
 * Copy the Legal Disclaimer, the domains name and the @font-faces statements to your regular CSS file. The fonts folder(s) should be placed relative to the regular CSS file.
 */
@font-face {
  font-family: "Basel Grotesk Book";
  src: url("../fonts/Basel-Grotesk-Book/Basel-Grotesk-Book.woff2") format("woff2"), url("../fonts/Basel-Grotesk-Book/Basel-Grotesk-Book.woff") format("woff");
  font-weight: 485;
  font-style: normal;
  font-display: swap;
}
:root {
  --BASE: 45;
  --LH_BASE: normal;
  --R: calc(1 / var(--BASE)) * 1rem;
  --FS45: calc(45 * var(--R));
  --LH45: calc(47/45);
}

:root {
  --GRID_MARGIN: 40px;
  --GRID_GUTTER: 15px;
  --20: calc(20 * var(--R));
  --35: calc(35 * var(--R));
}

#debug-grid {
  display: grid;
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 0 var(--GRID_MARGIN);
  box-sizing: border-box;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  z-index: 10000;
  pointer-events: none;
}
#debug-grid .col {
  height: 100%;
  grid-column-end: span 1;
  background-color: rgba(0, 255, 255, 0.2);
}

html {
  font-family: "Basel Grotesk Book";
  font-size: calc(var(--BASE) * 1px);
  line-height: normal;
  overflow-x: hidden;
  visibility: hidden;
}

body {
  display: flex;
  flex-direction: column;
  color: #FFFFFF;
  background-color: #000000 !important;
}
body #main {
  flex-grow: 1;
  padding: var(--20) var(--35);
  box-sizing: border-box;
  font-size: var(--FS45);
  line-height: var(--LH45);
}

header #header-menu {
  display: flex;
}
header #header-menu a {
  text-decoration: none;
}
header #header-menu a:hover, header #header-menu a.sel {
  text-decoration: underline;
}

picture {
  display: block;
  width: 100%;
}
picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

a {
  text-decoration: none;
  cursor: pointer;
}

.template-template-home .mobile {
  display: none;
}