/*
Typography
*/
/* font family */
/* perfect triangle */
/* type scale ratio */
/* type scale */
/* Vertical Rythm */
/*
xs: 576px,
sm: 768px,
md: 992px,
lg: 1200px
*/
/*
Theme Name: QX1 Welcome Map
Theme URI: https://qx1.org
Author: Marcello Costa - Adriano Tornatore
Author URI: https://da72a300.it, https://cofficegroup.com
Text Domain: qx1
Version: 2.3.49
*/

html {
  scroll-behavior: smooth;
}

:target:before {
  content: "";
  display: block;
  height: 176px;
  margin: -176px 0 0 0;
}

body {
  font-size: 1.25rem;
  font-family: "Montserrat", "Arial", sans-serif;
  line-height: 1.666;
}
@media print {
  body {
    font-size: 0.7396449704rem;
    width: 210mm;
    height: 297mm;
  }
}
body.search-results, body.archive {
  overflow: hidden;
}
@media print {
  body.search-results, body.archive {
    overflow: auto;
  }
}

.rtl body {
  text-align: right;
}

* {
  box-sizing: border-box;
}

main {
  padding-bottom: 0;
}
main > section + section {
  margin-top: calc(var(--spacer) * 6);
}

.page-template .wrapper .main-content {
  padding-bottom: 0;
}

/*  Commons */
a {
  color: var(--black);
  text-decoration: underline;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
}
a:focus {
  outline: 1px dotted;
  outline-offset: 2px;
  outline-color: var(--black);
}

em {
  font-style: italic;
}

mark {
  background: var(--white);
}

p mark {
  background: var(--white);
}

blockquote {
  padding-left: 15px;
  border-left: 3px solid var(--grey);
  font-style: italic;
}

*:focus {
  outline: 1px dotted;
  outline-offset: 2px;
  outline-color: var(--black);
}

.sr-only {
  position: absolute;
  margin: -1px 0 0 -1px;
  padding: 0;
  display: block;
  width: 1px;
  height: 1px;
  font-size: 1px;
  line-height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  outline: 0;
}

.wrapper {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
}
.wrapper .main-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  background: var(--light-grey);
  padding-bottom: 0;
}
@media (max-width: 63rem) {
  .wrapper .main-content {
    margin-top: 0;
  }
}
@media print {
  .wrapper .main-content {
    padding-bottom: 0;
  }
}
.wrapper .main-content.translated {
  transform: translateY(-50px);
}
.s-wrapper {
  padding-right: var(--spacer);
  padding-left: var(--spacer);
  margin-right: auto;
  margin-left: auto;
  max-width: calc(1200px + var(--spacer) + var(--spacer));
  width: 100%;
}
.s-wrapper.s-wrapper-t {
  max-width: calc(850px + var(--spacer) + var(--spacer));
  padding-bottom: calc(var(--spacer) * 4);
}
.s-wrapper.full {
  max-width: calc(100vw + var(--spacer) + var(--spacer));
}
.s-wrapper.full-h {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 40vh;
  height: auto;
}
.s-wrapper.full-h > * + * {
  margin-top: calc(var(--spacer) * 2);
}
.s-wrapper > * + * {
  margin-top: calc(var(--spacer) * 2);
}
.s-wrapper .s-title {
  font-size: 1.625rem;
  font-weight: 300;
  display: flex;
}
@media (max-width: 63rem) {
  .s-wrapper .s-title {
    font-size: 1.25rem;
  }
}
.s-wrapper .s-title strong {
  color: var(--red);
  font-weight: 300;
}
.s-wrapper .s-title.big {
  font-size: 3.570125rem;
  line-height: 1.2;
  letter-spacing: -1px;
  display: block;
}
@media (max-width: 47rem) {
  .s-wrapper .s-title.big {
    font-size: 2.74625rem;
    line-height: 1.3;
    letter-spacing: 0;
  }
}
