body, header, nav, a, section, h1, h2, h3, h4, h5, h6, p, li, dd {
	padding:0;
	margin:0;
	font-family: 'Roboto',Arial,sans-serif;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
}

html, body{
	height:100%;
	scroll-behavior: smooth;
}

a {
    color:#ff7b00;
    text-decoration:none;
}
a:hover {
    text-decoration:underline;
}

.tooltip {
    display:block;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.3);
    display:none;
    z-index:5;
}
.tooltip .block {
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display:table;
    width:100%;
    max-width:760px;
    padding:24px;
    border:2px solid gray;
    border-radius:5px;
    background:white;
    box-sizing: border-box;
}

.tooltip .block > * {
    display:table-cell;
    vertical-align:top;
}
.tooltip .block > *:first-child {
    padding-right:24px;
}

.tooltip .text {
    line-height: 24px;
    color:#555;
    text-align:justify;
}

.tooltip .text h2 {
    line-height:50px;
}

.tooltip .avatar {
    background-position:center center;
	background-repeat: no-repeat;
	background-size: cover;
	width:200px;
	height:200px;
	border-radius:50%;
	border: 2px solid #999;
}

header.main {
	background-color:#cfe7fa;
	background-image:url('../img/header-family.jpg');
	background-position:center center;
	background-repeat: no-repeat;
	background-size: cover;
    background-attachment:fixed;
	height:100%;
    min-height: 700px;
	width:100%;
}
header.main > section {
	background-color:rgba(0,0,0,0.3);
	width:100%;
	height:100%;
	position:relative;
}
header.main div.info {
	text-align:center;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
}
header.main div.info .date {
	font-size: 40px;
	color:#fff;
	font-family: 'Roboto';
    line-height: 1.3;
    font-weight: 700;
	margin-bottom:40px;
}
header.main div.info h1,
header.main div.info h2,
header.main div.info h3 {
	color: #ffffff;
    font-size: 60px;
    font-family: 'Roboto';
    line-height: 1.2;
    font-weight: 700;
	margin:0;
	white-space:nowrap;
	margin-bottom:10px;
}
header.main div.info h1 {
	color:#fbd49d;
    text-shadow: 4px 4px 2px chocolate;
}
header.main div.info h2 {
	font-size: 50px;
	line-height: 1;
    font-weight: 300;
	margin-bottom:60px;
}
header.main div.info h3 {
	font-size: 30px;
    line-height: 1.3;
    font-weight: 300;
	margin-bottom:40px;
}

.register {
	text-decoration:none;
	color:white;
	background-color: #b4292c;
	font-size: 20px;
    font-family: 'Roboto';
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 1px;
	display:inline-block;
	padding:15px 25px;
}
.register:hover {
	background-color: #47beed;
}

nav.main {
	width:100%;
	padding:20px 50px;
}
nav.main a {
	text-decoration:none;
	color:#fff;
	font-weight: 300;
	margin-right:24px;
	font-size:16px;
}
nav.main a.burger {
    display:none;
}
nav.main a.burger:before {
    content:'\2630';
}
nav.main a.burger.open:before {
    content:'\2715';
}
nav.main a:hover {
	color: #ff7b00;
}
nav.main .langs {
    display:inline-block;
    float:right;
}
nav.main a.lang {
	text-transform: uppercase; 
    margin-right:0;
    margin-left:24px;
}
nav.main a.lang.active {
	color:yellow;
	font-weight:bold;
	cursor: default;
} 
nav.main.fixed {
	position:fixed;
	top:0;
	background-color:rgba(0,0,0,0.7);
	z-index:10;
}

div.block {
	display:flex;
	width:100%;
	padding:50px 0;
	flex-direction:column;
	align-items: center;
	text-align:center;
    box-sizing: border-box;
}
.divider {
	height:2px;
	background-color: #ff7b00;
	max-width: 100px;
    width: 100%;
	margin:40px 0;
	display:block;
}

.col2 {
	width:100%;
	display:flex;
}
.col2 > * {
	width:50%;
}
.col2 > *:first-child {
	padding-right:12px;
}
.col2 > *:last-child {
	padding-left:12px;
}

div.block h2,
footer.main h2 {
	font-size: 50px;
	font-weight: 300;
}
div.block.info p {
	font-size: 18px;
    line-height: 1.55;
	display:block;
	width:100%;
	max-width:760px;
    text-align:left;
}

div.block.info ol {
    display:block;
	width:100%;
	max-width:760px;
    margin-left:50px;
}

div.block.info li {
    font-size: 18px;
    line-height: 1.55;
    text-align:left;
}

div.block.speakers {
	background:#f2f2f2;
}

div.block.speakers > section {
	display:flex;
	width:100%;
	justify-content: center;
	flex-wrap: wrap;
}

div.block.speakers .speaker {
	display:inline-flex;
	width:25%;
	flex-direction:column;
	margin:24px;
	align-items: center;
}

div.block.speakers .speaker .avatar {
	background-position:center center;
	background-repeat: no-repeat;
	background-size: cover;
    transition: all 0.3s ease-out;
	width:200px;
	height:200px;
	border-radius:50%;
	border: 2px solid #999;
    cursor:pointer;
}
div.block.speakers .speaker .avatar:hover {
    border:2px solid #ff7b00;
}
div.block.speakers .speaker header{
	font-size: 22px;
	margin:10px 0;
}
div.block.speakers .speaker footer{
	font-size: 12px;
	color: #7a7a7a;
}

div.block.program .record {
	display:table;
	width:100%;
	max-width: 760px;
	margin:0 auto;
	margin-bottom:2px;
}
div.block.program .record > *{
	display:table-cell;
	vertical-align:top;
}
div.block.program .record .left {
	overflow:hidden;
	width:130px;
	text-align:center;
	position:relative;
}

div.block.program .record .left .line {
	background: #d4d4d4;
	width:2px;
	margin-top:2px;
	position:absolute;
	top:84px;
	bottom:0;
	left:50%;
	transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
}

div.block.program .record .left.default .line {
	top:16px;
}

div.block.program .record .left .avatar {
	width: 84px;
    height: 84px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	display: inline-block;
	box-sizing:border-box;
	border: 2px solid #d4d4d4;
	position:absolute;
	top:0;
	left:50%;
	transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
    transition: all 0.2s ease-out;
    cursor:pointer;
}
div.block.program .record .left .avatar:hover {
    border:2px solid #ff7b00;
}

div.block.program .record .left.default .avatar {
	width: 16px;
    height: 16px;
	background:white;
	border-width:2px;
}

div.block.program .record .right {
	text-align:left;
	padding-bottom:24px;
}
div.block.program .record:last-child .right {
	padding-bottom:0;
}
div.block.program .record:last-child .left .line{
	background:none;
}

div.block.program .record .right time {
	display:block;
	font-size:16px;
	color: #7a7a7a;
}

div.block.program .record .right h3 {
	font-size: 22px;
	line-height: 1.23;
	font-weight: 600;
	color:black;
	padding:8px 0 24px 0;
}

div.block.program .record .right p,
div.block.program .record .right dd {
	font-size: 18px;
	line-height: 1.55;
	font-weight: 300;
    color: #000000;
}
div.block.program .record .right dd {
    font-size:16px;
}

div.block.place {
	background:#dedede;
    padding-bottom: 24px;
}
div.block.place .col2{
	max-width:760px;
}
div.block.place .text {
	text-align:left;
	font-size: 18px;
    line-height: 1.55;
    font-weight: 300;
    color: #000000;
	max-width:760px;
}
div.block.place .col2 {
    padding-bottom:48px;
}

div.block.about-us {
    padding-bottom: 24px;
}    
div.block.about-us .text {
    max-width:760px;
    margin:0 auto;
    text-align:justify;
    line-height: 24px;
}

footer.main {
	color:black;
    background:#dedede;
	text-align:center;
	padding:30px 0 10px 0;
    box-sizing: border-box;
}
footer.main .divider {
	margin:0 auto;
	margin-bottom:30px;
}
footer.main h2 {
	margin-bottom:30px;
	font-weight: 300;
}
footer.main h3 {
	font-size:24px;
	font-weight: 300;
	margin-bottom:30px;
}
footer.main a.heading {
	font-size:32px;
	margin:12px 0;
	display:block;
	text-decoration:none;
	color:black;
}
footer.main a.heading:hover {
	color:#ff7b00;
}
footer.main .copyright {
	margin-top:30px;
}

@media all and (max-width: 1100px) {
    nav.main {
        padding:20px;
    }
}

@media all and (max-width: 1000px) {
    div.block.speakers .speaker {
        width:40%;
    }
    header.main div.info .date {
        font-size:4vw;
    }
    header.main div.info h3 {
        font-size:3vw;
    }
    header.main div.info h1 {
        font-size:6vw;
    }
    header.main div.info h2 {
        font-size:5vw;
    }
    .register {
        font-size: 2vw;
    }
    nav.main {
        padding: 5px 10px;
    }
    nav.main  a {
        display:none;
    }
    nav.main  a.burger {
        display: inline-block;
        float: right;
        font-size: 30px;
        margin: 0;
    }
    nav.main.open .icons {
        position:fixed;
        display:block;
        background-color: rgba(0,0,0,0.7);
        width: 100%;
        box-sizing: border-box;
        left: 0;
        top: 50px;
    }
    nav.main.open .langs {
        display: block;
        float: none;
        text-align: center;
        padding: 24px;
    }
    nav.main.open .icons a {
        display:block;
        text-align: center;
        padding: 10px 0;
    }
    nav.main.open .icons a:not(.lang) {
        margin:0;
    }
    nav.main.open .icons a.lang {
        display:inline-block;
    }
    nav.main {
        position: fixed;
        top: 0;
        background-color: rgba(0,0,0,0.7);
        z-index: 10;
    }
    
    .tooltip .block {
        display:block;
    }
    .tooltip .block > * {
        display:block;
    }
    .tooltip .block > *:first-child {
        display: flex;
        justify-content: center;
        padding-bottom: 24px;
    }
    .tooltip .text h2 {
        display: block;
        text-align: center;
    }
}

@media all and (max-width: 840px) {
    div.block,
    footer.main {
        padding-left:10px;
        padding-right:10px;
    }
}

@media all and (max-width: 800px) {
    .col2 {
        flex-direction:column;
    }
    .col2 > * {
        width: 100%;
        padding-bottom:24px;
    }
    .col2 > :first-child {
        padding-right:0;
    }
    .col2 > :last-child {
        padding-left: 0;
    }
    div.block h2,
    footer.main h2 {
        font-size:40px;
    }
}

@media all and (max-width: 700px) {
    div.block.speakers .speaker {
        width:60%;
    }
    div.block.program .record .left {
        width:100px;
    }
    header.main div.info {
        padding-left: 10px;
        padding-right: 10px;
        box-sizing: border-box;
    }
    .register {
        font-size: 15px;
    }
    header.main div.info .date {
        font-size:25px;
    }
    header.main div.info h3 {
        white-space: normal;
        font-size: 25px;
    }
    header.main div.info h2 {
        white-space: normal;
        font-size: 20px;
    }
    header.main div.info h1 {
        font-size: 45px;
    }
}

@media all and (max-width: 640px) {
    header.main div.info h1 {
        white-space: normal;
    }
}