@charset "UTF-8";

:root
{
	--pp-background: #333;
	--pp-color: #f0f0f0;
	--pp-font-family: "Roboto", sans-serif;
	--pp-font-weight: 400;
	--pp-font-size: 16px;
	
	--pp-transition-rapid: 111ms linear;
	--pp-transition-fast: 222ms ease-out;
	--pp-transition-medium: 333ms ease-out;
	--pp-transition-slow: 666ms ease-out;
	--pp-transition-default: var(--pp-transition-rapid);
	
	--pp-header-full-size-height: 6rem;
	--pp-header-scroll-size-height: 4rem;
	--pp-header-full-size-padding: 1rem;
	--pp-header-scroll-size-padding: 0.5rem;
	--pp-header-background-alpha: 1;
	--pp-header-background: #000;
	--pp-header-color: #eee;
	--pp-header-font-size: 14px;

	--pp-footer-background: #000;
	--pp-footer-color: #eee;
	
	--pp-zindex-header: 100;
	--pp-zindex-content: 10;
	--pp-zindex-footer: 100;
}

*,
*::before,
*::after
{
	outline: none;
	margin-block: 0;
	
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	-ms-user-select: none !important;
	-moz-user-select: -moz-none !important;
	-khtml-user-select: none !important;
	-webkit-user-select: none !important;
	user-select: none !important;
	
	-ms-user-drag: none !important;
	-moz-user-drag: -moz-none !important;
	-khtml-user-drag: none !important;
	-webkit-user-drag: none !important;
	user-drag: none !important;
}

.w3-auto
{
	max-width: 1360px;
}
.max-1310{
	max-width: 1310px;
}

.material-symbols,
.material-symbols-outlined,
.material-symbols-rounded,
.material-symbols-sharp
{
	font-variation-settings: "FILL" 0, "wght" 200, "GRAD" 200, "opsz" 64;
}

.sticky
{
    position: sticky;
    top: 0;
}

.no-scrollbar
{
	-ms-overflow-style: none;  /* IE and Edge */
  	scrollbar-width: none;  /* Firefox */
}

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

.position-relative
{
	position: relative;
}
.position-absolute
{
	position: absolute;
}

/* -------------------------------------------------------------------------------- */
/* WIDTH */
/* -------------------------------------------------------------------------------- */

.auto-width
{
	width: auto;
	max-width: auto;
}

.full-width
{
	width: 100%;
	max-width: 100%;
}

/* per centrare oggetti in un riquadro a tutta larghezza con altezza massima */
.full-width-height
{
    display: flex;
    flex-direction: row;
    justify-content: center;
	align-items: center;
	overflow: hidden;
}

.full-width-height > *
{
	height: 100%;
	width: 100%;
	object-fit: cover;
}

/* -------------------------------------------------------------------------------- */
/* HEIGHT */
/* -------------------------------------------------------------------------------- */

.auto-height
{
	height: auto;
	max-height: auto;
}

.full-height
{
	height: 100%;
	max-height: 100%;
}

.full-visible-height
{
	height: calc(100vh - var(--pp-header-full-size-height));
	max-height: calc(100vh - var(--pp-header-full-size-height));
	
	overflow: hidden;
}
body.scrolling .full-visible-height
{
	height: calc(100vh - var(--pp-header-scroll-size-height));
	max-height: calc(100vh - var(--pp-header-scroll-size-height));
}


/* -------------------------------------------------------------------------------- */
/* FLEX */
/* -------------------------------------------------------------------------------- */

.flex
{
	display: flex;
}
.flex-inline
{
	display: inline-flex;
}

.flex-grow,
.flex-grow-1
{
    flex-grow: 1;
}
.flex-grow-2
{
    flex-grow: 2;
}
.flex-grow-3
{
    flex-grow: 3;
}
.flex-grow-4
{
    flex-grow: 4;
}
.flex-grow-5
{
    flex-grow: 5;
}
.flex-grow-6
{
    flex-grow: 6;
}
.flex-grow-7
{
    flex-grow: 7;
}
.flex-grow-8
{
    flex-grow: 8;
}
.flex-grow-9
{
    flex-grow: 9;
}
.flex-grow-10
{
    flex-grow: 10;
}
.flex-grow-11
{
    flex-grow: 11;
}
.flex-grow-12
{
    flex-grow: 12;
}

.flex-row
{
	flex-direction: row;
}
.flex-row-reverse
{
	flex-direction: row-reverse;
}

.flex-column
{
	flex-direction: column;
}
.flex-column-reverse
{
	flex-direction: column-reverse;
}

.flex-justify-start
{
	justify-content: flex-start;
}
.flex-justify-end
{
	justify-content: flex-end;
}
.flex-justify-center
{
	justify-content: center;
}
.flex-justify-space-between
{
	justify-content: space-between;
}
.flex-justify-space-around
{
	justify-content: space-around;
}

.flex-align-start
{
	align-items: flex-start;
}
.flex-align-end
{
	align-items: flex-end;
}
.flex-align-center
{
	align-items: center;
}
.flex-align-stretch
{
	align-items: stretch;
}

.flex-align-self-start
{
	align-self: flex-start;
}
.flex-align-self-end
{
	align-self: flex-end;
}
.flex-align-self-center
{
	align-self: center;
}

.flex-wrap
{
	flex-wrap: wrap;
}
.flex-nowrap
{
	flex-wrap: nowrap;
}




/* -------------------------------------------------------------------------------- */
/* TEXT */
/* -------------------------------------------------------------------------------- */

.text-decoration-none
{
	text-decoration: none;
}

.text-align-left
{
	text-align: left;
}
.text-align-right
{
	text-align: right;
}
.text-align-center
{
	text-align: center;
}



/* -------------------------------------------------------------------------------- */
/* MEDIA QUERY */
/* -------------------------------------------------------------------------------- */

@media (prefers-color-scheme: light)
{
	.theme-dark
	{
		display: none;
	}
}

@media (prefers-color-scheme: dark)
{
	.theme-light
	{
		display: none;
	}
}