/**
 * #9fd6d2
 */
:where(*),
:where(*::before),
:where(*::after){
	all: unset;
	box-sizing: border-box;
	display: block;
}
html{
	--accentDark1: #032330;
	--accentDark2: #054561;
	--accentDark3: #086891;
	--accentMedium: #0dadf2;
	--dark1: #0f1e24;
	--dark2: #1e2b48;
	--dark3: #2d596c;
	--light1: #ffffff;
	--light2: #b7c4e1;
	background: var(--dark2);
	color: var(--light2);
	font: normal 1em/1.5 'Source Sans 3', sans-serif;
}
	head{
		display: none;
	}
	body{
	}
		a{
			cursor: pointer;
			display: inline;
			text-decoration: underline;
			/*
			text-decoration-color: var(--accentMedium);
			text-decoration-thickness: 0.0675rem;
			text-decoration-style: wavy;
			text-decoration-thickness: 0.0675rem;
			*/
			text-underline-offset: 0.1875rem;
		}
		a:hover{
			text-decoration: none;
		}
		button{
			background: var(--dark2);
			border: 0.0625rem solid var(--dark2);
			color: var(--light1);
			border-radius: 0.375rem;
			cursor: pointer;
			padding: 0.6875rem;
			text-align: center;
			width: 100%;
		}
		button:hover{
			background: transparent;
			color: var(--dark2);
		}
		p{
			padding: 0.75rem;
		}
		ol{
			padding: 0.75rem;
		}
		strong{
			display: inline;
			font-weight: bold;
		}
		ul{
			padding: 0.75rem;
		}
		span{
			display: inline;
		}
		.site{
		}
			.site__navigation{
			}
				.site__navigation .current a{
					color: var(--light1);
					font-weight: bold;
					text-decoration: none;
				}
			.site__header{
				padding: 1.5rem;
			}
				.site__title{
					color: var(--light1);
					font-weight: bold;
					padding: 0.75rem;
					position: relative;
				}
					.site__title a{
						padding-left: 6rem;
						text-decoration: none;
					}
					.site__title img{
						left: 1.5rem;
						position: absolute;
						transform: translateY(-50%);
						top: 50%;
						width: 4.5rem;
					}
				.site__header-navigation{
				}
					.site__header-navigation-toggle{
						position: fixed;
						right: 2.25rem;
						top: 2.25rem;
						z-index: 10000;
					}
					.site__header-navigation-content{
						display: none;
						font-size: 1.5rem;
						line-height: 1;
						margin-top: 4.5rem;
					}
					.site__header-navigation--open .site__header-navigation-content{
						display: block;
					}
						.site__header-navigation-content ul{
							padding: 0;
						}
							.site__header-navigation-content li{
								padding: 0.75rem;
							}
				.site__header-navigation--open{
					background: var(--dark2);
					height: 100%;
					left: 0;
					overflow: hidden;
					padding: 1.5rem;
					position: fixed;
					top: 0;
					width: 100%;
					z-index: 20000;
				}
			.site__body{
				background: var(--light1);
				color: var(--dark2);
			}
				.page{
				}
					.page__header{
						padding: 1.5rem;
					}
						h1{
							color: var(--accentDark1);
							font-family: 'Source Serif 4';
							font-size: 3rem;
							font-weight: bold;
							letter-spacing: -0.0625rem;
							padding: 0.75rem;
						}
						.mod-breadcrumbs__wrapper{
							display: contents;
						}
							.mod-breadcrumbs__wrapper ol{
							}
								.mod-breadcrumbs__wrapper li{
									display: inline-block;
								}
								.mod-breadcrumbs__wrapper li:nth-child(2) ~ li::before{
									content: '>';
									display: inline-block;
									text-align: center;
									width: 1.5rem;
								}
					.page__header--has-subtitle{
						display: flex;
						flex-direction: column;
						justify-content: center;
						min-height: calc(100vh - 12rem);
					}
						.page__header--has-subtitle h1 ~ p{
							color: var(--dark3);
							font-size: 2rem;
							letter-spacing: -0.0625rem;
							padding: 0.75rem;
							margin-top: -1.5rem;
						}
					.site--landing-page .page__header{
						position: relative;
					}
					.site--landing-page .page__header::before{
						background: url(/templates/giuliagigante/images/lanterna.jpg) no-repeat top center;
						background-color: #dee0e4;
						background-size: auto 100%;
						content: '';
						filter: saturate(50%);
						opacity: 0.5;
						left: 0;
						height: 100%;
						display: block;
						position: absolute;
						top: 0;
						width: 100%;
					}
					.site--landing-page .page__header *{
						position: relative;
					}
					.page__body{
						border-top: 0.0625rem solid var(--dark3);
						padding: 1.5rem;
						padding-top: 1.4375rem;
					}
						h2{
							color: var(--accentDark2);
							font-family: 'Source Serif 4';
							font-size: 2rem;
							font-weight: bold;
							padding: 0.75rem;
						}
						h3{
							color: var(--accentDark3);
							font-family: 'Source Serif 4';
							font-size: 1.35rem;
							font-weight: bold;
							line-height: 1.111111;
							padding: 0.75rem;
						}
						.boxes{
							display: flex;
							flex-wrap: wrap;
							gap: 0.75rem;
							padding: 0.75rem 0;
							text-align: center;
						}
							.box{
								border: 0.0625rem solid #000000;
								border-radius: 0.375rem;
								flex: 1 1 100%;
								padding: calc(0.75rem - 0.0625rem);
							}
						.article{
						}
							.article figure{
							}
								.article figcaption{
									font-size: 0.9rem;
									line-height: 1.666666;
									padding: 0.75rem;
									text-align: center;
									text-transform: uppercase;
								}
								.article figure img{
									max-width: 100%;
								}
						form{
							border: 0.0625rem solid var(--dark2);
							border-radius: 0.375rem;
							margin-top: -0.0625rem;
							margin-left: -0.0625rem;
							overflow: hidden;
							width: calc(100% + 0.125rem);
						}
							.control-group{
								padding: 0.75rem;
							}
							fieldset{
							}
								legend,
								.field-spacer{
									display: none;
								}
								fieldset .control-group{
								}
									label{
										font-weight: bold;
									}
										label span{
											font-weight: normal;
										}
									input, textarea{
										border-bottom: 0.0625rem dashed var(--dark2);
										margin-bottom: -0.0625rem;
										width: 100%;
									}
									input{
										height: 1.5rem;
									}
									textarea{
										height: 12rem;
									}
						.contact{
						}
							.contact__offline{
							}
								.map{
									border: 0.0625rem solid var(--dark2);
									border-radius: 0.375rem;
									overflow: hidden;
									height: 24rem;
								}
							.contact__online{
								margin-top: 1.5rem;
							}
								.contact__privacy-warning{
									font-size: 0.9rem;
									line-height: 1.666666;
								}
					.page__footer{
						border-top: 0.0625rem solid var(--dark3);
						padding-top: 1.4375rem;
					}
			.site__footer{
				font-size: 0.9rem;
				line-height: 1.666666;
				padding: 1.5rem;
			}
				.site__owner{
				}
				.site__owner p ~ p{
					margin-top: -1.5rem;
				}
	/*
	.site::before{
		background: linear-gradient(to top, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0));
		content: '';
		height: 300%;
		display: block;
		position: fixed;
		right: 50%;
		transform: rotateZ(10deg);
		top: -100%;
		width: 100%;
		z-index: -1;
	}
	*/
@media (min-width: 53em){
html{
	font-size: 1.2em;
}
	body{
	}
		.site{
		}
			.site__header{
				display: flex;
				flex-direction: row;
				justify-content: space-between;
				padding-left: calc(50% - 24rem);
				padding-right: calc(50% - 24rem);
			}
				.site__title{
				}
				.site__header-navigation{
					display: contents;
				}
					.site__header-navigation-toggle{
						display: none;
					}
					.site__header-navigation-content,
					.site__header-navigation--open .site__header-navigation-content{
						display: contents;
					}
					.site__header-navigation-content{
						font-size: 1rem;
						line-height: 1.5;
						margin-top: 0;
					}
						.site__header-navigation-content ul{
							display: flex;
							flex-direction: row;
							padding: 0;
							text-align: right;
						}
							.site__header-navigation-content li{
								padding: 0.75rem;
							}
			.site__body{
			}
				.page{
				}
					.page__header{
						text-align: center;
					}
						h1{
							line-height: 1.5;
						}
					.page__header--has-subtitle{
					}
						.page__header--has-subtitle h1{
							font-size: 4rem;
						}
					.site--landing-page .page__header::before{
					}
					.page__body{
						padding-left: calc(50% - 24rem);
						padding-right: calc(50% - 24rem);
					}
						h2{
							text-align: center;
						}
						h3{
							text-align: center;
						}
						ul.compact{
							display: flex;
							flex-wrap: wrap;
							list-style: disc outside none;
						}
							ul.compact li{
								display: list-item;
								flex-basis: 50%;
							}							
						/*
						ul.compact{
							text-align: center;
						}
						*/
						.article{
						}
							.article p{
								hyphens: auto;
								text-align: justify;
							}
							.article figure.myself{
								float: left;
								width: calc(50% - 0.75rem);
								margin-right: 1.5rem;
							}
							.article figure.myself ~ *{
								margin-left : calc(50% + 0.75rem);
							}
							.article figure:not(.myself){
								margin: 0 auto;
								max-width: 50%;
								width: auto;
							}
						.article::after{
							content: '';
							clear: both;
							display: table;
						}
							.contact p{
								hyphens: auto;
								text-align: justify;
							}
						form{
						}
						form{
						}
							fieldset{
								display: flex;
								flex-direction: row;
								flex-wrap: wrap;
							}
								fieldset .control-group{
									flex-basis: 50%;
								}
								fieldset .control-group:nth-of-type(3) ~ .control-group{
									flex-basis: 100%;
								}
					.page__footer{
						text-align: center;
					}
			.site__footer{
				padding-left: calc(50% - 24rem);
				padding-right: calc(50% - 24rem);
				text-align: center;
			}
				.site__footer ul{
				}
					.site__footer li{
						display: inline-block;
					}
					.site__footer li ~ li{
						margin-left: 0.75rem;
					}
					
}
@media (min-width: 66.666666em){
html{
}
	body{
	}
		.site{
		}
			.site__header{
				padding-left: calc(50% - 32.75rem);
				padding-right: calc(50% - 32.75rem);
			}
			.site__body{
			}
				.page{
				}
					.page__header{
						padding-left: calc(50% - 32.75rem);
						padding-right: calc(50% - 32.75rem);
					}
					.site--contact .page__body,
					.site--about-me .page__body{
						padding-left: calc(50% - 32.75rem);
						padding-right: calc(50% - 32.75rem);
					}
						.boxes{
						}
							.box{
								flex-basis: calc(33.333333% - 0.75rem);
							}
						.contact{
							align-items: top;
							display: flex;
							flex-direction: flex-row;
							gap: 1.5rem;
						}
							.contact__offline{
								flex-basis: calc(50% - 0.75rem);
							}
							.contact__online{
								flex-basis: calc(50% - 0.75rem);
								margin-top: 0;
							}
					.page__footer{
						padding-left: calc(50% - 32.75rem);
						padding-right: calc(50% - 32.75rem);
					}
			.site__footer{
				padding-left: calc(50% - 32.75rem);
				padding-right: calc(50% - 32.75rem);
			}
}
