﻿:root {
  color-scheme: light dark;
  --max-width: 1280px;
  --site-header-height: 4rem;
  --section-small: calc(100vh - (100vh / 1.618));
  --section-medium: calc(100vh - (100vh /2));
  --section-big: calc(100vh / 1.618);
  --transition-duration: .4s;
  --sanserif: "Inter", -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
  --serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
  --mono: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
  --title-font: var(--mono);
  --accent: #ff9800;
  --background-color-alt: #c9c7c7;
  --line-color: rgb(220,220,220);
  --border-radius: .2em;
  --box-back-color: #f2f2f2;
  --a-color: black;
  --a-back-color: #bfd5e7;
  --b-color: white;
  --b-back-color: #3488ce;
  --c-color: white;
  --c-back-color: #3ec487;
  --shadow-l1: 0 1px 3px rgb(0 0 0 / 20%), 0 1px 2px rgb(0 0 0 / 0%);
  --postit-color: rgb(250, 225, 149);
  --postit-corder-color: rgb(227,205,136);
}

.dark {
  --background-color-alt: rgb(50, 54, 57);
  --line-color: rgb(86, 86, 86);
  --box-back-color: #484d52;
  --shadow-l1: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

@font-face {
  font-family: "Inter";
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
  src: url("/content/fonts/inter/Inter-roman.var.woff2?v=3.19") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-weight: 100 900;
  font-display: swap;
  font-style: italic;
  src: url("/content/fonts/inter/Inter-italic.var.woff2?v=3.19") format("woff2");
}
@keyframes search-loading {
  from {
    transform: translateX(50%) rotate(0deg);
  }
  to {
    transform: translateX(50%) rotate(360deg);
  }
}
html,
body {
  margin: 0;
  padding: 0;
  height: 100vh;
  max-height: 100%;
  font-family: var(--sanserif);
  font-size: 13pt;
  line-height: normal;
}

[v-cloak] {
  display: none;
}

[abaf-cloak] {
  display: none !important;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

a,
a:visited {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
h1 + h2 a, .html a, .mce-content-body a,
h1 + h2 a:visited,
.html a:visited,
.mce-content-body a:visited {
  text-decoration: underline;
  text-underline-offset: 0;
  text-underline-position: from-font;
  text-decoration-color: var(--line-color);
  text-decoration-thickness: 0.1em;
  text-decoration-skip-ink: none;
  transition-property: text-decoration-color;
  transition-duration: var(--transition-duration);
  transition-timing-function: ease;
}
h1 + h2 a:hover, .html a:hover, .mce-content-body a:hover,
h1 + h2 a:visited:hover,
.html a:visited:hover,
.mce-content-body a:visited:hover {
  text-decoration-color: var(--color);
}
a.button,
a:visited.button {
  background-color: var(--background-color-alt);
  display: inline-grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  justify-content: left;
  column-gap: 0.4em;
  border: 1px solid var(--line-color);
  padding: 0.4em 0.8em;
  border-radius: 3px;
  margin-top: 1em;
  font-weight: bold;
  transition: all 0.2s ease;
  box-shadow: none;
  cursor: pointer;
}
a.button span,
a:visited.button span {
  user-select: none;
}
a.button:active,
a:visited.button:active {
  position: relative;
  box-shadow: inset 0 0 8px rgb(220, 220, 220);
  left: 1px;
  top: 1px;
}
a.button svg,
a:visited.button svg {
  width: 100%;
  fill: var(--color);
}

a.msteams {
  display: inline-block;
  background-color: #57599e;
  text-decoration: none;
  color: white;
  padding: 0.3em 0.4em 0.3em 2.2em;
  font-size: 0.8em;
  border-radius: 0.2em;
  text-transform: lowercase;
  cursor: pointer;
  background-image: url(/content/images/msteams_o.svg);
  background-position: 0.2em 0.2em;
  line-height: 1.3em;
  background-repeat: no-repeat;
  background-size: 1.45em;
}
a.gmeet {
  display: inline-block;
  text-decoration: none;
  padding: 0.2em 0.4em 0.2em 1.8em;
  font-size: 0.8em;
  border-radius: 0.6em;
  text-transform: lowercase;
  cursor: pointer;
  background-image: url(/content/images/gmeet.svg);
  background-position: 0.2em 0.2em;
  line-height: 1.3em;
  background-repeat: no-repeat;
  background-size: 1.45em;
  border: 2px solid var(--line-color);
  transform: translateY(-2px);
}

dl {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-auto-flow: row;
  column-gap: 1em;
  row-gap: 0.2em;
  font-style: normal;
  font-size: 1em;
  line-height: 1.2em;
  margin: 0;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
dl.v {
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}
dl dd {
  margin-inline-start: 0;
  text-transform: lowercase;
  font-size: 0.8em;
}
dl dd:empty + dt {
  margin-top: 0.5em;
}
dl.table {
  row-gap: 0;
  column-gap: 0;
  border: 1px solid var(--line-color);
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
dl.table dt + dd {
  border-left: 1px solid var(--line-color);
}
dl.table dt,
dl.table dd {
  padding: 0.4rem;
}
dl.table dt:not(:last-of-type),
dl.table dd:not(:last-of-type) {
  border-bottom: 1px solid var(--line-color);
}
@media only screen and (max-width: 800px) {
  dl.table dt + dd {
    border-width: 0;
  }
  dl.table dt:not(:last-of-type) {
    border-bottom-width: 0;
  }
  dl.table dt,
  dl.table dd {
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 800px) {
  dl {
    grid-template-columns: auto;
    grid-row-gap: 0;
  }
  dl dd {
    margin-bottom: 0.3em;
  }
  dl dd:not(:empty) {
    margin-bottom: 0.6em;
  }
}
h2 + dl {
  border-left: 1px solid var(--line-color);
  padding-left: 0.6em;
  margin-left: 0.5em;
  padding-top: 0.5em;
}

h1 {
  font-family: var(--sanserif);
  font-size: 2em;
  font-weight: bold;
  line-height: 1.1em;
  margin: 0;
  max-width: 38rem;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
h1 + h2 {
  margin-top: 1rem;
}
@media only screen and (max-width: 800px) {
  h1 {
    font-size: 1.2em;
    line-height: 1.2em;
  }
}

h2 {
  font-weight: 400;
  max-width: 38em;
  font-size: 1.2em;
  font-style: normal;
  margin: 1rem 0 0 0;
  line-height: 1.3em;
}
h2:first-child {
  margin-top: 0;
}
h2 > p:only-child {
  margin: 0;
}
h1 + h2 {
  font-size: 0.8em;
  margin-top: 0.2rem;
}
h1 + h2 p {
  margin: 0;
}

input,
select {
  background-color: var(--background-color);
  color: var(--color);
}

svg {
  display: inline-block;
}
svg .no-fill {
  fill: none;
}
svg .fill {
  fill: var(--color);
}
svg .fill.accent {
  fill: var(--accent);
}
svg .stroke {
  stroke: var(--color);
}
svg .stroke.accent {
  stroke: var(--accent);
}
svg .trans {
  transition: all var(--transition-duration) ease;
}

u {
  text-decoration-style: double;
  text-decoration-color: var(--color);
}

ul {
  margin: 0;
  padding: 0 0 0 1em;
  list-style-type: square;
}
ul li:not(:last-child) {
  margin-bottom: 0.6em;
}

.html h3 + ul {
  margin-left: 1em;
  padding: 0.4em 0 0 0em;
}

.html h3 + ul li:not(:last-child) {
  padding-bottom: 0.6em;
}

.html ul li.ended {
  opacity: 0.5;
}

.abafr-logo {
  fill-rule: evenodd;
  clip-rule: evenodd;
  stroke-linejoin: round;
  stroke-miterlimit: 2;
  stroke: inherit;
  fill: inherit;
}
.abafr-logo path {
  fill-rule: nonzero;
}

.box {
  background-color: var(--background-color);
  color: var(--color);
  -webkit-break-inside: avoid-column;
  break-inside: avoid-column;
  display: flex;
  flex-direction: column;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.2em;
}
.box:not(:last-child) {
  margin-bottom: 1em;
}
.box time {
  font-size: 0.7em;
  white-space: nowrap;
}
.box header {
  font-size: 1.1em;
}
.box aside {
  font-size: 0.7em;
}
.box aside p {
  margin: 0;
}
.box.custom {
  width: 100%;
  height: auto;
  box-shadow: var(--shadow-l1);
  border-radius: var(--border-radius);
  background-position: center;
  background-size: cover;
  background-color: transparent;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
.box.custom.img > * {
  visibility: hidden;
}
.box.custom svg .stroke {
  stroke: inherit;
}
@media only screen and (max-width: 800px) {
  .box.custom {
    grid-column-start: 1 !important;
    aspect-ratio: 1/0.7;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
.box .tag {
  background-color: transparent;
  border: 1px solid var(--box-back-color);
}

.breadcrumb {
  font-size: 0.75em;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  overflow: hidden;
}
.breadcrumb li,
.breadcrumb li:after,
.breadcrumb li:before {
  background-color: var(--box-back-color);
}
.breadcrumb li {
  color: var(--color);
  display: block;
  padding: 0.2em 0.4em;
  position: relative;
  margin-bottom: 0 !important;
}
.breadcrumb li:hover, .breadcrumb li:hover:after, .breadcrumb li:hover:before {
  color: var(--box-back-color);
  background-color: var(--color);
  border-right-color: var(--color);
  border-top-color: var(--color);
  transition: all 0.4s;
}
.breadcrumb li:not(:first-child) {
  padding-left: 1.2em;
}
.breadcrumb li:not(:first-child):before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.28em;
  z-index: 5;
  width: 1em;
  height: 1em;
  transform: translateX(-0.22em) rotate(45deg);
  margin-left: -4px;
  background-color: var(--background-color);
}
.breadcrumb li:after {
  content: "";
  position: absolute;
  left: calc(100% - 10px);
  top: 0.2em;
  z-index: 10;
  width: 1em;
  height: 1em;
  border: 1px solid var(--background-color);
  border-left-color: transparent;
  border-bottom-color: transparent;
  transform: translateX(0.5em) rotate(45deg);
  margin-left: -4px;
}
.breadcrumb li a {
  z-index: 15;
  position: relative;
  text-transform: lowercase;
}
.breadcrumb + h1 {
  margin-top: 0.2rem;
}

.col-center {
  margin: 0 auto;
  width: 100%;
  max-width: var(--max-width);
}
@media only screen and (min-width: 800px) {
  .col-center {
    padding-left: 1em;
    padding-right: 1em;
  }
}

.html ul {
  margin-left: 1.4em;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  .html ul {
    margin-left: 0;
  }
}
.html ul li {
  margin: 0;
  line-height: 1.4em;
}
.html ul p + p {
  margin-top: 0.6em;
}

.docente header h1 {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-start;
  column-gap: 0.4rem;
  margin-top: 1em;
}
.docente header h1 img {
  width: 2em;
  border-radius: 100%;
  height: 2em;
}

.corso .breadcrumb + h1 + h2 {
  display: none;
}
.corso h2 {
  font-weight: bold;
  padding-bottom: 1rem;
  padding-left: 0.4rem;
}
.corso #page-content {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
}
.corso #page-content .html {
  column-count: 3;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  .corso #page-content .html {
    column-count: 1;
  }
}
.corso #page-content .pn {
  padding-top: 2rem;
}
.corso #page-content .pn section {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  font-size: 0.85em;
}
.corso #page-content .pn section header {
  text-align: left;
  padding-left: 0.4rem;
  font-size: 1.2em;
}
.corso #page-content .pn section .box {
  background-color: var(--box-back-color);
  border: 1px solid var(--background-color);
  margin-bottom: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  padding: 0.4rem;
}
.corso #page-content .pn section .box > p {
  margin: 0;
}
.corso #page-content .pn section .center {
  align-items: center;
  justify-content: center;
}
.corso #page-content .pn section .aff {
  grid-column: 1/-1;
  background-color: var(--background-color);
  font-size: 0.8em;
  padding-top: 1em;
}
.corso #page-content .pn section .info {
  grid-column: 1/span 2;
}
.corso #page-content .pn section .ps {
  display: grid;
  grid-template-columns: 1fr 2.6em 2em;
}

.file-box a {
  text-decoration: none;
}

.info-block {
  display: grid;
  grid-template-columns: auto auto auto auto;
  grid-template-areas: "a b c d";
  color: var(--box-back-color);
  font-weight: 600;
  line-height: 1.6em;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.info-block.a {
  grid-template-columns: auto;
  grid-template-areas: "a";
}
.info-block.a.b {
  grid-template-columns: auto auto;
  grid-template-areas: "a b";
}
.info-block.a.b.c {
  grid-template-columns: auto auto auto;
  grid-template-areas: "a b c";
}
.info-block.a.b.d {
  grid-template-columns: auto auto auto auto;
  grid-template-areas: "a b c d";
}
.info-block span {
  padding: 0 0.4em;
}
.info-block .a,
.info-block .b,
.info-block .c,
.info-block .d {
  text-align: center;
  white-space: nowrap;
}
.info-block .a {
  background-color: var(--a-back-color);
  color: var(--a-color);
  grid-area: a;
}
.info-block .b {
  background-color: var(--b-back-color);
  color: var(--b-color);
  grid-area: b;
}
.info-block .c {
  color: var(--c-color);
  background-color: var(--c-back-color);
  grid-area: c;
}
.info-block .d {
  background-color: var(--b-back-color);
  color: var(--b-color);
  grid-area: d;
}

.ins-o {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-start;
  line-height: 1.4em;
  font-size: 0.8em;
}
.ins-o + .ins-o {
  margin-top: 0.4em;
}
.ins-o div {
  background-color: rgba(52, 136, 206, 0.3);
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  padding: 0.2em 0.4em 0 0.4em;
  color: rgba(0, 0, 0, 0.7);
  font-weight: bold;
  width: auto;
  text-align: center;
}
.ins-o .ins-ss {
  background-color: #3488ce;
  color: white;
  padding: 0.2em 0.4em 0 0.4em;
  width: auto;
  white-space: nowrap;
  overflow: hidden;
}
.ins-o .ins-a {
  background-color: #3ec487;
  color: white;
  padding: 0.2em 0.4em 0 0.4em;
}
.ins-o .ins-oo {
  background-color: var(--azzurro);
  color: white;
  padding: 0.2em 0.4em 0 0.4em;
  font-weight: bold;
}
.ins-o .ins-oo.error {
  background-color: var(--rosso);
}
.ins-o .ins-oo.ok {
  background-color: var(--verde);
}
.ins-o div:only-child,
.ins-o span:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.list {
  padding-top: 2rem;
}
.list .items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 2rem;
  row-gap: 1rem;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
.list .items .group {
  padding-bottom: 2em;
}
.list .items .group h2 {
  font-weight: bold;
}
@media only screen and (max-width: 800px) {
  .list .items {
    grid-template-columns: 1fr;
  }
}
.list.col-list .items {
  display: block;
  column-count: 3;
  column-gap: 2em;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  .list.col-list .items {
    column-count: 1;
  }
}
.list .alert {
  font-weight: bold;
  margin-top: -1em;
}

.orariodellelezioni .ywarn {
  display: block;
  width: 80%;
  margin: 1em auto;
  color: #664d03;
  background-color: rgba(255, 243, 205, 0.6);
  border: 1px solid #ffe69c;
  border-radius: 0.4em;
  padding: 1em;
  text-align: center;
  position: sticky;
  top: 4em;
  z-index: 12;
  box-shadow: 0 2px 8px #664d03;
  line-height: 1.6em;
  font-size: 0.9em;
  text-transform: lowercase;
  backdrop-filter: blur(2px);
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
.orariodellelezioni .ywarn:empty {
  display: none !important;
}
@media only screen and (max-width: 800px) {
  .orariodellelezioni .ywarn {
    width: 100%;
  }
}

.page-banner {
  font-size: 100%;
  flex-grow: 1;
  height: var(--section-small);
  background-position: bottom center;
  background-size: auto 100%;
  background-repeat: no-repeat;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
.page-banner.hero {
  height: var(--section-big);
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  .page-banner.hero {
    height: var(--section-medium);
    background-position-y: bottom;
  }
}
.page-banner .banner-box {
  display: flex;
  align-items: start;
  justify-content: center;
  height: 100%;
  /*	> img {
  	width: 100%;
  	aspect-ratio: 2.4 /1;
  }*/
}
.page-banner .banner-box > svg {
  height: 100%;
}
.page-banner .banner-box > video {
  height: 100%;
  width: auto;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
.page-banner header {
  line-height: 1em;
}
.page-banner aside {
  line-height: 1.2em;
}
@media only screen and (max-width: 800px) {
  .page-banner {
    background-size: 100%;
    background-position: center;
  }
}

.page-intro {
  padding-top: 0.6em;
  display: block;
}
.page-intro p {
  margin: 0;
  line-height: 1.3em;
  font-size: 0.85em;
}

.panel {
  background-color: var(--box-back-color);
  color: var(--color);
  font-size: 1.4em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2em 1em;
  border-radius: 4px;
}

.regolamento {
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  .regolamento {
    font-size: 0.85em;
  }
}
.regolamento .html {
  counter-reset: title 0 art 0 comma 0 subcomma a;
}
.regolamento .html h2 {
  text-transform: uppercase;
  text-align: center;
  font-weight: 300;
}
.regolamento .html h2::before {
  counter-increment: title;
  content: "Titolo " counter(title, upper-roman) " ";
  display: block;
}
.regolamento .html h2:not(:first-child) {
  margin-top: 4em;
}
.regolamento .html h3 {
  counter-reset: comma;
  margin: 1em 0 0 0;
}
.regolamento .html h3::before {
  counter-increment: art;
  content: "Art. " counter(art) " - ";
}
.regolamento .html h3 ~ p:not(:empty) {
  counter-increment: comma;
  counter-reset: subcomma;
  display: grid;
  grid-template-columns: 1.6em 1fr;
  margin: 0.5em 0 0 0;
}
.regolamento .html h3 ~ p:not(:empty)::before {
  content: counter(comma) ". ";
}
.regolamento .html h3 ~ .subc {
  display: grid;
  grid-template-columns: 1.6em 1fr;
  margin: 0.5em 0 0 1.6em;
}
.regolamento .html h3 ~ .subc::before {
  counter-increment: subcomma;
  content: counter(subcomma, lower-alpha) ")";
  display: block;
}
.regolamento .html h3 ~ ul {
  margin-left: 2em;
  list-style-type: circle;
}
.regolamento .html h3 ~ ul > li {
  margin-bottom: 0;
}
.regolamento .html h3 ~ dl {
  margin: 0.2em 0 0 1.6em;
  max-width: 94%;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  .regolamento .html h3 ~ dl {
    max-width: 88%;
  }
}

.ric-info {
  color: black;
  border-radius: 4px;
  padding: 0 0 0.5em 0;
  text-align: left;
  font-size: 0.9em;
}

.table {
  border: 1px solid var(--line-color);
}
.table tr:nth-child(even) {
  background-color: var(--box-back-color);
}
.table td {
  vertical-align: middle;
  padding: 0.2em 0.6em;
}
.table td.nw {
  white-space: nowrap;
}
.table td.r {
  text-align: right;
}
.table td.c {
  text-align: center;
}

.tag {
  font-size: 75%;
  display: inline-block;
  justify-content: center;
  align-items: center;
  padding: 0.2em 0.4em;
  background-color: var(--box-back-color);
  border-radius: 0.25em;
  line-height: 1;
  white-space: nowrap;
  vertical-align: baseline;
  text-align: center;
  border: 0.25em solid transparent;
  user-select: none;
  transition: opacity var(--transition-duration) ease;
}
.tag.active {
  border-color: var(--line-color);
}
.tag[disabled=disabled] {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.5;
}

.tags {
  display: flex;
  gap: 0.4em;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}
.tags > svg {
  height: 1.2em;
}

.toolbar {
  font-size: 1em;
  margin: 1em 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: stretch;
  justify-content: flex-start;
  column-gap: 0.4em;
  row-gap: 0.5em;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
.toolbar.big {
  font-size: 1.2em;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  .toolbar.big {
    justify-content: space-between;
    font-size: 1em;
  }
}
.toolbar svg {
  height: 1.6rem;
}
.toolbar > * {
  cursor: pointer;
}
.toolbar .field {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.2em;
}
.toolbar .field label {
  font-size: 0.65em;
  font-weight: 300;
}
.toolbar .field label.switch {
  display: flex;
  width: 2em;
  height: 1em;
  border-radius: 20px;
  cursor: pointer;
  border: 1px solid var(--line-color);
  font-size: 1em;
  transition: all var(--transition-duration) ease;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
}
.toolbar .field label.switch:before {
  content: "";
  background-color: var(--line-color);
  width: 1em;
  height: 1em;
  display: block;
  border-radius: 20px;
  transition: all var(--transition-duration) ease;
  box-shadow: 0px 0px 3px 0 var(--color);
}
.toolbar .field label.switch.active {
  background-color: var(--line-color);
}
.toolbar .field label.switch.active:before {
  transform: translateX(calc(100% - 1px));
  background-color: var(--color);
}
.toolbar .field label.switch > input {
  display: none;
}
.toolbar .field label.switch.square {
  border-radius: 0;
}
.toolbar .field label.switch.square:before {
  border-radius: 0;
  box-shadow: 0px 0px 2px 0 var(--color);
}
.toolbar .field select,
.toolbar .field input {
  font-size: 1em;
  border: 1px solid var(--line-color);
  border-radius: 4px;
  font-family: var(--sanserif);
  padding: 0.2em 0em 0.2em 0.2em;
  line-height: 1.3em;
  caret-color: var(--accent);
  outline-color: transparent;
  outline: none;
  transition: all var(--transition-duration) ease;
  width: 100%;
}
.toolbar .field select:focus,
.toolbar .field input:focus {
  box-shadow: 0 0 2px var(--color);
  border-color: var(--color);
}
.toolbar .field select::selection,
.toolbar .field input::selection {
  color: var(--background-color);
  background-color: var(--color);
}
.toolbar .field.g1 {
  flex-grow: 1;
}
@media only screen and (max-width: 800px) {
  .toolbar {
    flex-wrap: wrap;
    column-gap: 1em;
    justify-content: center;
  }
  .toolbar.tags {
    justify-content: start;
  }
}

.insegnamenti h2 {
  display: flex;
  flex-direction: column;
}

#orari {
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#orari header:not(:empty) {
  grid-column: 1/-1;
  padding: 1em 0 1em 0.7rem;
  text-align: left;
  background-color: var(--box-back-color);
  color: var(--color);
  font-weight: bold;
  text-transform: uppercase;
  border: 1px solid var(--background-color);
  border-top: 8px solid var(--background-color);
  position: sticky;
  top: 2em;
  z-index: 5;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  #orari header:not(:empty) {
    top: 0;
  }
}
#orari .ins {
  display: grid;
  background-color: var(--box-back-color);
  grid-template-columns: 1fr repeat(3, 2.4em) repeat(6, 10.8em);
  font-size: 0.75em;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#orari .ins .info-block .a,
#orari .ins .info-block .b,
#orari .ins .info-block .d {
  z-index: 4;
}
#orari .ins .info-block .d {
  display: none;
  text-transform: uppercase;
}
#orari .ins .info-block .c {
  transition: all var(--transition-duration) ease;
  z-index: 2;
  position: relative;
}
#orari .ins .cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.2em;
  border-top: 1px solid var(--background-color);
  border-left: 1px solid var(--background-color);
  gap: 0.4em;
}
#orari .ins .cell.corso {
  display: none;
}
#orari .ins .cell:last-child {
  border-right: 1px solid var(--background-color);
}
#orari .ins .nome {
  text-align: left;
  align-items: flex-start;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 400;
  padding-left: 0.7rem;
  gap: 0.2em;
}
#orari .ins .nome section {
  font-weight: 600;
}
#orari .ins .nome aside,
#orari .ins .nome span {
  font-weight: 400;
  font-size: 0.7rem;
}
#orari .ins .nome a {
  display: flex;
  flex-direction: row;
  column-gap: 0.2rem;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
}
#orari .ins .nome a .info-ico {
  width: 0.9em;
  height: 0.9em;
  font-weight: normal;
  fill: #3488ce;
  transform: translateY(-0.05em);
}
#orari .ins .or .info-block {
  grid-template-columns: 6.5em 3.2em 1fr;
  grid-template-rows: auto;
  grid-template-areas: "a b c";
}
#orari .ins .or .info-block.a.b {
  grid-template-columns: 1fr 3.2em;
  grid-template-areas: "a b";
}
#orari .ins .or .info-block.a.b.c {
  transition: all var(--transition-duration) ease;
  grid-template-rows: auto 0;
  grid-template-columns: 1fr 3.2em;
  grid-template-areas: "a b" "c c";
}
#orari .ins .or .info-block.a.b.c .c {
  transform: translateY(-100%);
}
@media only screen and (min-width: 800px) {
  #orari .ins.aula .or .info-block.a.b.c {
    grid-template-areas: "a b" "c c";
    grid-template-rows: auto 1.6em;
  }
  #orari .ins.aula .or .info-block.a.b.c .c {
    transform: translateY(0);
  }
}
#orari .ins.s1 .ins:not(.s1) {
  display: none;
}
#orari .ins.s2 .ins:not(.s2) {
  display: none;
}
#orari .ins.sa .ins:not(.sa) {
  display: none;
}
#orari .ins.sb .ins:not(.sb) {
  display: none;
}
#orari .ins.head {
  position: sticky;
  top: 0;
  z-index: 6;
}
#orari .ins.head .cell {
  font-weight: 800;
  text-align: center;
  padding: 0.6em 0;
  border-bottom: 0.4em solid var(--background-color);
}
#orari .ins.head .cell.nome {
  padding-left: 0.7rem;
}
#orari .ins.afferenze {
  grid-template-columns: repeat(11, 2.2em) 1fr repeat(3, 2.2em) repeat(6, 6.4em);
}
#orari .ins.afferenze .nome {
  padding-left: 0.2em;
}
#orari .ins.afferenze .or .info-block {
  max-width: 7em;
  font-size: 0.85em;
}
#orari .ins.afferenze .or .info-block.a.b {
  grid-template-columns: 7em;
  grid-template-rows: auto auto;
  grid-template-areas: "a" "b";
}
#orari .ins.afferenze .or .info-block.a.b.c {
  grid-template-columns: 7em;
  grid-template-rows: auto auto auto;
  grid-template-areas: "a" "b" "c";
}
#orari .ins.afferenze .or .info-block .c {
  font-size: 0.8em;
}
#orari .ins.afferenze .corso {
  font-size: 0.85em;
  transition: opacity var(--transition-duration) ease;
}
#orari .ins.afferenze .cell.corso {
  display: flex;
}
#orari .ins.afferenze .cell.corso .info-block.a.b {
  grid-template-columns: 2em;
  grid-template-areas: "a" "b";
}
#orari .ins.afferenze.affsort .cell.corso:not(.sorted) {
  opacity: 0.4;
}
@media only screen and (max-width: 800px) {
  #orari .ins {
    padding: 1em;
    grid-template-columns: 4em 2em 1fr;
    grid-template-rows: auto auto auto auto auto auto auto auto;
    grid-template-areas: "corso corso corso" "cfa tipo ore" "lun lun lun" "mar mar mar " "mer mer mer" "gio gio gio" "ven ven ven" "sab sab sab";
    margin-bottom: 1px;
  }
  #orari .ins .cell {
    border-width: 0;
    padding: 0;
  }
  #orari .ins .cell:last-child {
    border-width: 0;
  }
  #orari .ins .cell.or {
    padding-top: 0.8em;
  }
  #orari .ins .info-block {
    grid-template-columns: auto auto auto auto;
    grid-template-areas: "d b c a";
  }
  #orari .ins .info-block .c {
    transform: translateY(0) !important;
  }
  #orari .ins .info-block .d {
    display: flex;
  }
  #orari .ins .info-block.a.b.d {
    grid-template-columns: 2.5em 3.2em 7em;
    grid-template-areas: "d b a";
  }
  #orari .ins .info-block.a.b.d.c {
    grid-template-columns: 2.5em 3.2em 7em 1fr;
    grid-template-areas: "d b a c";
  }
  #orari .ins > *:empty {
    display: none;
  }
  #orari .ins .nome {
    grid-area: corso;
  }
  #orari .ins .cfa,
  #orari .ins .tipo,
  #orari .ins .ore {
    text-align: left;
    flex-direction: row;
    justify-content: start;
  }
  #orari .ins .cfa {
    grid-area: cfa;
  }
  #orari .ins .cfa:after {
    content: "cfa";
  }
  #orari .ins .tipo {
    grid-area: tipo;
  }
  #orari .ins .ore {
    grid-area: ore;
  }
  #orari .ins .ore:after {
    content: "ore";
  }
  #orari .ins .lun,
  #orari .ins .mar,
  #orari .ins .mer,
  #orari .ins .gio,
  #orari .ins .ven {
    align-items: start;
  }
  #orari .ins .lun:empty,
  #orari .ins .mar:empty,
  #orari .ins .mer:empty,
  #orari .ins .gio:empty,
  #orari .ins .ven:empty {
    display: none;
  }
  #orari .ins .lun {
    grid-area: lun;
  }
  #orari .ins .mar {
    grid-area: mar;
  }
  #orari .ins .mer {
    grid-area: mer;
  }
  #orari .ins .gio {
    grid-area: gio;
  }
  #orari .ins .ven {
    grid-area: ven;
  }
  #orari .ins .sab {
    grid-area: sab;
  }
  #orari .ins .corso, #orari .ins.head {
    display: none;
  }
  #orari .ins .nome {
    padding: 0;
  }
}
@media only screen and (max-width: 800px) {
  #orari header:not(:empty) {
    border-left-width: 0;
    border-right-width: 0;
  }
  #orari .toolbar {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-areas: "aa aa f f f" "s1 s2 sa sb sc" "c c c c c";
    justify-content: center;
  }
  #orari .toolbar .filtro {
    grid-area: f;
  }
  #orari .toolbar .anno {
    grid-area: aa;
  }
  #orari .toolbar .s1 {
    grid-area: s1;
    align-items: center;
  }
  #orari .toolbar .s2 {
    grid-area: s2;
    align-items: center;
  }
  #orari .toolbar .sa {
    grid-area: sa;
    align-items: center;
  }
  #orari .toolbar .sb {
    grid-area: sb;
    align-items: center;
  }
  #orari .toolbar .aula {
    display: none;
  }
  #orari .toolbar .corsi {
    display: none;
  }
  #orari .toolbar .corso {
    grid-area: c;
  }
}

#page-content {
  opacity: 1;
  padding-top: 2em;
  transition: opacity var(--transition-duration) ease;
  display: grid;
  grid-template-rows: 1fr auto;
  grid-template-columns: 61.804697157% 1fr;
  grid-column-gap: 2em;
  grid-template-areas: "html aside" "pdf aside";
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (min-width: 800px) {
  #page-content.pdf:not(.asided) {
    grid-template-areas: "path path" "title ." "pdf pdf" "pdf pdf";
  }
  #page-content.pdf:not(.asided) .html,
  #page-content.pdf:not(.asided) aside {
    display: none;
  }
  #page-content.pdf.html:not(.asided) {
    grid-template-areas: "path path" "title title" "pdf aside" "pdf aside";
  }
  #page-content.pdf.html:not(.asided) .html {
    display: block;
    grid-area: aside;
  }
  #page-content.pdf.html:not(.asided) .pdf object {
    aspect-ratio: 1/1.414;
  }
  #page-content.pdf.html:not(.asided) aside {
    display: none;
  }
}
@media only screen and (max-width: 800px) {
  #page-content {
    grid-template-areas: "path path" "title title" "html html" "pdf pdf" "aside aside";
  }
  #page-content > aside {
    margin: 3em 0;
  }
}
#page-content .breadcrumb {
  grid-area: path;
}
#page-content > header {
  grid-area: title;
}
#page-content .html {
  grid-area: html;
}
#page-content .html p:first-child {
  margin-top: 0;
}
#page-content .html p:last-child {
  margin-bottom: 0;
}
#page-content .pdf {
  grid-area: pdf;
  width: 100%;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#page-content .pdf > object {
  width: 100%;
  aspect-ratio: 1/0.8;
}
#page-content .pdf a.download {
  margin: 1em auto 2em auto;
  display: grid;
  width: max-content;
  white-space: nowrap;
}
@media only screen and (max-width: 800px) {
  #page-content .pdf > object {
    display: none;
  }
}
#page-content > aside {
  grid-area: aside;
}
#page-content > aside section + section {
  margin-top: 2rem;
}
#page-content > aside header {
  font-weight: bold;
  font-size: 1.4em;
}
#page-content > aside .attachments,
#page-content > aside .refs {
  display: flex;
  gap: 0.6rem;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
}
#page-content > aside .attachments a,
#page-content > aside .refs a {
  display: grid;
  grid-template-columns: minmax(auto, 18em);
  flex-wrap: nowrap;
  justify-content: start;
  align-items: start;
  gap: 0.6em;
  line-height: 1.2em;
  justify-items: start;
}
#page-content > aside .attachments a.no-ico,
#page-content > aside .refs a.no-ico {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
}
#page-content > aside .attachments a:hover span,
#page-content > aside .refs a:hover span {
  text-decoration: underline;
}
#page-content > aside .attachments a > div,
#page-content > aside .refs a > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#page-content > aside .attachments a svg,
#page-content > aside .refs a svg {
  height: 2rem;
  transform: translateY(0.2em);
}
#page-content > aside .attachments a small,
#page-content > aside .refs a small {
  font-size: 0.6em;
  opacity: 0.8;
}
#page-content > aside .refs {
  flex-wrap: nowrap;
}
#page-content > aside .gallery {
  display: grid;
  max-width: 492px;
  gap: 4px;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 4rem;
  grid-template-columns: repeat(3, 1fr);
}
#page-content > aside .gallery > a {
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 1/1;
  filter: grayscale(1);
}
#page-content .postit {
  background-color: var(--postit-color);
  border: 2px solid var(--postit-corder-color);
  padding: 0.6rem;
  border-radius: 0.15em;
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 0.5em;
  margin: 0 0 2em 0;
  font-size: 0.8em;
}
#page-content .postit h2 {
  font-weight: 800;
  letter-spacing: 0.02em;
}
#page-content .postit > div {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: center;
  align-items: flex-start;
}

#page-footer {
  opacity: 1;
  transition: opacity var(--transition-duration) ease;
  background-color: var(--box-back-color);
  color: var(--color);
  stroke: var(--color);
  fill: var(--color);
  padding: 1em 0;
  font-size: 0.8em;
  margin-top: 2rem;
}
.nav #page-footer {
  opacity: 0;
}
#page-footer > .col-center {
  display: grid;
  grid-template-columns: 4rem auto 1fr auto;
  grid-template-rows: auto auto 1fr;
  grid-template-areas: "logo address bookmarks links" "socials address bookmarks links" "qrcode address bookmarks links";
  grid-column-gap: 2rem;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#page-footer > .col-center .logo {
  grid-area: logo;
}
#page-footer > .col-center .socials {
  grid-area: socials;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.5em;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#page-footer > .col-center .socials svg {
  width: 1.4em;
}
@media only screen and (max-width: 800px) {
  #page-footer > .col-center .socials {
    justify-content: end;
    gap: 1em;
  }
}
#page-footer > .col-center .qrcode {
  grid-area: qrcode;
  width: 4rem;
}
#page-footer > .col-center .qrcode > svg rect:not(:first-child) {
  fill: var(--color) !important;
}
#page-footer > .col-center .qrcode > svg rect:first-child {
  stroke: transparent;
}
#page-footer > .col-center address {
  grid-area: address;
  text-transform: none;
  font-style: normal;
}
#page-footer > .col-center address > span {
  font-weight: bold;
}
#page-footer > .col-center .bookmarks {
  grid-area: bookmarks;
  margin: 0;
  padding: 0;
  list-style-type: none;
  list-style-position: inside;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  row-gap: 0.6em;
}
#page-footer > .col-center .footer-links {
  grid-area: links;
  margin: 0;
  padding: 0;
  list-style-type: none;
  list-style-position: inside;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
}
#page-footer > .col-center .footer-links > li {
  margin-bottom: 0;
  line-height: 1.6em;
}
@media only screen and (max-width: 800px) {
  #page-footer > .col-center {
    padding-left: 1em;
    padding-right: 1em;
    grid-template-columns: 3rem auto;
    grid-template-rows: auto auto auto;
    grid-template-areas: "logo socials" "bookmarks bookmarks" "links links" "address address";
    grid-row-gap: 2em;
  }
  #page-footer > .col-center .qrcode {
    display: none;
  }
}

#page-header {
  background-color: var(--header-back-color);
  fill: var(--header-color);
  color: var(--header-color);
  stroke: var(--header-color);
  fill: var(--header-color);
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0.4em;
}
#page-header .claim {
  background-image: url(/Content/images/pace.jpg);
  background-position: center center;
  background-repeat: repeat;
  height: 24px;
  width: 100%;
  color: black;
  text-align: center;
  text-transform: uppercase;
  font-weight: 900;
  color: rgba(255, 255, 225, 0.8);
  text-shadow: 0 0 0.8em #31393b;
  letter-spacing: 0.4em;
  user-select: none;
}
body:not(.home) #page-header .claim {
  display: none;
}
#page-header > nav {
  display: grid;
  grid-template-columns: 4em auto 1fr auto 32px;
  grid-template-areas: "logo socials bookmarks theme menu";
  align-items: center;
  grid-column-gap: 0.6em;
  align-items: start;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#page-header > nav .logo {
  grid-area: logo;
}
#page-header > nav .socials {
  display: flex;
  flex-direction: row;
  gap: 0.5em;
  align-self: flex-start;
  padding-top: 0.4em;
  align-items: center;
  grid-area: socials;
}
#page-header > nav .socials a {
  font-size: 1em;
}
#page-header > nav .socials a svg {
  width: 1em;
  display: block;
}
#page-header > nav .socials a svg path {
  fill-rule: nonzero;
  fill: inherit;
}
#page-header > nav .bookmarks {
  height: 2em;
  display: flex;
  justify-content: flex-end;
  font-size: 0.8em;
  grid-area: bookmarks;
  gap: 1em;
}
#page-header > nav .theme {
  overflow: hidden;
  width: 24px;
  height: 24px;
  grid-area: theme;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 6px;
}
#page-header > nav .theme svg {
  display: none;
  height: 1.6em;
  width: 1.6em;
  cursor: pointer;
}
#page-header > nav .theme svg path {
  fill: inherit;
  stroke: inherit;
}
.systheme #page-header > nav .theme svg.auto {
  display: block;
}
.dark:not(.systheme) #page-header > nav .theme svg.dark {
  display: block;
}
.light:not(.systheme) #page-header > nav .theme svg.light {
  display: block;
}
#page-header > nav .menu-pop {
  cursor: pointer;
  transition: 0.5s ease;
  height: 100%;
  margin-top: 6px;
  grid-area: menu;
  display: block;
}
#page-header > nav .menu-pop > .bar {
  width: 100%;
  height: 4px;
  background-color: inherit;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  transition: 0.4s ease;
  background-color: var(--header-color);
}
#page-header > nav .menu-pop > .bar:not(:first-child) {
  margin-top: 16%;
}
.nav #page-header > nav .menu-pop {
  transform: rotateY(180deg) translateY(-6px);
}
.nav #page-header > nav .menu-pop .bar {
  transform: rotatey(180deg) rotatex(360deg);
}
.nav #page-header > nav .menu-pop .bar:first-child {
  transform: rotate(-45deg);
  margin-top: 50%;
}
.nav #page-header > nav .menu-pop .bar:nth-child(2) {
  opacity: 0;
}
.nav #page-header > nav .menu-pop .bar:nth-child(3) {
  margin-top: -44%;
  transform: rotate(45deg);
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  .nav #page-header > nav .menu-pop .bar:nth-child(3) {
    margin-top: -50%;
  }
}
@media only screen and (max-width: 800px) {
  #page-header > nav {
    grid-template-columns: 24px 2.2em 1fr auto;
    grid-template-areas: "menu logo . theme";
    padding-left: 0.8em;
    padding-right: 1em;
    grid-column-gap: 1em;
  }
  #page-header > nav .theme {
    padding-top: 0.6em;
  }
  #page-header > nav .bookmarks,
  #page-header > nav .socials {
    display: none;
  }
}
body:not(.home) #page-header {
  padding-top: 0.4em;
}

.page-list {
  padding-top: 2em;
}

#page-menu {
  position: fixed;
  top: var(--site-header-height);
  left: 0;
  width: 100vw;
  height: calc(100vh - var(--site-header-height));
  background-color: var(--background-color);
  color: var(--color);
  transform: translateY(100%);
  transition: all var(--transition-duration) ease;
  overflow: auto;
  z-index: 9999;
  padding-bottom: 1em;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  row-gap: 1em;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#page-menu a {
  text-transform: lowercase;
}
#page-menu > .search {
  display: grid;
  grid-template-columns: 1fr;
  padding-top: 2em;
  align-items: center;
}
#page-menu > .search > span {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#page-menu > .search > span input[type=search] {
  font-family: var(--sanserif);
  color: var(--color);
  background-color: transparent;
  font-size: 1.08em;
  border: 1px solid var(--line-color);
  outline: none;
  line-height: 2em;
  padding: 0 0 0 2em;
  transform: box-shadow var(--transition-duration) ease;
  caret-color: var(--accent);
  width: 100%;
}
#page-menu > .search > span input[type=search]::-webkit-search-decoration, #page-menu > .search > span input[type=search]::-webkit-search-cancel-button, #page-menu > .search > span input[type=search]::-webkit-search-results-button, #page-menu > .search > span input[type=search]::-webkit-search-results-decoration {
  padding: 0.1em;
  transform: translateX(-50%);
}
#page-menu > .search > span input[type=search]:focus {
  border-color: var(--line-color);
  box-shadow: var(--shadow-l1);
}
#page-menu > .search > span::before {
  content: " ";
  width: 1em;
  height: 1em;
  display: block;
  position: absolute;
}
#page-menu > .search > span.fetching::before {
  content: url(/Content/images/loading.svg);
  animation: search-loading;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
.dark #page-menu > .search > span.fetching::before {
  content: url(/Content/images/loading-dark.svg);
}
@media only screen and (max-width: 800px) {
  #page-menu > .search > span {
    padding-left: 1em;
    padding-right: 1em;
  }
}
#page-menu > .search .list {
  padding: 0;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
@media only screen and (max-width: 800px) {
  #page-menu > .search .list {
    padding-left: 1em;
    padding-right: 1em;
  }
  #page-menu > .search .list .alert {
    margin-top: -1em;
    text-align: center;
  }
}
#page-menu > div {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: space-around;
  align-items: flex-start;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#page-menu > div header {
  font-size: 1em;
  font-weight: bold;
  text-transform: uppercase;
  padding-bottom: 0.6em;
}
#page-menu > div ul {
  display: flex;
  flex-direction: column;
  padding: 0;
  font-size: 0.95rem;
  row-gap: 0.4em;
}
#page-menu > div ul li {
  display: grid;
  grid-template-columns: 1em 1fr;
  grid-column-gap: 0.2em;
  align-items: center;
  margin: 0;
}
#page-menu > div ul li.group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#page-menu > div ul li.group span {
  text-transform: uppercase;
  padding: 1em 0;
  font-weight: bold;
  font-size: 0.8em;
}
#page-menu > div .bookmark {
  width: 1em;
  height: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
}
#page-menu > div .bookmark svg {
  width: 100%;
  height: 100%;
  opacity: 0.3;
  transition: all var(--transition-duration) ease;
}
#page-menu > div .bookmark svg polygon,
#page-menu > div .bookmark svg path {
  fill: var(--color);
}
#page-menu > div .bookmark.booked svg {
  opacity: 1;
  transform: rotate(360deg);
}
#page-menu > div .bookmark.booked svg path,
#page-menu > div .bookmark.booked svg polygon {
  fill: var(--accent);
  stroke: var(--accent);
}
#page-menu > div.overbooked .bookmark:not(.booked) svg {
  display: none;
}
#page-menu > div .bookmarks {
  display: none;
}
@media only screen and (max-width: 800px) {
  #page-menu > div {
    flex-direction: column;
    padding: 0 1em;
    padding-bottom: 33.333333vh;
  }
  #page-menu > div .bookmarks {
    display: block;
  }
  #page-menu > div header {
    padding: 1em 0 0.5em 0;
  }
  #page-menu > div ul {
    row-gap: 0.8em;
  }
  #page-menu > div ul li {
    grid-column-gap: 1em;
  }
}
@media only screen and (min-width: 800px) {
  #page-menu > div {
    padding-left: 1em;
    padding-right: 1em;
  }
}
.nav #page-menu {
  transform: translateY(0);
}
@media only screen and (max-width: 800px) {
  #page-menu {
    transform: translateX(-100%) translateY(0);
  }
  .nav #page-menu {
    transform: translateX(0);
  }
}

#pdf-preview {
  width: 100%;
  aspect-ratio: 9/16;
}

#page-slider {
  --swiper-pagination-bottom: auto;
  --swiper-scrollbar-bottom: auto;
  --swiper-navigation-size: 44px;
  --swiper-navigation-top-offset: 33%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-pagination-bullet-width: 2em;
  --swiper-navigation-color: var(--accent);
  --swiper-theme-color: var(--accent);
  overflow-x: hidden;
  height: var(--section-small);
  width: 100%;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#page-slider.hero {
  height: var(--section-big);
}
#page-slider .swiper-pagination-bullet {
  border-radius: 0;
}
#page-slider .swiper-slide:not(.swiper-slide-active) {
  visibility: hidden;
}
#page-slider .swiper-slide > section {
  overflow: hidden;
}
@media only screen and (max-width: 800px) {
  #page-slider {
    padding: 0;
  }
}

#viewport {
  background-color: var(--background-color);
  color: var(--color);
  padding: 0;
  margin: 0;
  width: 100vw;
  min-width: 100%;
  max-width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  /*@if $container-name != "" {
  	@container  (max-width:800px) {
  		@content;
  	}
  }*/
}
#viewport:not(.nav) #page-menu {
  visibility: hidden;
}
#viewport > header {
  padding-top: 2rem;
}
#viewport > div {
  flex-grow: 1;
}
#viewport > .fgrow {
  flex-grow: 10;
}
#viewport > #page-list {
  padding-top: 2em;
}
#viewport.nav {
  height: 100vh;
  overflow: hidden;
}
#viewport.nav #page-header {
  --header-back-color: var(--back-color) !important;
  --header-color: var(--color) !important;
}
@media only screen and (max-width: 800px) {
  #viewport > .col-center {
    padding-left: 1em;
    padding-right: 1em;
  }
}
