@charset "utf-8";

/**************************************
* page-layout.css
**************************************/

/* @group page-layout
--------------------------------------------------------*/

.page-header{
position:relative;
}

@media (max-width:47.9375em) and (min-height:30em){

.page-header{
position:fixed;
z-index:1;
top:0;
right:0;
bottom:0;
left:0;
}

.page-body{
position:relative;
z-index:2;
margin-top:100vh;
background:hsl(0, 0%, 100%);
}

}

@media (min-width:48em) and (min-height:40em){

.page-header{
position:fixed;
z-index:1;
top:0;
right:0;
bottom:0;
left:0;
}

.page-body{
position:relative;
z-index:2;
margin-top:100vh;
background:hsl(0, 0%, 100%);
}
}

/* @end page-layout */

/* @group [data-contents-body]
--------------------------------------------------------*/

.page-header-body,
.page-footer,
.conf-intro,
.conf-detail,
.conf-timetable,
.conf-speaker,
.conf-access,
.conf-social{
padding-right:.75rem;
padding-left:.75rem;
-webkit-backface-visibility:hidden;backface-visibility:hidden;
}

@media (min-width:36em){

.page-header-body,
.page-footer,
.conf-intro,
.conf-detail,
.conf-timetable,
.conf-speaker,
.conf-access,
.conf-social{
padding-right:1.5rem;
padding-left:1.5rem;
}

}

@media (min-width:36em){

.page-nav-body{
padding-right:1.5rem;
padding-left:1.5rem;
}

}

@media (min-width:62em){

.page-header-body,
.page-footer,
.page-nav-body,
.conf-intro,
.conf-detail,
.conf-timetable,
.conf-speaker,
.conf-access,
.conf-social{
padding-right:calc((100% - 58.75rem) / 2);
padding-left:calc((100% - 58.75rem) / 2);
}

}

/* @end [data-contents-body] */

/* @group [data-root-content="wrap"]
--------------------------------------------------------*/

.conf-intro,
.conf-detail,
.conf-timetable,
.conf-speaker,
.conf-access{
padding-top:4.5rem;
padding-bottom:4.5rem;
}

.conf-social{
padding-top:3rem;
padding-bottom:3rem;
}

@media (max-height:44.9375em){

.conf-intro,
.conf-detail,
.conf-timetable,
.conf-speaker,
.conf-access{
padding-top:calc(4.5vh + 1.5rem);
padding-bottom:calc(4.5vh + 1.5rem);
}

.conf-social{
padding-top:calc(3vh + 1.5rem);
padding-bottom:calc(3vh + 1.5rem);
}

}

/* @end [data-root-content="wrap"] */

/*--------------------------------------------------------*/

/* @group page-top
--------------------------------------------------------*/

.page-top{
box-sizing:border-box;
position:fixed;
z-index:-1;
bottom:.75rem;
right:.75rem;
display:flex;
justify-content:center;
align-items:center;
width:3rem;
height:3rem;
padding:.75rem;
background:hsla(0, 0%, 0%, .375);
border-radius:.25rem;
opacity:0;
}

.page-top:hover{
background:hsla(0, 0%, 0%, .5);
}

.page-top-in .page-top{
background:hsla(0, 0%, 75%, .375);
}

.page-top-in .page-top:hover{
background:hsla(0, 0%, 75%, .5);
}

.no-js .page-top,
.fit-sticky .page-top,
.sticky .page-top{
z-index:111;
opacity:1;
}

.page-top span{
position:absolute;
left:-999em;
}

.page-top svg{
min-width:.75rem;
max-width:.75rem;
height:1.5rem;
fill:hsl(0, 0%, 0%);
}

@media (min-width:36em){

.page-top{
right:1.5rem;
}

}

@media (min-width:62em){

.page-top{
right:calc((100% - 58.75rem) / 2);
}

}

@media (min-width:72em){

.page-top{
right:calc(((100% - 58.75rem) / 2) - 4.5rem);
}

}

/* @end page-top */

/*--------------------------------------------------------*/

/* @group @social-list
--------------------------------------------------------*/

.social-list{
display:flex;
align-items:center;
margin-bottom:0;
}

.social-list li:not(:first-of-type){
margin-left:.75rem;
}

.social-list svg{
width:2.25rem;
height:2.25rem;
fill:hsl(10, 5%, 85%);
transition:all .25s cubic-bezier(.6, .5, .5, .75);
}

.social-list a:hover svg{
fill:hsl(0, 0%, 100%);
}

/* @end @social-list */

/*--------------------------------------------------------*/