:root {
	--primary: #3892d3;
	--primary-dark: #2f78b0;
	--primary-light: #eaf4fc;
	--success: #008800;
	--warning: #ffcc00;
	--info: #0000b3;
	--danger: #cc0000;
	--bg-page: #ffffff;
	--bg-page-alt: #f8f9fb;
	--border-color: #e2e5ea;
	--text-primary: #2b2f36;
	--text-secondary: #6b7280;
	--radius-sm: 6px;
	--radius-md: 10px;
	--radius-full: 999px;
	--shadow-sm: 0 1px 2px rgba(20,20,43,.06);
	--shadow-md: 0 4px 16px rgba(20,20,43,.08);
	--shadow-lg: 0 12px 32px rgba(20,20,43,.14);
	--transition-fast: 150ms ease;
}

html, body {
	font-family: 'Open Sans', sans-serif;
	color: var(--text-primary); font-size:14px;
	background-color: var(--bg-page);
	line-height: 22px;
	padding: 0;
	margin: 0;
}

* {
	box-sizing: border-box;
}

.container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.cf:after, .cf:before {
	content: " ";
	display: table;
}

.cf:after {
	clear: both;
}

.head {
	text-align: center;
	margin-top: 20px;
	padding: 0 20px;
}

.logo-width {
	float: left;
	width: 60%;
	text-align: center;
}

.logo img, .logo-width img {
	max-width: 100%;
	width: auto;
	margin-bottom: 20px;
}

.clock {
	float: right;
	width: 40%;
	text-align: center;
	font-size: 30px;
	line-height: 40px;
}

h1, h2 {
	margin: 0 0 20px 0;
	font-weight: 600;
	letter-spacing: .2px;
	color: var(--text-primary);
	line-height: 1.3;
}

.f-right {
	float: right;
	cursor: pointer;
	color: #444;
	text-decoration: none;
}

.body {
	padding: 0 20px;
}

.nopad {
	padding: 0;
}

.disclaimer {
	border: 1px solid var(--danger);
	color: var(--danger);
	text-align: center;
	font-size: 18px;
	line-height: 35px;
	padding: 10px;
	max-width: 1200px;
	margin: 0 auto 20px auto;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
}

.sinistra {
	float: left;
	width: 60%
}

.bg-green {
	padding: 40px;
	background-color: #008800;
	height: calc(100vh - 106px);
	text-align: center;
	color: #fff;
	position: relative;
}

.bg-red {
	padding: 40px;
	background-color: #cc0000;
	height: calc(100vh - 106px);
	text-align: center;
	color: #fff;
	position: relative;
}

.bg-grey {
	padding: 40px;
	background-color: #efefef;
	height: calc(100vh - 106px);
	text-align: center;
	position: relative;
}

.absolution {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 80px);
}

.big-title {
	font-size: 80px;
	line-height: 90px;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.occupation {
	font-size: 40px;
	line-height: 50px;
}

.object {
	font-size: 40px;
	line-height: 50px;
}

.evento {
	border-bottom: 1px solid #ccc;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.noborder {
	border: 0;
}

.time, .subject, .organizer {
	font-size: 25px;
	line-height: 35px;
}

.time {
	text-align: left;
}

.subject {
	text-align: left;
	float: left;
	overflow: hidden;
	width: 50%;
	font-weight: 700;
	word-wrap: normal;
}

.organizer {
	text-align: right;
	float: left;
	overflow: hidden;
	width: 50%;
}

.destra {
	float: right;
	width: 40%;
}

.icone {
	margin-top: 10px;
}

.icona {
	text-align: center;
	width: calc(100% / 3);
	float: left;
}

.icona .fas {
	font-size: 50px;
	margin-bottom: 5px;
}

.titolino {
	font-size: 25px;
	line-height: 35px;
}

.data_table {
    width: 100%;
    border-collapse: collapse;
}

.data_table tbody tr:hover {
    background-color: var(--primary-light);
}

.label {
    width: 25%;
    vertical-align: middle;
}

.input {
    font-size: 14px;
    font-family: 'Open Sans',sans-serif;
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    box-sizing: border-box;
    width: 100%;
    padding: 6px 10px;
    background-color: #f9f9f9;
    border-radius: var(--radius-sm);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);
}

.input:focus {
    border-color: var(--primary);
    background-color: var(--bg-page);
    box-shadow: 0 0 0 3px var(--primary-light);
    outline: none;
}

.table_spacing {
    padding: 10px 0;
}

.btn-cnt {
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
}

.box {
	width: calc(50% - 10px);
	margin-right: 20px;
	float: left;
	padding: 24px;
	margin-bottom: 20px;
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.box:hover {
	box-shadow: var(--shadow-md);
	border-color: var(--primary);
}

.box:nth-child(2n+0) {
	margin-right: 0;
}

h2 {
	min-height: 66px;
}

.link-box {
	text-align: center;
}

.btn {
	display: inline-block;
	border: 1px solid var(--border-color);
	border-radius: var(--radius-sm);
	padding: 10px 16px;
	min-width: 100px;
	text-decoration: none;
	color: var(--text-primary);
	font-family: 'Open Sans',sans-serif;
	cursor: pointer;
	background-color: var(--bg-page);
	transition: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.btn:hover,
.btn:focus {
	color: var(--primary);
	border-color: var(--primary);
	box-shadow: var(--shadow-sm);
}

.foot {
	padding: 0 20px;
}

@media all and (max-width: 768px) {
	.body {
		margin: 0;
		padding: 0 20px;;
	}
	
	.box {
		width: 100%;
		float: none;
		margin: 0 0 20px 0;
	}
}