@charset "UTF-8";
/* bitter-100 - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: normal;
    font-weight: 100;
    src: url('fonts/bitter-v40-latin_latin-ext-100.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-100.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-100italic - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: italic;
    font-weight: 100;
    src: url('fonts/bitter-v40-latin_latin-ext-100italic.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-100italic.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-200 - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: normal;
    font-weight: 200;
    src: url('fonts/bitter-v40-latin_latin-ext-200.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-200.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-200italic - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: italic;
    font-weight: 200;
    src: url('fonts/bitter-v40-latin_latin-ext-200italic.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-200italic.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-300 - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/bitter-v40-latin_latin-ext-300.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-300.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-300italic - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: italic;
    font-weight: 300;
    src: url('fonts/bitter-v40-latin_latin-ext-300italic.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-300italic.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-regular - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/bitter-v40-latin_latin-ext-regular.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-regular.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-italic - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/bitter-v40-latin_latin-ext-italic.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-italic.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-500 - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/bitter-v40-latin_latin-ext-500.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-500.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-500italic - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: italic;
    font-weight: 500;
    src: url('fonts/bitter-v40-latin_latin-ext-500italic.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-500italic.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-600 - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/bitter-v40-latin_latin-ext-600.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-600.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-600italic - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: italic;
    font-weight: 600;
    src: url('fonts/bitter-v40-latin_latin-ext-600italic.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-600italic.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-700 - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/bitter-v40-latin_latin-ext-700.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-700.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-700italic - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: italic;
    font-weight: 700;
    src: url('fonts/bitter-v40-latin_latin-ext-700italic.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-700italic.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-800 - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: normal;
    font-weight: 800;
    src: url('fonts/bitter-v40-latin_latin-ext-800.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-800.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-800italic - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: italic;
    font-weight: 800;
    src: url('fonts/bitter-v40-latin_latin-ext-800italic.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-800italic.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-900 - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: normal;
    font-weight: 900;
    src: url('fonts/bitter-v40-latin_latin-ext-900.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-900.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* bitter-900italic - latin_latin-ext */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Bitter';
    font-style: italic;
    font-weight: 900;
    src: url('fonts/bitter-v40-latin_latin-ext-900italic.woff2') format('woff2'),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
        url('fonts/bitter-v40-latin_latin-ext-900italic.ttf') format('truetype');
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
:root{
    --primary:#c03e24;
    --primary-txt:#fff;
    --accent:grey;
    --accent-txt:#fff;
    --base:#fff;
    --base-text:#424242;
    --base-secondary-text:#636363;
    --link-secondary-text:#424242;
    --darken-1:rgba(0,0,0,0.125);
    --darken-2:rgba(0,0,0,0.25);
    --darken-3:rgba(0,0,0,0.5);
    --lighten-1:rgba(255,255,255,0.125);
    --lighten-2:rgba(255,255,255,0.25);
    --lighten-3:rgba(255,255,255,0.5);
    --color-hero:#f8f8ff;
    --color-platium:#73737a;
    --color-sponsors:#b7935b;
    --color-error:#b22222;
    --space-1:.125rem;
    --space-2:.25rem;
    --space-3:.5rem;
    --space-4:1rem;
    --theJdrSize:1100px;
    --block-text-max-width:60rem;
    --breakpoint-sm:34.375rem;
    --breakpoint-md:45rem;
    --breakpoint-lg:60rem;
    --breakpoint-xl:71.25rem;
    --container-margin:10vw;
    --container-margin-mobile:3vw;
    --toolbar-height:3.25rem;
    --font-family:"Bitter",sans-serif;
    --tag1:#b3e2cd;
    --tag2:#fdcdac;
    --tag3:#cbd5e8;
    --tag4:#f4cae4;
    --tag5:#e6f5c9;
    --tag6:#fff2ae;
    --tag7:#f1e2cc;
    --tag8:#ccc;
    --native-mobile-apps:var(--tag2);
    --web:var(--tag6);
    --method-tools:var(--tag5);
    --big-data-ml-ai:var(--tag3);
    --iot:var(--tag8);
    --cloud:var(--tag4);
    --languages:var(--tag1);
    --wtf:var(--tag7);
    --general:var(--tag8);
    --office-hours:#fffaf0;
    --keynote:#afeeee;
    --jumbo-logo-width:400px;
    --jumbo-overlay-opacity:0.01;
    --jumbo-overlay-transition:0.5s;
    --partner-support-height:60px;
    --partner-organisation-height:calc(var(--partner-support-height)*3);
    --partner-partners-height:calc(var(--partner-support-height)*2);
    --partner-sponsors-height:calc(var(--partner-support-height)*2);
    --partner-main-sponsors-height: calc(var(--partner-support-height)*2.7);
    --animation:0.3s cubic-bezier(0.4,0,0.2,1);
    --extruded-dark:1px 0 0 var(--darken-3);
    --extruded-light:1px 0 0 var(--lighten-3);
    --box-shadow-1:0 0 2px 0 rgba(0,0,0,0.07),0 2px 2px 0 rgba(0,0,0,0.15);
    --box-shadow-2:0 3px 3px -2px rgba(0,0,0,0.2),0 3px 4px 0 rgba(0,0,0,0.14),0 1px 8px 0 rgba(0,0,0,0.12);
    --fg-mark-a:#fff;
    --bg-mark-a:#fb2c17;
    --fg-mark-b:#000;
    --bg-mark-b:#fc0;
    --fg-mark-t2:#fff;
    --bg-mark-t2:#11a7e0;
    --ozgurkon-primary:#c03e24;
    --ozgurkon-secondary:#e3672b;
    --base-grid-height:4.5em
}
html{
    box-sizing:border-box;
    font-family:"Bitter",sans-serif;
    font-family:var(--font-family);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    background:rgba(0,0,0,.25);
    background:var(--darken-2)
}
*,:after,:before{
    box-sizing:inherit
}
:focus{
    outline:thin dotted rgba(0,0,0,.5);
    outline:thin dotted var(--darken-3);
    outline-offset:.125rem;
    outline-offset:var(--space-1)
}
body{
    background:#fff;
    background:var(--base);
    color:#424242;
    color:var(--base-text);
    margin:3.25rem 0 0;
    margin:var(--toolbar-height) 0 0;
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    min-height:calc(100vh - 3.25rem);
    min-height:calc(100vh - var(--toolbar-height))
}
h1,h2,h3,h4,h5,h6{
    margin:0;
    font-weight:400
}
hr{
    border-color:rgba(0,0,0,.125);
    border-color:var(--darken-1);
    opacity:.25
}
p{
    line-height:1.25
}
a,a:visited{
    color:inherit;
    text-decoration:none
}
.content a,.content a:visited{
    color:#593a9f;
    color:var(--primary)
}
.language.english:before{
    content:"🇬🇧"
}
.language.turkish:before{
    content:"🇹🇷"
}
.language.english-turkish:before{
    content:"🇹🇷 🇬🇧"
}
.visually-hidden{
    position:absolute!important;
    height:1px;
    width:1px;
    overflow:hidden;
    clip:rect(1px 1px 1px 1px);
    clip:rect(1px,1px,1px,1px)
}
body>footer.container,body>header.container,body>main>section.container{
    padding:4rem 10vw;
    padding:4rem var(--container-margin)
}
body>header{
    position:fixed;
    top:0;
    z-index:100;
    width:100vw;
    min-height:var(--toolbar-height);
    box-shadow:0 .125rem #593a9f,0 .25rem .125rem rgba(0,0,0,.5);
    box-shadow:0 var(--space-1) var(--primary),0 var(--space-2) var(--space-1) var(--darken-3);
    background:#593a9f;
    background:var(--primary);
    color:#fff;
    color:var(--primary-txt)
}
body>header .top-content{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto;
    min-height:var(--toolbar-height);
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap;
    -webkit-box-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    align-items:center
}
body>header .logo img{
    height:2.75rem;
    height:calc(var(--toolbar-height) - 2*var(--space-2));
}
body>header label{
    display:none;
    opacity:.5;
    padding:.1em;
    border:.25rem solid transparent;
    border:var(--space-2) solid transparent;
    outline-offset:.25rem;
    outline-offset:var(--space-2)
}
body>header label .icon{
    --size:1.5rem;
    height:1.5rem;
    height:var(--size,1.5rem);
    width:1.5rem;
    width:var(--size,1.5rem)
}
body>header label .icon-menu{
    display:block
}
body>header label .icon-close{
    display:none
}
body>header label:focus,body>header label:hover{
    opacity:1;
    outline:thin dotted currentColor
}
body>header input[type=checkbox]:checked~label .icon-menu{
    display:none
}
body>header input[type=checkbox]:checked~label .icon-close{
    display:block
}
body>header nav{
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center
}
body>header nav ul{
    margin:0;
    padding:0;
    display:-webkit-box;
    display:flex;
    list-style:none
}
body>header nav li{
    opacity:.6;
    -webkit-transition:all .3s cubic-bezier(.4,0,.2,1);
    transition:all .3s cubic-bezier(.4,0,.2,1);
    -webkit-transition:all var(--animation);
    transition:all var(--animation);
    border-bottom:thin solid transparent;
    border-radius:5%
}
body>header nav li.active{
    opacity:1;
    border-bottom-color:currentColor
}
body>header nav a{
    display:block;
    padding:0 .5rem;
    padding:0 var(--space-3);
    text-decoration:none;
    line-height:2.25rem;
    line-height:calc(var(--toolbar-height) - 4*var(--space-2));
    color:inherit;
    font-weight:600
}
body>header nav a svg{
    max-width:3ch
}
body>header nav nav a:focus,body>header nav nav a:hover{
    text-shadow:1px 0 0 rgba(0,0,0,.5);
    text-shadow:var(--extruded-dark);
    opacity:.75
}
body>header nav .languages a.lang{
    color:transparent;
    max-width:2em;
    height:2em;
    overflow:hidden
}
body>header nav .languages a.lang:before{
    color:#000;
    color:initial
}
body>header nav .languages a.lang.lang-tr:before{
    content:"🇹🇷"
}
body>header nav .languages a.lang.lang-en:before{
    content:"🇬🇧"
}
body>header nav .languages a.active{
    display:none
}
@media (max-width:71.24em){
    body>header{
        flex-wrap:wrap
    }
    body>header label{
        display:block
    }
    body>header nav{
        display:none;
        width:100%;
        padding:0 1em;
        background:#593a9f;
        background:var(--primary);
        -webkit-box-pack:start;
        justify-content:flex-start
    }
    body>header nav,body>header nav ul{
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        flex-direction:column
    }
    body>header nav a{
        padding:.25rem 0;
        padding:var(--space-2) 0;
        width:100%
    }
    body>header nav a.active{
        border-bottom-width:thin;
        border-bottom-color:rgba(255,255,255,.25);
        border-bottom-color:var(--lighten-2)
    }
    body>header nav a:focus,body>header nav a:hover{
        background:rgba(0,0,0,.125);
        background:var(--darken-1)
    }
    body>header input[type=checkbox]:checked~nav{
        display:block
    }
}
body>main{
    -webkit-box-flex:1;
    flex-grow:1
}
body>main>section{
    margin:2rem 10vw;
    margin:2rem var(--container-margin);
    padding-left:0;
    padding-right:0
}
@media (max-width:44.99em){
    body>main>section{
        margin:1rem
    }
}
body>main>section.primary{
    background-color:#593a9f;
    background-color:var(--primary);
    color:#fff;
    color:var(--primary-txt)
}
body>main>section.accent{
    background-color:grey;
    background-color:var(--accent);
    color:#fff;
    color:var(--accent-txt)
}
body>footer{
    background-color:rgba(0,0,0,.125);
    background-color:var(--darken-1);
    color:#636363;
    color:var(--base-secondary-text);
    font-weight:400;
    padding:.5em 1em;
    padding-bottom: 1.5em;
}
body>footer .bottom-content{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto
}
body>footer a:hover{
    text-decoration:underline
}
body>footer .footer-header{
    display:-webkit-box;
    display:flex;
    -webkit-box-pack:justify;
    justify-content:space-between;
    font-weight:500;
    flex-wrap:wrap;
}
body>footer .footer-header header{
    margin-right:.25rem;
    margin-right:var(--space-2)
}
body>footer .footer-header>div{
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center;
    margin-bottom:1rem
}
body>footer .footer-header>div ul.social-list{
    padding:0;
    margin:0;
    list-style:none;
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center
}
body>footer .footer-header>div ul.social-list li{
    display:inline-block;
    padding:.25rem;
    padding:var(--space-2)
}
body>footer .footer-header .follow a.social{
    opacity:.75;
    -webkit-filter:grayscale(1);
    filter:grayscale(1);
    -webkit-transition:-webkit-filter .3s cubic-bezier(.4,0,.2,1);
    transition:-webkit-filter .3s cubic-bezier(.4,0,.2,1);
    transition:filter .3s cubic-bezier(.4,0,.2,1);
    transition:filter .3s cubic-bezier(.4,0,.2,1),-webkit-filter .3s cubic-bezier(.4,0,.2,1);
    -webkit-transition:-webkit-filter var(--animation);
    transition:-webkit-filter var(--animation);
    transition:filter var(--animation);
    transition:filter var(--animation),-webkit-filter var(--animation)
}
body>footer .footer-header .follow a.social:focus,body>footer .footer-header .follow a.social:hover{
    opacity:1;
    -webkit-filter:grayscale(0);
    filter:grayscale(0)
}
body>footer .footer-header .blog a{
    text-decoration:underline
}
body>footer .footer-header .email a{
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center
}
body>footer .footer-header .email a .icon{
    width:1em;
    height:1em
}
body>footer .footer-content{
    display:-webkit-box;
    display:flex;
    -webkit-box-pack:justify;
    justify-content:space-between;
    flex-wrap:wrap;
    margin-top:1rem;
    margin-top:var(--space-4)
}
body>footer .footer-content .subscribe a.btn{
    color:#424242;
    color:var(--link-secondary-text)
}
body>footer .footer-content section{
    margin:.25rem 1rem;
    margin:var(--space-2) var(--space-4)
}
@media (max-width:44.99em){
    body>footer .footer-content section{
        margin:.25rem 0;
        margin:var(--space-2) 0
    }
}
body>footer .footer-content section:first-child{
    margin-left:0
}
body>footer .footer-content section:last-child{
    margin-right:0
}
body>footer .footer-content section header{
    font-size:1.125rem;
    font-weight:600;
    margin-bottom:.25rem;
    margin-bottom:var(--space-2)
}
body>footer .footer-content section ul{
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    list-style:none;
    padding:0;
    margin:.5rem 0;
    margin:var(--space-3) 0;
    font-weight:400;
    font-size:.9rem
}
body>footer .footer-content section ul li{
    margin:.125rem 0;
    margin:var(--space-1) 0
}
body>footer .footer-footer{
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    flex-direction:row;
    -webkit-box-pack:justify;
    justify-content:space-between;
    margin-top:1rem;
    margin-top:var(--space-4)
}
@media (max-width:44.99em){
    body>footer .footer-footer{
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        flex-direction:column;
        -webkit-box-align:start;
        align-items:start
    }
    body>footer .footer-footer>*{
        margin:.25rem 0;
        margin:var(--space-2) 0
    }
}
body>footer .footer-footer img{
    height:2rem;
    width:auto
}
a.btn,button.btn,input[type=button],input[type=reset],input[type=submit],span.btn{
    display:-webkit-inline-box;
    display:inline-flex;
    -webkit-box-align:center;
    align-items:center;
    border:thin solid rgba(0,0,0,.5);
    border:thin solid var(--darken-3);
    border-radius:.3rem;
    background:rgba(0,0,0,.125);
    background:var(--darken-1);
    padding:.5rem;
    padding:var(--space-3);
    color:inherit;
    /*text-transform:uppercase; */
    text-decoration:none;
    font-size:.875rem;
    font-weight:500;
    cursor:pointer;
    text-shadow:1px 0 0 rgba(255,255,255,.5);
    text-shadow:var(--extruded-light);
    --focus-color:var(--darken-1);
    --active-color:var(--darken-1)
}
a.btn.btn-lg,button.btn.btn-lg,input[type=button].btn-lg,input[type=reset].btn-lg,input[type=submit].btn-lg,span.btn.btn-lg{
    padding:.5rem 1rem;
    font-size:1.25rem;
    line-height:1.5;
    border-radius:.5rem
}
a.btn.primary,button.btn.primary,input[type=button].primary,input[type=reset].primary,input[type=submit].primary,span.btn.primary{
    background-color:#593a9f;
    background-color:var(--primary);
    color:#fff;
    color:var(--primary-txt);
    text-shadow:1px 0 0 rgba(0,0,0,.5);
    text-shadow:var(--extruded-dark);
    --focus-color:var(--lighten-1);
    --active-color:var(--lighten-1)
}
a.btn.btn-icon-only,button.btn.btn-icon-only,input[type=button].btn-icon-only,input[type=reset].btn-icon-only,input[type=submit].btn-icon-only,span.btn.btn-icon-only{
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center;
    -webkit-box-pack:center;
    justify-content:center;
    background:rgba(255,255,255,.125);
    background:var(--lighten-1);
    border-radius:50%;
    margin-left:1ch;
    padding:.25rem;
    padding:var(--space-2);
    border-color:transparent
}
a.btn.btn-icon-only .icon,button.btn.btn-icon-only .icon,input[type=button].btn-icon-only .icon,input[type=reset].btn-icon-only .icon,input[type=submit].btn-icon-only .icon,span.btn.btn-icon-only .icon{
    margin:.25rem;
    margin:var(--space-2);
    --size:1.5rem;
    width:1.5rem;
    width:var(--size,1.5rem);
    height:1.5rem;
    height:var(--size,1.5rem);
    display:inline-block;
    content:"";
    background-repeat:no-repeat
}
a.btn:focus,a.btn:hover,button.btn:focus,button.btn:hover,input[type=button]:focus,input[type=button]:hover,input[type=reset]:focus,input[type=reset]:hover,input[type=submit]:focus,input[type=submit]:hover,span.btn:focus,span.btn:hover{
    background-image:-webkit-gradient(linear,left top,right top,from(var(--focus-color)),to(var(--focus-color)));
    background-image:linear-gradient(90deg,var(--focus-color),var(--focus-color));
    text-decoration:none
}
a.btn .icon,button.btn .icon,input[type=button] .icon,input[type=reset] .icon,input[type=submit] .icon,span.btn .icon{
    --size:1rem;
    width:1rem;
    width:var(--size,1rem);
    height:1rem;
    height:var(--size,1rem)
}
a.btn[aria-disabled],button.btn[aria-disabled],form:invalid button.btn,span.btn[aria-disabled]{
    opacity:.5;
    cursor:not-allowed;
    -webkit-filter:grayscale(100%);
    filter:grayscale(100%)
}
a.goto-top{
    position:fixed;
    display:-webkit-box;
    display:flex;
    bottom:2em;
    right:2em;
    height:1em;
    -webkit-box-pack:center;
    justify-content:center;
    border:.75em solid #593a9f;
    border:.75em solid var(--primary);
    font-size:200%;
    background-color:#593a9f;
    background-color:var(--primary);
    color:#fff;
    color:var(--primary-txt);
    border-radius:50%
}
a.goto-top,a.social{
    width:1em;
    -webkit-box-align:center;
    align-items:center
}
a.social{
    display:-webkit-inline-box;
    display:inline-flex;
    margin:.125rem;
    margin:var(--space-1);
    background-size:contain;
    background-position:50%;
    background-repeat:no-repeat;
    text-decoration:none;
    overflow:hidden
}
a.social:focus,a.social:hover{
    text-decoration:underline
}
.jumbo{
    position:relative;
    height:calc(100vh - 3.25rem);
    height:calc(100vh - var(--toolbar-height));
    max-width:100%;
    display:-webkit-box;
    display:flex;
    -webkit-box-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    align-items:center;
    background-color:var(--jumbo-fallback-bg,#9a3a22)
}
.jumbo img.jumbo-logo{
    max-width:100%;
    width:400px;
    width:var(--jumbo-logo-width,400px);
    height:auto;
    -webkit-filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));
    -webkit-filter:drop-shadow(0 1px 1px var(--darken-3));
    filter:drop-shadow(0 1px 1px var(--darken-3))
}
.jumbo p{
    margin:.25rem 0;
    margin:var(--space-2) 0;
    font-size:2rem
}
.jumbo .jumbo-cover{
    background-size:cover;
    background-attachment:fixed;
    background-position:50%;
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0
}
.jumbo #jumbo-img{
    display:none
}
.jumbo #jumbo-overlay{
    background-color:#593a9f;
    background-color:var(--primary);
    -webkit-transition:opacity .5s;
    transition:opacity .5s;
    -webkit-transition:opacity var(--jumbo-overlay-transition,.4s);
    transition:opacity var(--jumbo-overlay-transition,.4s);
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    opacity:.6;
    opacity:var(--jumbo-overlay-opacity,.6)
}
.jumbo #jumbo-overlay.show{
    opacity:.6;
    opacity:var(--jumbo-overlay-opacity,.6)
}
.jumbo .inner-wrapper{
    max-width:75vw
}
.jumbo .inner-wrapper .inner{
    padding:1rem;
    padding:var(--space-4);
    color:#fff;
    color:var(--primary-txt);
    position:relative;
    overflow:hidden;
    text-align:center;
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column
}
.jumbo .inner-wrapper .inner h2{
    font-size:2rem;
    margin:.5rem 0;
    margin:var(--space-3) 0;
    font-weight:700
}
.jumbo .inner-wrapper .inner h3{
    font-size:1.8rem;
    margin:.5rem 0;
    margin:var(--space-3) 0
}
.jumbo .inner-wrapper .inner a{
    -ms-grid-row-align:center;
    align-self:center;
    margin:.5em
}
.jumbo .scroll-down{
    position:absolute;
    bottom:2rem;
    left:0;
    -webkit-transform:translateX(50vw);
    transform:translateX(50vw);
    -webkit-transform-origin:center center;
    transform-origin:center center;
    color:#fff;
    color:var(--base,#fff)
}
.jumbo .scroll-down .icon{
    height:2.5em;
    width:1.5em
}
.jumbo .scroll-down .icon .scroller{
    -webkit-animation:scrollDownMove .8s ease-in-out infinite alternate;
    animation:scrollDownMove .8s ease-in-out infinite alternate
}
@-webkit-keyframes scrollDownMove{
    0%{
        -webkit-transform:translateY(-.15em);
        transform:translateY(-.15em)
    }
    to{
        -webkit-transform:translateY(.65em);
        transform:translateY(.65em)
    }
}
@keyframes scrollDownMove{
    0%{
        -webkit-transform:translateY(-.15em);
        transform:translateY(-.15em)
    }
    to{
        -webkit-transform:translateY(.65em);
        transform:translateY(.65em)
    }
}
@media (max-width:59.99em){
    .jumbo .inner{
        max-width:80vw;
        padding:0
    }
    .jumbo .inner h1{
        font-size:1.5rem
    }
    .jumbo .inner h1 img{
        max-width:100%
    }
}
.hero .description,.hero h1{
    padding:2rem 10vw;
    padding:2rem var(--container-margin)
}
.hero .description{
    background:#f8f8ff;
    background:var(--color-hero);
    border-top:thin solid rgba(0,0,0,.125);
    border-top:thin solid var(--darken-1);
    border-bottom:thin solid rgba(0,0,0,.125);
    border-bottom:thin solid var(--darken-1)
}
#TableOfContents ul{
    padding-left:1em;
    list-style:none
}
#TableOfContents ul li{
    font-size:1rem;
    margin:.125rem 0;
    margin:var(--space-1) 0;
    padding:.125rem 0;
    padding:var(--space-1) 0
}
#TableOfContents ul li a{
    color:#593a9f;
    color:var(--primary);
    text-decoration:none
}
#TableOfContents ul li a:focus,#TableOfContents ul li a:hover{
    text-decoration:underline
}
#TableOfContents>ul>li>ul>li>a{
    font-weight:700
}
.speakers ul li .speaker{
    text-decoration:none;
    color:inherit
}
.speakers ul li .speaker,.speakers ul li .speaker .info{
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    -webkit-box-align:center;
    align-items:center
}
.speakers ul li .speaker .speaker-img{
    --size:8rem;
    height:8rem;
    height:var(--size,8rem);
    min-width:8rem;
    min-width:var(--size,8rem);
    border-radius:100%;
    background-size:cover;
    margin:.25rem;
    margin:var(--space-2)
}
.speakers ul li .speaker .speaker-company img{
    max-height:2rem;
    margin:.125rem;
    margin:var(--space-1)
}
.speakers ul li .speaker .speaker-company figcaption{
    display:none
}
.speakers ul li .speaker .speaker-name{
    font-weight:600;
    margin:.125rem;
    margin:var(--space-1)
}
.speakers ul li .speaker .speaker-company{
    font-weight:200;
    opacity:.8;
    margin:.125rem;
    margin:var(--space-1)
}
.tickets ul{
    list-style:none;
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap;
    -webkit-box-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    align-items:center;
    width:100%;
    padding-left:0
}
.tickets ul li{
    flex-basis:15rem
}
.tickets ul li .ticket{
    margin:1rem;
    margin:var(--space-4);
    padding:2rem .5rem;
    padding:2rem var(--space-3);
    border:thin solid rgba(0,0,0,.125);
    border:thin solid var(--darken-1);
    box-shadow:.125rem .125rem .25rem rgba(0,0,0,.25);
    box-shadow:var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    -webkit-box-align:center;
    align-items:center;
    text-decoration:none;
    color:inherit
}
.tickets ul li .ticket[aria-disabled]{
    opacity:.5;
    -webkit-filter:grayscale(1);
    filter:grayscale(1);
    cursor:not-allowed
}
.tickets ul li .ticket .ticket-name{
    font-size:1rem
}
.tickets ul li .ticket .ticket-price{
    font-size:3.5rem;
    color:#593a9f;
    color:var(--primary);
    font-weight:600
}
.tickets ul li .ticket .ticket-date,.tickets ul li .ticket .ticket-info{
    font-size:.87rem;
    color:rgba(0,0,0,.5);
    color:var(--darken-3)
}
.tickets ul li .ticket .btn{
    margin:1rem;
    margin:var(--space-4)
}
.partners-group h3{
    text-align:center;
    margin:1rem 0;
    margin:var(--space-4) 0
}
.partners-group ul{
    list-style:none;
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap;
    -webkit-box-pack:center;
    justify-content:center;
    padding:0
}
.partners-group ul li{
    flex-basis:160px;
    margin:.5rem;
    margin:var(--space-3);
    height:60px;
    height:var(--partner-support-height)
}
.partners-group .partner{
    padding:.5rem;
    padding:var(--space-3);
    display:block;
    height:100%;
    width:100%;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:50%;
    background-origin:content-box;
    box-shadow:0 0 2px 0 rgba(0,0,0,.07),0 2px 2px 0 rgba(0,0,0,.15);
    box-shadow:var(--box-shadow-1);
    -webkit-transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    -webkit-transition:box-shadow var(--animation);
    transition:box-shadow var(--animation);
    cursor:pointer;
    color:transparent
}
.partners-group .partner:focus,.partners-group .partner:hover{
    box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12);
    box-shadow:var(--box-shadow-2)
}
.partners-group.partner-organisation ul li{
    height:180px;
    height:var(--partner-organisation-height);
    flex-basis:320px
}
.partners-group.partner-main-sponsors ul li,.partners-group.partner-main-sponsors ul li{
    height:160px;
    height:var(--partner-main-sponsors-height);
    flex-basis:320px
}
.partners-group.partner-sponsors ul li,.partners-group.partner-startup ul li{
    height:120px;
    height:var(--partner-sponsors-height);
    flex-basis:270px
}
.partners-group.partner-partners ul li,.partners-group.partner-startup ul li{
    height:120px;
    height:var(--partner-partners-height);
    flex-basis:200px
}
.partners-group .fancy{
    line-height:.5;
    text-align:center;
    color:#636363;
    color:var(--base-secondary-text)
}
.partners-group .fancy span{
    display:inline-block;
    position:relative;
    text-transform:capitalize
}
.partners-group .fancy span:after,.partners-group .fancy span:before{
    top:40%;
    content:"";
    position:absolute;
    height:5px;
    width:140%;
    max-width:25vw
}
.partners-group .fancy span:before{
    right:100%;
    margin-right:15px
}
.partners-group .fancy span:after{
    left:100%;
    margin-left:15px
}
.partners-group.partner-organisation .fancy{
    font-size:1.5em;
    color:#4c2447;
}
.partners-group.partner-organisation .fancy span:after,.partners-group.partner-organisation .fancy span:before{
    border-bottom:1px solid;
    border-top:1px solid
}
.partners-group.partner-main-sponsors .fancy {
    font-size: 1.5em;
    color: #73737a;
    color: var(--color-platium)
}

.partners-group.partner-main-sponsors .fancy span:after,
.partners-group.partner-main-sponsors .fancy span:before {
    border-bottom: 1px solid;
    border-top: 1px solid
}
.partners-group.partner-sponsors .fancy{
    font-size:1.33em;
    color:#b7935b;
    color:var(--color-sponsors)
}
.partners-group.partner-sponsors .fancy span:after,.partners-group.partner-sponsors .fancy span:before{
    top:20%;
    border-bottom:1px solid
}
.tag-method-tools{
    background-color:#e6f5c9;
    background-color:var(--method-tools)
}
.tag-native-mobile-apps{
    background-color:#fdcdac;
    background-color:var(--native-mobile-apps)
}
.tag-web{
    background-color:#fff2ae;
    background-color:var(--web)
}
.tag-big-data-ml-ai{
    background-color:#cbd5e8;
    background-color:var(--big-data-ml-ai)
}
.tag-iot{
    background-color:#ccc;
    background-color:var(--iot)
}
.tag-cloud-infra{
    background-color:#f4cae4;
    background-color:var(--cloud)
}
.tag-languages{
    background-color:#b3e2cd;
    background-color:var(--languages)
}
.tag-wtf{
    background-color:#f1e2cc;
    background-color:var(--wtf)
}
.tag-keynote{
    background-color:#afeeee;
    background-color:var(--keynote)
}
.tag-office-hours{
    background-color:#fffaf0;
    background-color:var(--office-hours)
}
.tag-general{
    background-color:#ccc;
    background-color:var(--general)
}
section .tags{
    padding:.125rem;
    padding:var(--space-1);
    border-radius:.25rem;
    border-radius:var(--space-2);
    background:rgba(0,0,0,.125);
    background:var(--darken-1);
    border:thin solid rgba(0,0,0,.25);
    border:thin solid var(--darken-2);
    text-shadow:1px 0 0 rgba(255,255,255,.5);
    text-shadow:var(--extruded-light)
}
.tag-open{
    background-image:url(/2021/images/backgrounds/open.jpg)
}
.tag-pause{
    background-image:url(/2021/images/backgrounds/pause.jpg)
}
.tag-lunch{
    background-image:url(/2021/images/backgrounds/lunch.jpg)
}
.tag-party{
    background-image:url(/2021/images/backgrounds/party.jpg)
}
.icon{
    --size:1em;
    height:1em;
    height:var(--size,1em);
    min-width:1em;
    min-width:var(--size,1em);
    display:inline-block;
    background-repeat:no-repeat;
    margin-right:.125rem;
    margin-right:var(--space-1)
}
a .icon.icon-calendar,a .icon.icon-email,a .icon.icon-pdf,a .icon.icon-subscribe{
    margin-right:.5rem;
    margin-right:var(--space-3)
}
a .icon.icon-right{
    margin-left:.5rem;
    margin-left:var(--space-3)
}
.type-conference{
    --duration:"50"
}
.type-quickie{
    --duration:"25"
}
.type-keynote,.type-office-hours{
    --duration:"50"
}
form{
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column
}
form button,form input[type=button],form input[type=reset],form input[type=submit]{
    align-self:flex-end
}
form input{
    background:transparent;
    border:none;
    border-bottom:.125rem solid rgba(0,0,0,.25);
    border-bottom:var(--space-1) solid var(--darken-2);
    -webkit-transition:border .3s cubic-bezier(.4,0,.2,1);
    transition:border .3s cubic-bezier(.4,0,.2,1);
    -webkit-transition:border var(--animation);
    transition:border var(--animation);
    margin:.5rem 0;
    margin:var(--space-3) 0;
    outline:thin dotted transparent;
    font-size:1rem;
    line-height:1.5rem;
    padding:.25rem;
    padding:var(--space-2);
    border-radius:.125rem;
    border-radius:var(--space-1);
    color:#424242;
    color:var(--base-text)
}
form input::-webkit-input-placeholder{
    color:rgba(0,0,0,.5);
    color:var(--darken-3)
}
form input::-moz-placeholder{
    color:rgba(0,0,0,.5);
    color:var(--darken-3)
}
form input:-ms-input-placeholder{
    color:rgba(0,0,0,.5);
    color:var(--darken-3)
}
form input::-ms-input-placeholder{
    color:rgba(0,0,0,.5);
    color:var(--darken-3)
}
form input::placeholder{
    color:rgba(0,0,0,.5);
    color:var(--darken-3)
}
form input:focus{
    border-bottom-color:#593a9f;
    border-bottom-color:var(--primary)
}
form input:invalid{
    border-bottom-color:#b22222;
    border-bottom-color:var(--color-error)
}
.album{
    padding:.25rem;
    padding:var(--space-2)
}
.album .img{
    background-size:cover;
    background-position:50%
}
.album .inner{
    padding:1rem;
    padding:var(--space-4);
    background-color:#593a9f;
    background-color:var(--primary);
    color:#fff;
    color:var(--primary-txt);
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    -webkit-box-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    align-items:center;
    text-align:center
}
@supports (grid-template-columns:repeat(5,1fr)){
    .album{
        padding:.25rem;
        padding:var(--space-2);
        display:-ms-grid;
        display:grid;
        grid-gap:.25rem;
        grid-gap:var(--space-2);
        -ms-grid-columns:(1fr)[5];
        grid-template-columns:repeat(5,1fr);
        -ms-grid-rows:(30vh)[3];
        grid-template-rows:repeat(3,30vh);
        grid-auto-flow:dense
    }
    .album .img{
        background-size:cover;
        background-position:50%
    }
    .album .img:first-child,.album .img:nth-child(2),.album .img:nth-child(6),.album .img:nth-child(8),.album .inner{
        -ms-grid-column-span:2;
        grid-column:span 2
    }
    .album .img:nth-child(3){
        -ms-grid-column:5;
        grid-column:5;
        -ms-grid-row:1;
        -ms-grid-row-span:2;
        grid-row:1/3
    }
    .album .inner{
        -ms-grid-column:3;
        -ms-grid-column-span:2;
        grid-column:3/5;
        -ms-grid-row:2;
        grid-row:2
    }
    @media (max-width:59.99em){
        .album{
            -ms-grid-columns:(1fr)[3];
            grid-template-columns:repeat(3,1fr);
            -ms-grid-rows:(20vh)[5];
            grid-template-rows:repeat(5,20vh)
        }
        .album .img:first-child,.album .img:nth-child(7),.album .img:nth-child(8){
            -ms-grid-column-span:1;
            grid-column:span 1
        }
        .album .img:nth-child(2),.album .img:nth-child(4),.album .img:nth-child(6),.album .inner{
            -ms-grid-column-span:2;
            grid-column:span 2
        }
        .album .img:nth-child(3){
            -ms-grid-column:3;
            grid-column:3;
            -ms-grid-row:2;
            -ms-grid-row-span:2;
            grid-row:2/4
        }
        .album .inner{
            -ms-grid-column-span:3;
            grid-column:span 3;
            -ms-grid-row-span:5;
            grid-row:span 5
        }
    }
}
.home main>section{
    margin:0;
    padding:4rem
}
.home main>section h2{
    margin-bottom:1.5rem;
    padding:0;
    font-size:2rem;
    line-height:1.875rem;
}
.home main .info{
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap
}
.home main .info .wrapper{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto;
    display:-webkit-box;
    display:flex
}
@media (max-width:44.99em){
    .home main .info{
        text-align:center
    }
}
.home main .info .inner{
    -webkit-box-flex:1;
    flex:1 1 auto;
    max-width:33vw;
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    -webkit-box-pack:center;
    justify-content:center
}
@media (max-width:71.24em){
    .home main .info .inner{
        max-width:100%
    }
}
.home main .info .numbers{
    -webkit-box-flex:1;
    flex:1 0 33vw;
    margin:0 2rem;
    min-width:33vw;
    display:-webkit-box;
    display:flex;
    -webkit-box-pack:justify;
    justify-content:space-between;
    width:80%
}
@media (max-width:44.99em){
    .home main .info .numbers{
        margin:0
    }
}
.home main .info .number strong{
    font-size:3.5rem;
    font-weight:400
}
.home main .info .number strong:after{
    content:"";
    display:block;
    height:.125rem;
    width:2rem;
    background-color:#593a9f;
    background-color:var(--primary)
}
.home main .info .number div{
    margin:.125rem 0;
    margin:var(--space-1) 0
}
.home main .info .number .number-link{
    display:block;
    color:inherit;
    text-decoration:none;
    border-radius:.5rem;
    border-radius:var(--space-2);
    padding:.5rem;
    padding:var(--space-2);
    margin:calc(-1 * .5rem);
    margin:calc(-1 * var(--space-2));
    transition:background-color .15s ease
}
.home main .info .number .number-link:hover,.home main .info .number .number-link:focus-visible{
    background-color:rgba(0,0,0,.04)
}
.home main .info .number .number-link:hover strong:after,.home main .info .number .number-link:focus-visible strong:after{
    width:2.75rem
}
.home main .info .number .number-link:focus-visible{
    outline:2px solid #593a9f;
    outline:2px solid var(--primary);
    outline-offset:2px
}
.home main .info .number .number-link strong:after{
    transition:width .15s ease
}
.home main .program{
    text-align:center;
    background:rgba(0,0,0,.05);
    background:var(--darken-1)
}
.home main .program .program__inner{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto
}
.home main .program .program__title{
    margin-bottom:.5rem;
    margin-bottom:var(--space-2)
}
.home main .program .program__lead{
    max-width:42rem;
    margin:0 auto 1rem;
    margin:0 auto var(--space-4);
    font-weight:300;
    line-height:1.5
}
.home main .program .program-chips{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    gap:var(--space-2);
    justify-content:center;
    align-items:center;
    list-style:none;
    padding:0;
    margin:0 0 1rem;
    margin:0 0 var(--space-4)
}
.home main .program .program-chips__item{
    margin:0
}
.home main .program .program-chip{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    gap:var(--space-2);
    padding:.5rem 1rem;
    padding:var(--space-2) var(--space-3);
    border:thin solid rgba(0,0,0,.2);
    border:thin solid var(--darken-3);
    border-left-width:.35rem;
    border-left-color:#593a9f;
    border-left-color:var(--chip-color,var(--primary));
    border-radius:.35rem;
    background:hsla(0,100%,100%,.125);
    background:var(--lighten-1);
    color:inherit;
    text-decoration:none;
    font-size:.95rem;
    transition:box-shadow .15s ease,transform .15s ease
}
.home main .program .program-chip:hover,.home main .program .program-chip:focus-visible{
    box-shadow:0 .5rem 1rem rgba(0,0,0,.08);
    box-shadow:0 var(--space-2) var(--space-3) rgba(0,0,0,.08);
    transform:translateY(-1px)
}
.home main .program .program-chip:focus-visible{
    outline:2px solid #593a9f;
    outline:2px solid var(--chip-color,var(--primary));
    outline-offset:2px
}
.home main .program .program-chip__count{
    font-weight:600;
    font-variant-numeric:tabular-nums;
    opacity:.85
}
.home main .program .program-ctas{
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    gap:var(--space-3);
    justify-content:center;
    align-items:center;
    margin:0
}
@media (max-width:44.99em){
    .home main .program .program-chip{
        font-size:.875rem
    }
    .home main .program .program-ctas{
        flex-direction:column
    }
}
.home main .speakers .inner,.home main .speakers ul{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto
}
.home main .speakers ul{
    padding-left:0;
    list-style:none;
    display:-webkit-box;
    display:flex;
    justify-content:space-around;
    -webkit-box-align:start;
    align-items:flex-start;
    flex-wrap:wrap
}
.home main .speakers ul li{
    margin:1rem;
    margin:var(--space-4)
}
.home main .speakers ul li:nth-child(n+32){
    display:none
}
.home main .subscribe{
    text-align:center;
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    -webkit-box-align:center;
    align-items:center;
    -webkit-box-pack:center;
    justify-content:center
}
.home main .subscribe .actions{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    gap:var(--space-2);
    justify-content:center;
    margin-top:.5rem;
    margin-top:var(--space-2)
}
.home main .youtube-section{
    text-align:center
}
.home main .youtube-section .inner{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto;
    padding:1rem;
    padding:var(--space-4);
    border-radius:.5rem;
    border-radius:var(--space-3);
    position:relative;
    overflow:hidden;
    text-shadow:0 1px 1px rgba(0,0,0,.5);
    text-shadow:0 1px 1px var(--darken-3);
    text-align:center
}
.home main .youtube-section .inner .youtube-player{
    border:4px solid #fff;
    background-color:#000
}
@media (max-width:59.99em){
    .home main .youtube-section .inner{
        padding:0;
        max-width:80vw
    }
}
.home main .tickets{
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    -webkit-box-align:center;
    align-items:center
}
.home main .tickets p{
    font-size:80%
}
.home main .location{
    padding:0;
    position:relative;
    background:rgba(0,0,0,.125);
    background:var(--darken-1);
    font-weight:300
}
.home main .location .map{
    display:block;
    height:664px;
    background-position:50%;
    background-size:cover
}
.home main .location .description{
    display:inline-block;
    padding:1rem;
    padding:var(--space-4);
    width:400px;
    position:absolute;
    bottom:2rem;
    right:2rem;
    background-color:#593a9f;
    background-color:var(--primary);
    color:#fff;
    color:var(--primary-txt)
}
.home main .location .description .direction{
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center;
    flex-wrap:wrap;
    gap:.5rem
}
.home main .location .description .direction__text{
    -webkit-box-flex:1;
    flex:1 1 12rem;
    min-width:0
}
.home main .location .description .location-direction-actions{
    display:-webkit-inline-box;
    display:inline-flex;
    -webkit-box-align:center;
    align-items:center;
    flex-wrap:wrap;
    gap:.75rem
}
.home main .location .description .location-osm-link{
    color:inherit;
    font-size:.875rem;
    font-weight:500;
    text-decoration:underline;
    text-underline-offset:2px
}
.home main .location .description .location-osm-link:focus,.home main .location .description .location-osm-link:hover{
    text-decoration-thickness:2px
}
.home main .partners .inner h2{
    text-align:center
}
@supports (grid-template-columns:repeat(auto-fit,minmax(25vmin,1fr))){
    .home main .info .numbers{
        -webkit-box-pack:center;
        justify-content:center;
        display:grid;
        grid-template-columns:repeat(2,1fr)
    }
}
@media (max-width:59.99em){
    .home main>section{
        padding:2rem
    }
    .home main .location .description{
        position:relative;
        top:unset;
        bottom:unset;
        left:0;
        right:unset;
        width:100%
    }
}
.section.sessions ul.talks,.taxonomy.tags ul.talks{
    list-style:none;
    padding:0;
    margin:0;
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap
}
.section.sessions ul.talks li.talk,.taxonomy.tags ul.talks li.talk{
    margin:1rem;
    -webkit-box-flex:1;
    flex:1 0 320px
}
.section.sessions ul.talks a,.taxonomy.tags ul.talks a{
    border:thin solid rgba(0,0,0,.125);
    border:thin solid var(--darken-1);
    box-shadow:.125rem .125rem .25rem rgba(0,0,0,.25);
    box-shadow:var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
    -webkit-transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    -webkit-transition:box-shadow var(--animation);
    transition:box-shadow var(--animation);
    border-radius:.25rem;
    border-radius:var(--space-2);
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    text-decoration:none;
    color:inherit;
    height:100%
}
.section.sessions ul.talks a:focus,.section.sessions ul.talks a:hover,.taxonomy.tags ul.talks a:focus,.taxonomy.tags ul.talks a:hover{
    box-shadow:.25rem .25rem .25rem rgba(0,0,0,.5);
    box-shadow:var(--space-2) var(--space-2) var(--space-2) var(--darken-3)
}
.section.sessions ul.talks a .info,.section.sessions ul.talks a h2,.taxonomy.tags ul.talks a .info,.taxonomy.tags ul.talks a h2{
    padding:1rem;
    padding:var(--space-4)
}
.section.sessions ul.talks a h2,.taxonomy.tags ul.talks a h2{
    display:-webkit-box;
    display:flex;
    -webkit-box-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    align-items:center
}
.section.sessions ul.talks a hr,.taxonomy.tags ul.talks a hr{
    width:calc(100% - .5rem);
    width:calc(100% - var(--space-3));
    margin:0 auto
}
.section.sessions ul.talks a .info,.taxonomy.tags ul.talks a .info{
    -webkit-box-flex:1;
    flex-grow:1
}
.section.sessions ul.talks a .info .tags,.taxonomy.tags ul.talks a .info .tags{
    float:right
}
.section.sessions ul.talks a .info .presentation svg,.section.sessions ul.talks a .info .video svg,.taxonomy.tags ul.talks a .info .presentation svg,.taxonomy.tags ul.talks a .info .video svg{
    min-height:1.25em;
    max-width:3ch
}
.section.sessions ul.talks a .speakers,.taxonomy.tags ul.talks a .speakers{
    border:thin solid transparent;
    border-radius:.25rem;
    border-radius:var(--space-2);
    background:#fff;
    background:var(--base);
    padding-left:0
}
.section.sessions ul.talks a .speaker+.speaker,.taxonomy.tags ul.talks a .speaker+.speaker{
    border-top:thin solid rgba(0,0,0,.125);
    border-top:thin solid var(--darken-1)
}
@supports (grid-template-columns:repeat(auto-fit,minmax(320px,1fr))){
    .section.sessions ul.talks,.taxonomy.tags ul.talks{
        grid-template-columns:repeat(auto-fit,minmax(320px,1fr))
    }
}
.sessions-list{
    max-width:var(--theJdrSize);
    margin:0 auto;
    padding:var(--space-3) var(--container-margin) var(--space-4)
}
.sessions-list__header{
    margin-bottom:var(--space-3)
}
.sessions-list__title{
    font-size:clamp(1.75rem,5vw,2.5rem);
    margin:0 0 var(--space-2);
    scroll-margin-top:calc(var(--toolbar-height) + var(--space-2))
}
.sessions-list__summary{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.35rem .6rem;
    margin:0;
    font-size:.95rem;
    color:var(--base-secondary-text)
}
.sessions-list__summary strong{
    color:var(--base-text)
}
.sessions-list__stat-sep{
    opacity:.5
}
.sessions-list__day-group{
    margin:var(--space-4) 0
}
.sessions-list__day{
    font-size:1.3rem;
    font-weight:600;
    margin:0 0 var(--space-3);
    padding-bottom:var(--space-2);
    border-bottom:thin solid var(--darken-1)
}
.sessions-list__grid{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:var(--space-3);
    grid-template-columns:repeat(auto-fill,minmax(290px,1fr))
}
.sessions-list__item{
    display:flex
}
.session-card{
    display:flex;
    flex-direction:column;
    width:100%;
    padding:var(--space-3);
    border:thin solid var(--darken-1);
    border-radius:var(--space-2);
    box-shadow:var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
    text-decoration:none;
    color:inherit;
    background:var(--base);
    transition:box-shadow var(--animation),transform var(--animation)
}
.session-card:hover,.session-card:focus{
    box-shadow:var(--space-2) var(--space-2) var(--space-2) var(--darken-3)
}
.session-card__meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.35rem .6rem;
    font-size:.8rem;
    color:var(--base-secondary-text);
    margin-bottom:var(--space-2)
}
.session-card__time{
    font-weight:700;
    color:var(--primary);
    font-size:.9rem
}
.session-card__room{
    padding:.05rem .45rem;
    border-radius:999px;
    background:var(--darken-1)
}
.session-card__duration{
    opacity:.85
}
.session-card__format{
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:.7rem;
    padding:.05rem .45rem;
    border-radius:.25rem;
    border:thin solid var(--primary);
    color:var(--primary);
    background:transparent
}
.session-card__track{
    font-size:.7rem;
    letter-spacing:.02em;
    padding:.1rem .5rem;
    border-radius:999px;
    background:var(--chip-color, var(--primary));
    color:#fff;
    font-weight:600;
    line-height:1.4
}
.session-card__title{
    font-size:1.05rem;
    font-weight:600;
    margin:0 0 var(--space-2);
    line-height:1.3
}
.session-card__lang{
    display:inline-flex;
    align-items:center;
    gap:.4ch;
    margin:0 0 var(--space-3);
    font-size:.8rem;
    opacity:.8
}
.session-card__lang .language{
    display:inline-block
}
.session-card__speakers{
    list-style:none;
    margin:auto 0 0;
    padding:var(--space-2) 0 0;
    border-top:thin solid var(--darken-1);
    display:flex;
    flex-direction:column;
    gap:var(--space-2)
}
.session-card__speaker{
    display:flex;
    align-items:center;
    gap:.6rem;
    min-width:0
}
.session-card__avatar{
    --avatar-size:2rem;
    flex:0 0 auto
}
.session-card__speaker-name{
    font-size:.9rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    min-width:0
}
.talk{
    margin:2rem auto 0;
    max-width:60rem;
    max-width:var(--block-text-max-width)
}
.talk .complexity:before{
    content:"Niveau : "
}
.talk .type:before{
    content:"Type : "
}
.talk .type:after{
    font-weight:100;
    content:" (" "" " min.)";
    content:" (" var(--duration,"") " min.)"
}
.talk .speakers .speaker{
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center;
    padding:.125rem .5rem;
    padding:var(--space-1) var(--space-3);
    background-color:#fff;
    background-color:var(--base);
    --img-size:2rem
}
.talk .speakers .speaker .speaker-img{
    --img-size:3rem;
    height:3rem;
    height:var(--img-size,3rem);
    min-width:3rem;
    min-width:var(--img-size,3rem);
    border-radius:100%;
    background-size:cover;
    margin-right:1rem;
    margin-right:var(--space-4)
}
.talk .speakers .speaker .info{
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column
}
.talk .speakers .speaker .speaker-company{
    -webkit-box-flex:1;
    flex-grow:1;
    text-align:right;
    margin-left:.5rem;
    margin-left:var(--space-3)
}
.talk .speakers .speaker p{
    max-width:320px
}
.page.sessions .talk header{
    border-radius:.25rem;
    border-radius:var(--space-2);
    padding:.25rem;
    padding:var(--space-2);
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center
}
.page.sessions .talk header h1{
    -webkit-box-flex:1;
    flex-grow:1
}
.page.sessions .talk header .tags{
    margin-right:1ch;
    white-space:nowrap
}
.page.sessions .talk .detail{
    margin:.25rem 0;
    margin:var(--space-2) 0;
    padding:.25rem 0;
    padding:var(--space-2) 0;
    border-top:thin solid rgba(0,0,0,.125);
    border-top:thin solid var(--darken-1);
    border-bottom:thin solid rgba(0,0,0,.125);
    border-bottom:thin solid var(--darken-1)
}
.page.sessions .talk .content{
    margin:1rem 0;
    margin:var(--space-4) 0;
    -webkit-box-flex:1;
    flex:1 1 auto
}
.page.sessions .talk .content p{
    line-height:1.5;
    font-size:110%
}
.page.sessions .talk .content blockquote.twitter-tweet{
    border:thin solid rgba(0,0,0,.25);
    border:thin solid var(--darken-2);
    border-radius:.5em;
    padding:.75em
}
.page.sessions .talk .content blockquote.twitter-tweet p{
    margin:0
}
.page.sessions .talk .speakers .speaker{
    display:-ms-grid;
    display:grid;
    -ms-grid-columns:auto 1fr;
    grid-template-columns:auto 1fr;
    -ms-grid-rows:1fr auto auto;
    grid-template-rows:1fr auto auto
}
.page.sessions .talk .speakers .speaker .speaker-img{
    grid-row:1/-1;
    -ms-grid-row-align:center;
    align-self:center;
    --img-size:6rem;
    height:3rem;
    height:var(--img-size,3rem);
    min-width:3rem;
    min-width:var(--img-size,3rem);
    border-radius:100%;
    background-size:cover;
    margin-right:1rem;
    margin-right:var(--space-4)
}
.page.sessions .talk .speakers .speaker .speaker-company{
    text-align:left;
    margin-left:0
}
.page.sessions .talk .speakers{
    float:right;
    margin:.125rem .5rem;
    margin:var(--space-1) var(--space-3);
    list-style:none;
    padding:0;
    -ms-grid-row-align:start;
    align-self:start;
    border-radius:.25rem;
    border-radius:var(--space-2)
}
.page.sessions .talk .speakers .speaker{
    padding:.5rem;
    padding:var(--space-3);
    margin:1rem 0;
    margin:var(--space-4) 0;
    border:thin solid rgba(0,0,0,.125);
    border:thin solid var(--darken-1);
    box-shadow:.125rem .125rem .25rem rgba(0,0,0,.25);
    box-shadow:var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
    -webkit-transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    -webkit-transition:box-shadow var(--animation);
    transition:box-shadow var(--animation);
    border-radius:.25rem;
    border-radius:var(--space-2);
    text-decoration:none;
    color:inherit
}
.page.sessions .talk .speakers .speaker:focus,.page.sessions .talk .speakers .speaker:hover{
    box-shadow:.25rem .25rem .25rem rgba(0,0,0,.5);
    box-shadow:var(--space-2) var(--space-2) var(--space-2) var(--darken-3)
}
.page.sessions .talk .media{
    grid-column:1/-1
}
.page.sessions .talk .media a{
    padding:.5rem 0;
    padding:var(--space-3) 0;
    font-size:1rem
}
.page.sessions .talk .media .social-slides{
    width:auto;
    margin-top:1em;
    background:#593a9f;
    background:var(--primary);
    color:#fff;
    color:var(--primary-txt);
    font-size:1.25em;
    padding:.125em .75em;
    border-radius:1em
}
.page.sessions .talk .media .social-slides:active,.page.sessions .talk .media .social-slides:focus,.page.sessions .talk .media .social-slides:hover{
    box-shadow:.0625em .0625em .125em rgba(0,0,0,.5);
    box-shadow:.0625em .0625em .125em var(--darken-3)
}
.page.sessions .talk .media .social-slides svg{
    max-width:2ch
}
@media (max-width:59.99em){
    .page.talks .talk{
        -ms-grid-columns:1fr;
        grid-template-columns:1fr
    }
    .page.sessions .talk .speakers{
        float:unset
    }
}
.page.partners .content img{
    width:50vw
}
.page.partners .header{
    display:-ms-grid;
    display:grid;
    -ms-grid-columns:auto 1fr;
    grid-template-columns:auto 1fr;
    grid-template-areas:"logo title" "logo website";
    -webkit-box-align:center;
    align-items:center
}
.page.partners .header .card{
    -ms-grid-row:1;
    -ms-grid-row-span:2;
    -ms-grid-column:1;
    grid-area:logo;
    height:8em;
    width:12em;
    display:inline-block;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:50%;
    background-origin:content-box;
    padding:.25em;
    margin-right:1em;
    box-shadow:.125em .125em .25em rgba(0,0,0,.5)
}
.page.partners .header h1{
    -ms-grid-row:1;
    -ms-grid-column:2;
    grid-area:title;
    -ms-grid-row-align:end;
    align-self:end;
    font-size:2.5em
}
.page.partners .header a{
    -ms-grid-row:2;
    -ms-grid-column:2;
    grid-area:website;
    -ms-grid-row-align:start;
    align-self:start
}
.page.partners .socials ul{
    margin:0;
    list-style:none;
    padding-left:0;
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center;
    font-size:2em
}
.page.partners .socials ul li{
    margin:.25em
}
.page.partners .jobs ul{
    margin:0;
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap;
    -webkit-box-align:center;
    align-items:center;
    list-style:none;
    padding-left:0
}
.page.partners .jobs ul .job{
    padding:.5em;
    margin:.5em;
    box-shadow:.125em .125em .25em rgba(0,0,0,.5);
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column
}
.page.partners .jobs ul .job header{
    font-size:1.1em;
    font-weight:700;
    font-style:italic;
    margin:.5em 0
}
.page.partners .jobs ul .job .city,.page.partners .jobs ul .job .contact{
    display:-webkit-box;
    display:flex;
    -webkit-box-pack:start;
    justify-content:flex-start;
    -webkit-box-align:center;
    align-items:center;
    color:#666;
    margin:.25em 0
}
.page.partners .jobs ul .job .city .icon,.page.partners .jobs ul .job .contact .icon{
    width:2ch
}
.section.schedule .hero .description{
    display:-webkit-box;
    display:flex
}
.section.schedule .hero .description p+p{
    margin-left:1em
}
.section.schedule nav.day-tabs{
    font-size:2em;
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap;
    -webkit-box-pack:justify;
    justify-content:space-between;
    align-self:center;
    padding:.5rem 10vw;
    padding:var(--space-3) var(--container-margin)
}
.section.schedule nav.day-tabs a{
    -webkit-box-flex:1;
    flex-grow:1;
    margin:.25rem 1rem;
    margin:var(--space-2) var(--space-4);
    border-radius:.5rem;
    border-radius:var(--space-3);
    text-align:center;
    color:#593a9f;
    color:var(--primary);
    background-color:#fff;
    background-color:var(--primary-txt)
}
.section.schedule nav.day-tabs a.active{
    background-color:#593a9f;
    background-color:var(--primary);
    color:#fff;
    color:var(--primary-txt)
}
.section.schedule main{
    max-width:100%;
    overflow-x:hidden
}
.section.schedule main>section.schedule{
    margin:1rem 2rem 2rem;
    padding:.5rem 10vw;
    padding:var(--space-3) var(--container-margin)
}
.section.schedule main>section.schedule-widget{
    margin:1rem 2rem 2rem;
    padding:0 var(--container-margin);
    width:auto;
    max-width:100%;
    box-sizing:border-box;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch
}
.section.schedule main>section.schedule-widget pretalx-schedule{
    display:block;
    min-width:960px
}
.section.schedule main>section.schedule-widget .mobile-widget{
    display:none
}
.section.schedule main>section.schedule .day{
    display:none
}
.section.schedule main>section.schedule .day:target{
    display:block
}
.section.schedule main h2{
    display:none
}
.section.schedule main>section.schedule-widget>h2{
    display:block;
    margin:0 0 var(--space-3) 0;
    color:var(--primary)
}
.section.schedule .room{
    -webkit-box-align:start;
    align-items:flex-start;
    color:#593a9f;
    color:var(--primary);
    margin:.125em
}
.section.schedule .room,.section.schedule .room h3{
    display:-webkit-box;
    display:flex;
    -webkit-box-pack:center;
    justify-content:center;
    background-color:#fff;
    background-color:var(--primary-txt)
}
.section.schedule .room h3{
    border:solid;
    border-radius:.5rem;
    border-radius:var(--space-3);
    font-size:1.25em;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    -webkit-box-align:center;
    align-items:center;
    width:100%;
    padding:.5rem;
    padding:var(--space-3);
    height:3em;
    font-weight:700
}
.section.schedule .room h3 small{
    font-size:.75em;
    font-weight:400
}
.section.schedule .slot,.section.schedule .start{
    font-size:2em;
    color:#636363;
    color:var(--base-secondary-text)
}
.section.schedule .slot .mm,.section.schedule .start .mm{
    font-size:50%
}
.section.schedule .start{
    position:absolute;
    top:0;
    left:-3.5ch
}
.section.schedule .slot{
    display:none
}
.section.schedule .session{
    position:relative;
    margin:1rem 1rem 1rem 5ch;
    border-radius:.25rem;
    border-radius:var(--space-2)
}
.section.schedule .session.tag-lunch,.section.schedule .session.tag-open,.section.schedule .session.tag-party,.section.schedule .session.tag-pause{
    background-position:50%;
    background-size:cover;
    pointer-events:none
}
.section.schedule .session.tag-lunch>a,.section.schedule .session.tag-open>a,.section.schedule .session.tag-party>a,.section.schedule .session.tag-pause>a{
    box-shadow:none
}
.section.schedule .session.tag-lunch h4,.section.schedule .session.tag-open h4,.section.schedule .session.tag-party h4,.section.schedule .session.tag-pause h4{
    color:#fff;
    text-shadow:2px 1px 1px #000
}
.section.schedule .session .slot,.section.schedule .session.tag-lunch .tags,.section.schedule .session.tag-office-hours .tags,.section.schedule .session.tag-open .tags,.section.schedule .session.tag-party .tags,.section.schedule .session.tag-pause .tags{
    display:none
}
.section.schedule .session>a{
    border:thin solid rgba(0,0,0,.125);
    border:thin solid var(--darken-1);
    box-shadow:.125rem .125rem .25rem rgba(0,0,0,.25);
    box-shadow:var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
    -webkit-transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    -webkit-transition:box-shadow var(--animation);
    transition:box-shadow var(--animation);
    border-radius:.25rem;
    border-radius:var(--space-2);
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    text-decoration:none;
    color:inherit;
    height:100%
}
.section.schedule .session>a:focus,.section.schedule .session>a:hover{
    box-shadow:.25rem .25rem .25rem rgba(0,0,0,.5);
    box-shadow:var(--space-2) var(--space-2) var(--space-2) var(--darken-3)
}
.section.schedule .session>a .info,.section.schedule .session>a h4{
    padding:.25rem;
    padding:var(--space-2)
}
.section.schedule .session>a h4{
    text-shadow:2px 1px 1px #fff;
    display:-webkit-box;
    display:flex;
    -webkit-box-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    align-items:center
}
.section.schedule .session>a hr{
    width:calc(100% - .5rem);
    width:calc(100% - var(--space-3));
    margin:0 auto
}
.section.schedule .session>a .info{
    -webkit-box-flex:1;
    flex-grow:1
}
.section.schedule .session>a .info .complexity,.section.schedule .session>a .info .presentation,.section.schedule .session>a .info .video{
    float:left;
    clear:left;
    display:inline;
    max-height:1.5em
}
.section.schedule .session>a .info .complexity svg,.section.schedule .session>a .info .presentation svg,.section.schedule .session>a .info .video svg{
    height:1.5em;
    max-width:1.5em
}
.section.schedule .session>a .info .tags{
    float:right
}
.section.schedule .session>a .speakers{
    border:thin solid transparent;
    border-top-color:rgba(0,0,0,.125);
    border-top:thin solid var(--darken-1);
    border-radius:.25rem;
    border-radius:var(--space-2);
    background:#fff;
    background:var(--base);
    padding:0;
    margin:0;
    list-style:none
}
.section.schedule .session>a .speaker{
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center;
    padding:.125rem .5rem;
    padding:var(--space-1) var(--space-3)
}
.section.schedule .session>a .speaker .speaker-img{
    --img-size:2rem;
    height:3rem;
    height:var(--img-size,3rem);
    min-width:3rem;
    min-width:var(--img-size,3rem);
    border-radius:100%;
    background-size:cover;
    margin-right:1rem;
    margin-right:var(--space-4)
}
.section.schedule .session>a .speaker .info{
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column
}
.section.schedule .session>a .speaker .speaker-company{
    -webkit-box-flex:1;
    flex-grow:1;
    text-align:right;
    margin-left:.5rem;
    margin-left:var(--space-3)
}
.section.schedule .session>a .speaker p{
    max-width:320px
}
@supports (grid-template-columns:repeat(calc(var(--rooms) + 1),1fr)){
    .section.schedule main>section.schedule .day{
        -ms-grid-columns:auto (1fr)[var(--rooms)];
        grid-template-columns:auto repeat(var(--rooms),1fr);
        --dayStart:60 * var(--dayStartH) + var(--dayStartM);
        --dayEnd:60 * var(--dayEndH) + var(--dayEndM);
        -ms-grid-rows:4em (4.5em)[calc(var(--end) - 1)];
        grid-template-rows:4em repeat(calc(var(--end) - 1),4.5em);
        -ms-grid-rows:4em (var(--base-grid-height,6em))[calc(var(--end) - 1)];
        grid-template-rows:4em repeat(calc(var(--end) - 1),var(--base-grid-height,6em));
        grid-gap:.125em .25em
    }
    .section.schedule main>section.schedule .day:target{
        display:-ms-grid;
        display:grid
    }
    .section.schedule main>section.schedule .day .slot{
        display:block;
        -ms-grid-column:1;
        -ms-grid-column-span:1;
        grid-column:1/2;
        --start:calc(1 + var(--row-start));
        --end:calc(1 + var(--row-end));
        grid-row:var(--start)/var(--end);
        background-color:#f8f8ff;
        background-color:var(--color-hero)
    }
    .section.schedule main>section.schedule .day .room{
        grid-column:calc(var(--room) + 2);
        grid-row:1/-1
    }
    .section.schedule main>section.schedule .day .room.even{
        background-color:#f8f8ff;
        background-color:var(--color-hero)
    }
    .section.schedule main>section.schedule .day .session{
        margin:.125em;
        z-index:2;
        --start:calc(1 + var(--row-start));
        --end:calc(1 + var(--row-end));
        grid-column:calc(var(--room) + 2);
        grid-row:var(--start)/var(--end)
    }
    .section.schedule main>section.schedule .day .session.tag-pause{
        z-index:0;
        grid-column:2/-1
    }
    .section.schedule main>section.schedule .day .session.tag-lunch h4,.section.schedule main>section.schedule .day .session.tag-open h4,.section.schedule main>section.schedule .day .session.tag-party h4{
        font-size:2em
    }
    .section.schedule main>section.schedule .day .session.tag-lunch,.section.schedule main>section.schedule .day .session.tag-open,.section.schedule main>section.schedule .day .session.tag-party{
        grid-column:2/-1;
        z-index:1
    }
    .section.schedule main>section.schedule .day .session.tag-office-hours{
        margin:.5rem;
        margin:var(--space-3)
    }
    .section.schedule main>section.schedule .day .session.tag-office-hours .speakers.multi{
        padding-top:.125em;
        flex-wrap:wrap
    }
    .section.schedule main>section.schedule .day .session .start{
        display:none
    }
    .section.schedule main>section.schedule .day .session .speakers.multi{
        display:-webkit-box;
        display:flex;
        -webkit-box-pack:space-evenly;
        justify-content:space-evenly
    }
    .section.schedule main>section.schedule .day .session .speakers.multi .speaker{
        position:relative;
        border-top:none
    }
    .section.schedule main>section.schedule .day .session .speakers.multi .speaker .speaker-img{
        margin-right:.125rem;
        margin-right:var(--space-1)
    }
    .section.schedule main>section.schedule .day .session .speakers.multi .speaker .speaker-name{
        background:#fff;
        background:var(--base);
        z-index:100;
        border-radius:.25rem;
        border-radius:var(--space-2);
        border:thin solid rgba(0,0,0,.125);
        border:thin solid var(--darken-1);
        box-shadow:1px 1px .125rem rgba(0,0,0,.125);
        box-shadow:1px 1px var(--space-1) var(--darken-1);
        padding:.125rem;
        padding:var(--space-1);
        position:absolute;
        top:0;
        right:0;
        -webkit-transform:translateX(50%) translateY(-75%);
        transform:translateX(50%) translateY(-75%);
        display:none
    }
    .section.schedule main>section.schedule .day .session .speakers.multi .speaker:focus .speaker-name,.section.schedule main>section.schedule .day .session .speakers.multi .speaker:hover .speaker-name{
        display:block
    }
    .section.schedule main>section.schedule.horizontal .day{
        overflow:auto;
        -ms-grid-rows:auto (1fr)[var(--rooms)];
        grid-template-rows:auto repeat(var(--rooms),1fr);
        --dayStart:60 * var(--dayStartH) + var(--dayStartM);
        --dayEnd:60 * var(--dayEndH) + var(--dayEndM);
        -ms-grid-columns:7em (4.5em)[calc(var(--end) - 1)];
        grid-template-columns:7em repeat(calc(var(--end) - 1),4.5em);
        -ms-grid-columns:7em (var(--base-grid-height,6em))[calc(var(--end) - 1)];
        grid-template-columns:7em repeat(calc(var(--end) - 1),var(--base-grid-height,6em));
        grid-auto-flow:dense
    }
    .section.schedule main>section.schedule.horizontal .day .slot{
        display:block;
        -ms-grid-row:1;
        -ms-grid-row-span:1;
        grid-row:1/2;
        --start:calc(1 + var(--row-start));
        --end:calc(1 + var(--row-end));
        grid-column:var(--start)/var(--end);
        background-color:#f8f8ff;
        background-color:var(--color-hero)
    }
    .section.schedule main>section.schedule.horizontal .day .room{
        grid-row:calc(var(--room) + 2);
        grid-column:1/-1;
        -webkit-box-pack:start;
        justify-content:flex-start
    }
    .section.schedule main>section.schedule.horizontal .day .room h3{
        padding:.25em;
        height:100%;
        width:5.5em;
        max-width:5.5em;
        text-align:center;
        -webkit-text-orientation:upright;
        text-orientation:upright
    }
    .section.schedule main>section.schedule.horizontal .day .session{
        --start:calc(1 + var(--row-start));
        --end:calc(1 + var(--row-end));
        grid-row:calc(var(--room) + 2);
        grid-column:var(--start)/var(--end)
    }
    .section.schedule main>section.schedule.horizontal .day .session.tag-lunch,.section.schedule main>section.schedule.horizontal .day .session.tag-open,.section.schedule main>section.schedule.horizontal .day .session.tag-party,.section.schedule main>section.schedule.horizontal .day .session.tag-pause{
        grid-row:2/-1
    }
    .section.schedule main>section.schedule.horizontal .day .session h4{
        overflow:hidden
    }
}
@media (max-width:79.99em){
    .section.schedule main>section.schedule{
        --container-margin:0em
    }
}
@media (max-width:59.99em){
    .section.schedule main>section.schedule-widget{
        margin:1rem 0 1.5rem;
        padding:0 .5rem;
        --container-margin:0em;
        overflow-x:hidden
    }
    .section.schedule main>section.schedule-widget pretalx-schedule{
        min-width:100%;
        width:100%;
        max-width:100%;
        --schedule-max-width:100vw !important;
        --scrollparent-width:100vw !important
    }
    .section.schedule main>section.schedule-widget .desktop-widget{
        display:none
    }
    .section.schedule main>section.schedule-widget .mobile-widget{
        display:block
    }
    .section.schedule main>section.schedule-widget .c-linear-schedule-session,.section.schedule main>section.schedule-widget .grid-schedule-wrapper,.section.schedule main>section.schedule-widget .linear-schedule,.section.schedule main>section.schedule-widget .pretalx-schedule{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box
    }
    .section.schedule main>section.schedule-widget .c-linear-schedule-session{
        overflow:hidden
    }
    .section.schedule main>section.schedule-widget .c-linear-schedule-session *{
        max-width:100%;
        overflow-wrap:anywhere
    }
    .section.schedule main>section.schedule .day .session{
        --container-margin:0em;
        margin:1rem .5rem 2rem 2.25em
    }
    .section.schedule main>section.schedule .day .session .start{
        display:block
    }
    @supports (grid-template-columns:repeat(calc(var(--rooms) + 1),1fr)){
        .section.schedule main>section.schedule .day:target{
            display:-webkit-box;
            display:flex;
            -webkit-box-orient:vertical;
            -webkit-box-direction:normal;
            flex-direction:column
        }
        .section.schedule main>section.schedule .day .slot{
            display:none
        }
        .section.schedule main>section.schedule .day .room{
            -webkit-box-align:start;
            align-items:flex-start;
            margin-top:1em
        }
    }
}
@media (max-width:35.99em){
    .section.schedule main>section.schedule-widget{
        margin:.5rem 0 1rem;
        padding:0
    }
    .section.schedule main>section.schedule-widget pretalx-schedule{
        min-width:100%;
        width:100%
    }
}
@media print{
    .section.schedule main section.schedule .session{
        font-size:24px
    }
    .section.schedule main section.schedule .session.format-quickie{
        font-size:18px
    }
    .section.schedule main section.schedule .session a,.section.schedule main section.schedule .session h4{
        background:inherit;
        text-shadow:none;
        box-shadow:none
    }
    .section.schedule main>section.schedule .day .session .speakers.multi{
        display:block
    }
    .section.schedule main>section.schedule .day .session .speakers.multi .speaker .speaker-name{
        position:relative;
        -webkit-transform:none;
        transform:none;
        border:none;
        display:block;
        box-shadow:none
    }
}
.section.speakers .hero h1{
    padding:2rem 10vw;
    padding:2rem var(--container-margin)
}
.section.speakers ul.speakers{
    list-style:none;
    padding:0;
    margin:0;
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap
}
.section.speakers ul.speakers>li{
    margin:1rem;
    -webkit-box-flex:1;
    flex:1 0 300px;
    max-width:450px
}
.section.speakers a.speaker{
    padding:1rem;
    padding:var(--space-4);
    border:thin solid rgba(0,0,0,.125);
    border:thin solid var(--darken-1);
    box-shadow:.125rem .125rem .25rem rgba(0,0,0,.25);
    box-shadow:var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
    -webkit-transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    transition:box-shadow .3s cubic-bezier(.4,0,.2,1);
    -webkit-transition:box-shadow var(--animation);
    transition:box-shadow var(--animation);
    border-radius:.25rem;
    border-radius:var(--space-2);
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    flex-direction:row;
    height:100%
}
.section.speakers a.speaker .speaker-img{
    margin-right:1rem;
    margin-right:var(--space-4)
}
.section.speakers a.speaker .speaker-company{
    margin-top:.5rem;
    margin-top:var(--space-3);
    text-align:center
}
.section.speakers a.speaker .speaker-company img{
    max-width:100%
}
.section.speakers a.speaker .speaker-company figcaption{
    display:block;
    max-width:200px
}
.section.speakers a.speaker:focus,.section.speakers a.speaker:hover{
    box-shadow:.25rem .25rem .25rem rgba(0,0,0,.5);
    box-shadow:var(--space-2) var(--space-2) var(--space-2) var(--darken-3)
}
.speakers-list{
    max-width:var(--theJdrSize);
    margin:0 auto;
    padding:var(--space-3) var(--container-margin) var(--space-4)
}
.speakers-list__header{
    margin-bottom:var(--space-4)
}
.speakers-list__title{
    font-size:clamp(1.75rem,5vw,2.5rem);
    margin:0 0 var(--space-2)
}
.speakers-list__summary{
    margin:0;
    font-size:.95rem;
    color:var(--base-secondary-text)
}
.speakers-list__summary strong{
    color:var(--base-text)
}
.speakers-list__grid{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:var(--space-3);
    grid-template-columns:repeat(auto-fill,minmax(260px,1fr))
}
.speakers-list__item{
    display:flex
}
.speaker-card{
    display:flex;
    align-items:center;
    gap:var(--space-3);
    width:100%;
    padding:var(--space-3);
    border:thin solid var(--darken-1);
    border-radius:var(--space-2);
    box-shadow:var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
    background:var(--base);
    text-decoration:none;
    color:inherit;
    transition:box-shadow var(--animation)
}
.speaker-card:hover,.speaker-card:focus{
    box-shadow:var(--space-2) var(--space-2) var(--space-2) var(--darken-3)
}
.speaker-card__avatar{
    --avatar-size:3.5rem;
    flex:0 0 auto
}
.speaker-card__body{
    display:flex;
    flex-direction:column;
    gap:.15rem;
    min-width:0
}
.speaker-card__name{
    font-size:1rem;
    line-height:1.2;
    overflow:hidden;
    text-overflow:ellipsis
}
.speaker-card__company,.speaker-card__city{
    font-size:.85rem;
    color:var(--base-secondary-text);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.page.speakers .hero,.page.speakers main{
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column
}
.page.speakers .hero .description,.page.speakers .hero header{
    padding:1rem 10vw;
    padding:var(--space-4) var(--container-margin)
}
.page.speakers .hero header{
    align-self:center;
    padding-left:0;
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center
}
.page.speakers .hero header .speaker-img{
    --size:6rem;
    height:6rem;
    height:var(--size,6rem);
    min-width:6rem;
    min-width:var(--size,6rem);
    border-radius:100%;
    background-size:cover;
    box-shadow:0 0 .5rem rgba(0,0,0,.5);
    box-shadow:0 0 var(--space-3) var(--darken-3);
    margin-right:1rem;
    margin-right:var(--space-4)
}
.page.speakers .hero header h1{
    margin:0;
    padding:0
}
.page.speakers .hero header ul.socials{
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap;
    list-style:none;
    padding:0;
    margin:0;
    font-size:1.25em;
    -webkit-box-pack:start;
    justify-content:flex-start
}
.page.speakers .hero header ul.socials li{
    -webkit-box-flex:0;
    flex:0 1 auto;
    padding-right:1rem;
    padding-right:var(--space-4)
}
.page.speakers .hero header ul.socials li a.social{
    width:auto;
    color:inherit
}
.page.speakers .hero header ul.socials li a.social .icon{
    width:1em
}
.page.speakers .hero .description .talks{
    margin:1rem auto;
    max-width:60rem;
    max-width:var(--block-text-max-width);
    padding-left:0;
    list-style:none
}
.page.speakers .hero .description .talks .talk{
    margin-top:1rem;
    border:thin solid rgba(0,0,0,.125);
    border:thin solid var(--darken-1);
    display:-webkit-inline-box;
    display:inline-flex;
    padding:.25rem;
    padding:var(--space-2);
    border-radius:.125rem;
    border-radius:var(--space-1)
}
.page.speakers .hero .description .talks .talk .language,.page.speakers .hero .description .talks .talk .tags{
    margin-right:1ch
}
.page.speakers .hero .description .talks .talk .tags{
    white-space:nowrap;
    -ms-grid-row-align:center;
    align-self:center
}
.page.speakers .hero .description .talks .talk.tag-{
    display:none
}
.page.speakers section.speaker{
    -ms-grid-row-align:center;
    align-self:center;
    margin:1rem auto;
    max-width:60rem;
    max-width:var(--block-text-max-width)
}
.page.speakers section.speaker header{
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center;
    -webkit-box-pack:justify;
    justify-content:space-between
}
.page.speakers section.speaker .speaker-company{
    margin:.5rem 0;
    margin:var(--space-3) 0;
    display:-webkit-box;
    display:flex;
    -webkit-box-align:center;
    align-items:center
}
.page.speakers section.speaker p{
    line-height:1.5;
    font-size:110%
}
@media (max-width:var(--breakpoint-lg)){
    .section.blog main>section{
        margin:2rem 3vw;
        margin:2rem var(--container-margin-mobile)
    }
}
.section.blog main .blogs,.section.blog main h1{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto
}
.section.blog .blogs a.blog-links{
    position:absolute!important;
    height:1px;
    width:1px;
    overflow:hidden;
    clip:rect(1px 1px 1px 1px);
    clip:rect(1px,1px,1px,1px)
}
.section.blog .blogs a.blog{
    text-decoration:none;
    padding:1rem;
    padding:var(--space-4);
    border-radius:.5rem;
    border-radius:var(--space-3);
    display:-webkit-box;
    display:flex;
    color:inherit;
    border-bottom:thin solid rgba(0,0,0,.125);
    border-bottom:thin solid var(--darken-1)
}
@media (max-width:44.99em){
    .section.blog .blogs a.blog{
        padding:.25rem;
        padding:var(--space-2)
    }
}
.section.blog .blogs a.blog .img{
    display:inline-block;
    background-position:50%;
    background-size:cover;
    --size:16rem;
    -webkit-box-flex:0;
    flex:0 0 16rem;
    flex:0 0 var(--size,16rem);
    height:16rem;
    height:var(--size,16rem);
    width:16rem;
    width:var(--size,16rem);
    border-radius:.25rem;
    border-radius:var(--space-2)
}
.section.blog .blogs a.blog .info{
    -webkit-box-flex:1;
    flex:1 1 auto;
    margin-left:1rem;
    margin-left:var(--space-4);
    -webkit-box-pack:center;
    justify-content:center
}
.section.blog .blogs a.blog .info h2{
    margin:.5rem 0;
    margin:var(--space-3) 0
}
.section.blog .blogs a.blog .info .reading{
    align-self:flex-end
}
.section.blog .blogs a.blog .info .reading:after{
    content:" min."
}
.section.blog .blogs a.blog .info .date{
    align-self:flex-start;
    color:#636363;
    color:var(--base-secondary-text)
}
.section.blog .blogs a.blog .info p{
    line-height:1.75
}
@media (max-width:59.99em){
    .section.blog .blogs a{
        -ms-grid-rows:auto 1fr;
        grid-template-rows:auto 1fr;
        -ms-grid-columns:auto;
        grid-template-columns:auto
    }
    .section.blog .blogs a .img{
        width:100%
    }
}
@media (max-width:33.74em){
    .section.blog .blogs a.blog{
        display:block
    }
    .section.blog .blogs a.blog .img{
        display:none
    }
}
@media (max-width:59.99em){
    .section.blog .blogs a.blog{
        display:block
    }
    .section.blog .blogs a.blog .img{
        --size:8rem;
        float:left;
        margin-right:.5em
    }
}
.page.blog .hero .img{
    padding:10vw;
    padding:var(--container-margin);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:50%;
    text-shadow:1px 0 0 rgba(255,255,255,.5);
    text-shadow:1px 0 0 var(--lighten-3);
    min-height:45vmin
}
.page.blog .hero h1{
    color:#593a9f;
    color:var(--primary);
    padding-left:0;
    padding-right:0
}
.page.blog .hero h1 small{
    display:block
}
.page.blog main .content,.page.blog main h1{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto
}
.page.blog .content{
    padding-left:0;
    padding-right:0;
    margin:2rem 10vw;
    margin:2rem var(--container-margin)
}
@media (max-width:44.99em){
    .page.blog .content{
        margin:1rem
    }
}
.page.blog .content img{
    max-width:100%
}
.page.blog .content .centered-img{
    text-align:center;
    margin:.5rem 0;
    margin:var(--space-3) 0
}
.page.blog .content h1,.page.blog .content h2,.page.blog .content h3,.page.blog .content h4,.page.blog .content h5,.page.blog .content h6{
    color:#593a9f;
    color:var(--primary);
    font-style:normal;
    font-weight:400
}
.page.blog .content h1,.page.blog .content h2,.page.blog .content h3{
    margin-top:1.25rem;
    margin-bottom:.625rem
}
.page.blog .content h4,.page.blog .content h5,.page.blog .content h6{
    margin-top:.625rem;
    margin-bottom:.625rem
}
.page.blog .content p{
    text-align:justify;
    margin-bottom:1.5rem;
    line-height:1.7rem
}
.page.blog .content ul{
    margin-left:1rem
}
.page.blog .content ul li{
    line-height:1.7rem
}
main>.kids .hero{
    position:relative
}
main>.kids .hero .img{
    background-repeat:no-repeat;
    background-size:cover;
    background-position:50%;
    text-shadow:1px 0 0 rgba(255,255,255,.5);
    text-shadow:1px 0 0 var(--lighten-3);
    min-height:45vmin
}
main>.kids .hero h1{
    position:absolute;
    bottom:0;
    max-width:1100px;
    max-width:var(--theJdrSize);
    color:#fff;
    color:var(--primary-txt);
    padding-left:0;
    padding-right:0;
    margin:0;
    font-size:3rem
}
main>.kids .hero h1 small{
    display:block;
    font-size:.6em
}
@media (max-width:44.99em){
    main>.kids .hero h1{
        font-size:2rem
    }
}
@media (max-width:33.74em){
    main>.kids .hero h1{
        font-size:1.5rem
    }
}
main>.kids .img-container{
    display:-webkit-box;
    display:flex;
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
    flex-direction:row
}
@media (max-width:44.99em){
    main>.kids .img-container{
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        flex-direction:column;
        -webkit-box-align:center;
        align-items:center
    }
}
main>.kids .img-container img{
    margin:10px
}
main>.kids .content,main>.kids h1{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto
}
main>.kids .content{
    padding-left:0;
    padding-right:0
}
@media (max-width:44.99em){
    main>.kids .content{
        margin:1rem
    }
}
main>.kids .content img{
    max-width:100%
}
main>.kids .content .centered-img{
    text-align:center;
    margin:.5rem 0;
    margin:var(--space-3) 0
}
main>.kids .content h2,main>.kids .content h3,main>.kids .content h4,main>.kids .content h5,main>.kids .content h6{
    color:#593a9f;
    color:var(--primary);
    font-style:normal;
    font-weight:400
}
main>.kids .content h2,main>.kids .content h3{
    margin-top:1.25rem;
    margin-bottom:.625rem
}
main>.kids .content h4,main>.kids .content h5,main>.kids .content h6{
    margin-top:.625rem;
    margin-bottom:.625rem
}
main>.kids .content p{
    text-align:justify;
    margin-bottom:1.5rem;
    line-height:1.7rem
}
main>.kids .content ul{
    margin-left:1rem
}
main>.kids .content ul li{
    line-height:1.7rem
}
.section.team h2{
    margin:1rem 0;
    margin:var(--space-4) 0
}
.section.team ul.members{
    padding:0;
    margin:0;
    display:-webkit-box;
    display:flex;
    flex-wrap:wrap
}
.section.team ul.members>li{
    -webkit-box-flex:1;
    flex:1 1 300px;
    margin:2rem;
    display:-webkit-box;
    display:flex
}
.section.team ul.members>li .photo{
    --size:6rem;
    box-shadow:0 0 0 .25rem rgba(0,0,0,.25);
    box-shadow:0 0 0 var(--space-2) var(--darken-2);
    min-width:6rem;
    min-width:var(--size,6rem);
    height:6rem;
    height:var(--size,6rem);
    border-radius:100%;
    background-size:cover;
    margin:.25rem;
    margin:var(--space-2)
}
.section.team ul.members>li .label{
    display:-webkit-box;
    display:flex;
    margin-left:.5rem;
    margin-left:var(--space-3);
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    flex-direction:column;
    -webkit-box-pack:center;
    justify-content:center
}
.section.team ul.members>li ul.socials{
    list-style:none;
    margin:0;
    padding:0;
    font-size:1.5em
}
.section.team ul.members>li ul.socials li{
    display:inline-block;
    opacity:.5;
    -webkit-filter:grayscale(1);
    filter:grayscale(1);
    -webkit-transition:-webkit-filter .3s cubic-bezier(.4,0,.2,1);
    transition:-webkit-filter .3s cubic-bezier(.4,0,.2,1);
    transition:filter .3s cubic-bezier(.4,0,.2,1);
    transition:filter .3s cubic-bezier(.4,0,.2,1),-webkit-filter .3s cubic-bezier(.4,0,.2,1);
    -webkit-transition:-webkit-filter var(--animation);
    transition:-webkit-filter var(--animation);
    transition:filter var(--animation);
    transition:filter var(--animation),-webkit-filter var(--animation)
}
.section.team ul.members>li ul.socials li:focus,.section.team ul.members>li ul.socials li:hover{
    opacity:1;
    -webkit-filter:grayscale(0);
    filter:grayscale(0)
}
.section.team .partners-group ul li{
    flex-basis:260px;
    margin:.5rem;
    margin:var(--space-3);
    height:120px;
    height:var(--partner-sponsors-height)
}
@media (max-width:44.99em){
    .page.faq .hero .description,.page.fr-faq .hero .description{
        padding:0
    }
}
.page.faq #TableOfContents,.page.faq main .content,.page.faq main h1,.page.fr-faq #TableOfContents,.page.fr-faq main .content,.page.fr-faq main h1{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto
}
.page.faq .content h1,.page.faq .content h2,.page.faq .content h3,.page.faq .content h4,.page.faq .content h5,.page.faq .content h6,.page.fr-faq .content h1,.page.fr-faq .content h2,.page.fr-faq .content h3,.page.fr-faq .content h4,.page.fr-faq .content h5,.page.fr-faq .content h6{
    color:#593a9f;
    color:var(--primary)
}
.page.faq .content>ol,.page.faq .content>p,.page.faq .content>ul,.page.faq .content h3,.page.faq .content h4,.page.faq .content h5,.page.faq .content h6,.page.fr-faq .content>ol,.page.fr-faq .content>p,.page.fr-faq .content>ul,.page.fr-faq .content h3,.page.fr-faq .content h4,.page.fr-faq .content h5,.page.fr-faq .content h6{
    margin-left:calc(10vw - 2rem);
    margin-left:calc(var(--container-margin) - 2rem)
}
.page.faq .content li,.page.fr-faq .content li{
    line-height:1.5
}
@media (max-width:44.99em){
    .page.faq .content ul,.page.fr-faq .content ul{
        padding-left:2ch
    }
}
.page.faq .content mark,.page.fr-faq .content mark{
    font-weight:700;
    border-radius:.25em;
    padding:.125em
}
.page.faq .content mark.a,.page.fr-faq .content mark.a{
    color:#fff;
    color:var(--fg-mark-a);
    background-color:#fb2c17;
    background-color:var(--bg-mark-a)
}
.page.faq .content mark.b,.page.fr-faq .content mark.b{
    color:#000;
    color:var(--fg-mark-b);
    background-color:#fc0;
    background-color:var(--bg-mark-b)
}
.page.faq .content mark.t2,.page.fr-faq .content mark.t2{
    color:#fff;
    color:var(--fg-mark-t2);
    background-color:#11a7e0;
    background-color:var(--bg-mark-t2)
}
@media (max-width:71.24em){
    .page.faq .content,.page.fr-faq .content{
        padding:0 .5em
    }
}
.page.code-of-conduct #TableOfContents,.page.code-of-conduct main .content,.page.code-of-conduct main h1{
    max-width:1100px;
    max-width:var(--theJdrSize);
    margin:0 auto
}
.page.code-of-conduct .content p{
    text-align:justify
}
.page.code-of-conduct .content p,.page.code-of-conduct .content p:first-letter{
    margin-left:1rem;
    margin-left:var(--space-4)
}
.page.code-of-conduct .content ul{
    margin-left:2rem
}
.page.code-of-conduct .content ul li{
    line-height:1.25
}
@media (max-width:71.24em){
    .page.code-of-conduct .content{
        padding:0 .5em
    }
}

.live-section {
 display: flex;
 flex-direction: row;
 align-items: center;
}

.live-tab-switcher {
    font-size:2em;
    display:-webkit-box;
    display:flex;
    flex-direction: row;
    flex-wrap:wrap;
    -webkit-box-pack:justify;
    justify-content:center;
    align-self:center;
    padding:.5rem 10vw;
    padding:var(--space-3) var(--container-margin);
}

.live-tab-link {
    -webkit-box-flex:1;
    flex-grow:1;
    border-radius:.5rem;
    border-radius:var(--space-3);
    text-align:center;
    background-color: #fff;
    color: var(--primary);
    margin-right: 1rem;
}
.live-tab-link.active {
    background-color: var(--primary);
    color: #fff;
}

.live-tab-d-none {
    display: none;
}


.live-chat {
    width: 30vw;
    height: 60vh;
}

.live-player-wrapper {
    width: 70vw;
    height: 60vh;
    margin-right: 10px;
}

.vjs-tech {
    object-fit: cover;
}


/* Fix "What is ÖzgürKon?" info+numbers section on mobile */
@media (max-width: 44.99em) {
    .home main .info .wrapper {
        flex-direction: column;
        gap: 1.5rem;
    }

    .home main .info .inner {
        max-width: 100%;
    }

    .home main .info .numbers {
        width: 100%;
        min-width: 0;
        margin: 0;
        flex: 1 1 auto;
        justify-content: center;
        gap: 1rem;
    }

    /* If grid isn't supported, keep it nice with flex-wrap */
    .home main .info .numbers {
        flex-wrap: wrap;
    }

    .home main .info .number {
        flex: 1 1 45%;
    }

    .home main .info .number strong {
        font-size: clamp(2rem, 10vw, 3.5rem);
    }
}

/* Desktop alignment for info + numbers */
@media (min-width: 45em) {
    .home main .info .wrapper {
        align-items: center;
        gap: 4rem;
    }

    /* keep text block readable */
    .home main .info .inner {
        max-width: 34rem;
        /* tweak if you want */
    }

    /* make numbers block stable and aligned */
    .home main .info .numbers {
        width: auto;
        min-width: 0;
        margin: 0;
        flex: 0 0 auto;

        display: grid;
        grid-template-columns: repeat(2, max-content);
        column-gap: 4rem;
        row-gap: 2rem;
        justify-content: end;
    }
}

/* =========================
   BLOG LIST – CLEAN CARD LAYOUT
   ========================= */

section.blogs {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.blogs article {
    margin: 0 0 1.25rem 0;
}

/* The whole card is the link, so style the link as the layout container */
.blogs a.blog {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 1.75rem;
    align-items: start;

    padding: 1.25rem;
    border-radius: 14px;
    text-decoration: none;
}

/* Optional: subtle hover that doesn’t scream */
.blogs a.blog:hover {
    transform: translateY(-1px);
}

/* Image */
.blogs a.blog .img {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Content */
.blogs a.blog .info {
    min-width: 0;
    /* prevents overflow in grid */
}

/* Date should look like a label, not a column */
.blogs a.blog .date {
    display: inline-flex;
    gap: .45rem;
    align-items: baseline;
    white-space: nowrap;
    opacity: .8;
    line-height: 1;
    margin-bottom: .4rem;
    font-variant-numeric: tabular-nums;
}

/* If your date partial emits wrapped elements/newlines, force inline behavior */
.blogs a.blog .date * {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

.blogs a.blog h2 {
    margin: 0;
    line-height: 1.15;
}

.blogs a.blog .brief {
    display: block;
    margin-top: .5rem;
    opacity: .9;
}

/* Summary: clamp so it doesn’t turn into a full article */
.blogs a.blog p {
    margin-top: .9rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Responsive */
@media (max-width: 900px) {
    .blogs a.blog {
        grid-template-columns: 1fr;
    }

    .blogs a.blog .img {
        aspect-ratio: 16 / 9;
    }
}

.blogs {
    max-width: 1100px;
    margin: 0 auto;
    padding: 3rem 1.25rem;
}

.blog-card {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 2rem;
    align-items: start;
    padding: 2rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.blog-thumb .img {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center;
    border-radius: 10px;
}

.blog-card .info {
    min-width: 0;
}

.blog-card .meta {
    margin-bottom: .5rem;
    color: rgba(0, 0, 0, .55);
    font-size: .95rem;
}

.blog-card .date {
    display: inline-flex;
    gap: .4rem;
    align-items: baseline;
    white-space: nowrap;
}

.blog-card .title {
    margin: 0 0 .4rem 0;
    line-height: 1.2;
}

.blog-card .title a {
    text-decoration: none;
}

.blog-card .brief {
    margin: 0 0 1rem 0;
    color: rgba(0, 0, 0, .65);
}

.blog-card .summary {
    color: rgba(0, 0, 0, .75);
}

.blog-card .summary p {
    margin: 0 0 .75rem 0;
}

.blog-card .readmore {
    margin: 1rem 0 0 0;
}

@media (max-width: 900px) {
    .blog-card {
        grid-template-columns: 1fr;
    }

    .blog-thumb .img {
        aspect-ratio: 16 / 9;
    }
}

.press-downloads a {
    display: inline-block;
    margin: .25rem .75rem .25rem 0;
}

.press-section {
    margin-bottom: 3rem;
}

.press-section h2 {
    margin-bottom: 1rem;
}

/* PRESS KIT (scoped) */
.press-kit {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2.5rem 1.25rem 3rem;
}

.press-hero h1 {
    margin: 0;
}

.press-sub {
    margin: .5rem 0 1rem;
    opacity: .85;
}

.press-intro {
    max-width: 75ch;
}

.press-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
}

.press-card {
    grid-column: span 6;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 12px;
    padding: 1.25rem 1.25rem 1rem;
}

.press-card-wide {
    grid-column: span 12;
}

.press-card h2 {
    margin: 0 0 .75rem;
}

.press-card h3 {
    margin: 1rem 0 .5rem;
}

.press-links {
    margin: .5rem 0 0;
    padding-left: 1.1rem;
}

.press-links li {
    margin: .25rem 0;
}

.press-note {
    margin: .25rem 0 0;
    opacity: .85;
    font-size: .95em;
}

.press-facts {
    margin: .5rem 0 0;
}

.press-fact {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: .75rem;
    padding: .35rem 0;
    border-top: 1px solid rgba(0, 0, 0, .06);
}

.press-fact:first-child {
    border-top: 0;
}

.press-fact dt {
    font-weight: 700;
}

.press-fact dd {
    margin: 0;
    opacity: .92;
}

@media (max-width: 900px) {
    .press-card {
        grid-column: span 12;
    }

    .press-fact {
        grid-template-columns: 1fr;
    }
}

/* --- ÖzgürKon 2026 UX: CTA band, pre-footer, session & speaker detail --- */
.talk .complexity:before,
.talk .type:before,
.talk .type:after {
    content: none !important;
}

body>header .header-register {
    flex-shrink: 0;
}

body>header .header-register__btn {
    text-transform: none;
    font-weight: 600;
    font-size: .75rem;
    padding: .35rem .65rem;
    white-space: nowrap;
}

.event-cta-band {
    position: fixed;
    top: var(--toolbar-height);
    left: 0;
    right: 0;
    z-index: 90;
    background: #e0e0e0;
    color: var(--base-text);
    box-shadow: 0 var(--space-2) var(--space-1) var(--darken-2);
    min-height: var(--event-cta-band-height, 3rem);
    padding: 0 var(--container-margin);
    display: flex;
    align-items: center;
}

.event-cta-band-spacer {
    height: var(--event-cta-band-height, 3rem);
    flex-shrink: 0;
}

@media (max-width:44.99em) {
    .event-cta-band {
        min-height: var(--event-cta-band-height-sm, 5.5rem);
    }
    .event-cta-band-spacer {
        height: var(--event-cta-band-height-sm, 5.5rem);
    }
}

.event-cta-band__inner {
    max-width: var(--theJdrSize);
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: var(--space-2) 0;
}

.event-cta-band__text {
    margin: 0;
    flex: 1 1 16rem;
    font-size: .9rem;
    line-height: 1.4;
}

.event-cta-band__title {
    font-weight: 600;
}

.event-cta-band__sep {
    opacity: .45;
    padding: 0 .25ch;
}

.event-cta-band__btn {
    flex-shrink: 0;
    text-transform: none;
    font-weight: 600;
    font-size: .8rem;
    padding: .4rem .9rem;
}

.cta-register {
    background: var(--primary);
    color: var(--primary-txt);
    padding: var(--space-4) var(--container-margin);
    margin-top: var(--space-4);
    border-top: thin solid var(--darken-3);
}

.cta-register__inner {
    max-width: var(--theJdrSize);
    margin: 0 auto;
    text-align: center;
}

.cta-register__title {
    font-size: 1.75rem;
    font-weight: 600;
    margin: 0 0 var(--space-3);
}

.cta-register__lead {
    margin: 0 auto var(--space-4);
    max-width: 40rem;
    line-height: 1.5;
    opacity: .95;
}

.cta-register__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    justify-content: center;
    align-items: center;
}

.cta-register a.cta-register__primary,
.cta-register .cta-register__primary {
    padding: .6rem 1.25rem;
    background: #fff;
    color: var(--primary);
    border: thin solid #fff;
    border-radius: .4rem;
    text-transform: none;
    font-weight: 700;
    font-size: 1.05rem;
    text-shadow: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .15);
    transition: transform var(--animation), box-shadow var(--animation);
}

.cta-register a.cta-register__primary:focus,
.cta-register a.cta-register__primary:hover,
.cta-register .cta-register__primary:focus,
.cta-register .cta-register__primary:hover {
    background: #fff;
    color: var(--primary);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, .2);
}

.cta-register a.cta-register__secondary,
.cta-register .cta-register__secondary {
    padding: .6rem 1.25rem;
    background: transparent;
    border: thin solid rgba(255, 255, 255, .6);
    color: #fff;
    text-transform: none;
    font-weight: 500;
    font-size: 1.05rem;
    border-radius: .4rem;
}

.cta-register a.cta-register__secondary:focus,
.cta-register a.cta-register__secondary:hover,
.cta-register .cta-register__secondary:focus,
.cta-register .cta-register__secondary:hover {
    background: rgba(255, 255, 255, .14);
    border-color: #fff;
    color: #fff;
}

.avatar {
    display: inline-block;
    width: var(--avatar-size, 6rem);
    height: var(--avatar-size, 6rem);
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--darken-1);
    box-shadow: 0 0 0 2px var(--darken-2);
}

.avatar__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.avatar--placeholder {
    background: var(--base);
    box-shadow: 0 0 0 2px var(--darken-1);
}

.avatar--placeholder .avatar__img {
    object-fit: contain;
    padding: 12%;
    opacity: .85;
}

.page.sessions .session-page {
    max-width: var(--theJdrSize);
    margin: 0 auto;
    padding: var(--space-4) var(--container-margin);
}

/* Shared breadcrumb component used by detail pages (session, speaker, ...). */
.breadcrumb {
    margin: 0 0 var(--space-3);
    font-size: .9rem;
}

.breadcrumb__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 .4ch;
    color: var(--base-secondary-text);
}

.breadcrumb__item {
    display: inline-flex;
    align-items: center;
    gap: 0 .4ch;
}

.breadcrumb__item + .breadcrumb__item::before {
    content: "›";
    opacity: .6;
    margin-right: .4ch;
}

.breadcrumb__link {
    color: var(--primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: .4ch;
}

.breadcrumb__link:focus,
.breadcrumb__link:hover {
    text-decoration: underline;
}

.breadcrumb__link .icon {
    margin: 0;
    --size: 1.1em;
    width: 1.1em;
    width: var(--size, 1.1em);
    height: 1.1em;
    height: var(--size, 1.1em);
    fill: currentColor;
}

.breadcrumb__link--home:hover,
.breadcrumb__link--home:focus {
    text-decoration: none;
    opacity: .75;
}

.page.sessions .session-page__hero {
    margin-bottom: var(--space-3);
}

.page.sessions .session-page__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
}

.page.sessions .session-page__tag {
    display: inline-block;
    padding: .15rem .5rem;
    border-radius: var(--space-1);
    background: var(--darken-1);
    font-size: .8rem;
}

.page.sessions .session-page__title {
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 var(--space-2);
}

.page.sessions .session-page__speakers {
    list-style: none;
    margin: var(--space-4) 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.page.sessions .session-page__speaker-card {
    margin: 0;
}

.page.sessions .session-page__speaker-link {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3);
    border: thin solid var(--darken-1);
    border-radius: var(--space-2);
    box-shadow: var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
    text-decoration: none;
    color: inherit;
    transition: box-shadow var(--animation);
}

.page.sessions .session-page__speaker-link:focus,
.page.sessions .session-page__speaker-link:hover {
    box-shadow: var(--space-2) var(--space-2) var(--space-2) var(--darken-3);
}

.page.sessions .session-page__speaker-avatar {
    --avatar-size: 4.5rem;
}

.page.sessions .session-page__speaker-body {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
}

.page.sessions .session-page__speaker-name {
    font-size: 1.1rem;
}

.page.sessions .session-page__speaker-meta {
    font-size: .9rem;
    opacity: .85;
}

.page.sessions .session-page__speaker-cta {
    font-size: .8rem;
    color: var(--primary);
    margin-top: var(--space-2);
    text-decoration: underline;
}

/* Lead-in paragraph sourced from the Pretalx `abstract`, rendered above the detailed description. */
.page.sessions .session-page__lead {
    margin: var(--space-4) 0 var(--space-3);
    padding-bottom: var(--space-3);
    border-bottom: thin solid var(--darken-1);
    font-size: 1.15rem;
    line-height: 1.55;
    font-weight: 500;
    color: var(--base-text);
}

.page.sessions .session-page__lead + .session-page__content {
    margin-top: var(--space-3);
}

.page.sessions .session-page__content {
    margin: var(--space-4) 0;
}

.page.sessions .session-page__content p {
    line-height: 1.6;
    font-size: 1.05rem;
}

.page.sessions .session-page__media {
    margin: var(--space-4) 0;
}

.page.sessions .session-page__slides {
    display: inline-flex;
    align-items: center;
    gap: .5ch;
    margin-top: var(--space-3);
    text-transform: none;
}

.page.sessions .session-page__register {
    margin: var(--space-4) 0;
    padding: var(--space-4);
    border: thin solid var(--primary);
    border-radius: var(--space-2);
    background: var(--darken-1);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.page.sessions .session-page__register-lead {
    margin: 0;
    flex: 1 1 18rem;
    font-size: 1rem;
    line-height: 1.5;
}

.page.sessions .session-page__register-btn {
    text-transform: none;
    font-weight: 600;
}

.page.sessions .session-page__discover {
    margin: var(--space-4) 0;
    padding-top: var(--space-4);
    border-top: thin solid var(--darken-1);
}

.page.sessions .session-page__discover-title {
    font-size: 1.25rem;
    margin: 0 0 var(--space-3);
}

.page.sessions .session-page__discover-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}

.page.sessions .session-page__discover-item {
    display: flex;
}

.page.sessions .session-page__back {
    margin: var(--space-4) 0 0;
    font-size: .95rem;
    text-align: center;
}

.page.sessions .session-page__back-link {
    color: var(--primary);
    text-decoration: underline;
    font-weight: 600;
}

.session-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3) var(--space-4);
    list-style: none;
    margin: 0 0 var(--space-4);
    padding: var(--space-3);
    background: var(--darken-1);
    border-radius: var(--space-2);
}

.session-meta__item {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 6rem;
}

.session-meta__label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    opacity: .75;
}

.session-meta__value {
    font-weight: 600;
    font-size: .95rem;
}
.session-meta__track {
    display: inline-block;
    padding: .1rem .55rem;
    border-radius: 999px;
    background: var(--chip-color, var(--primary));
    color: #fff;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.5;
}

.session-card-compact {
    display: block;
    height: 100%;
    padding: var(--space-3);
    border: thin solid var(--darken-1);
    border-radius: var(--space-2);
    text-decoration: none;
    color: inherit;
    box-shadow: var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
    transition: box-shadow var(--animation);
}

.session-card-compact:focus,
.session-card-compact:hover {
    box-shadow: var(--space-2) var(--space-2) var(--space-2) var(--darken-3);
}

.session-card-compact__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .8ch;
    font-size: .8rem;
    opacity: .85;
    margin-bottom: var(--space-2);
}
.session-card-compact__track {
    opacity: 1;
    font-size: .7rem;
    letter-spacing: .02em;
    padding: .05rem .5rem;
    border-radius: 999px;
    background: var(--chip-color, var(--primary));
    color: #fff;
    font-weight: 600;
    line-height: 1.5;
}
.session-card-compact__format {
    opacity: 1;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .65rem;
    padding: .05rem .45rem;
    border-radius: .25rem;
    border: thin solid var(--primary);
    color: var(--primary);
    background: transparent;
}

.session-card-compact__title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 var(--space-2);
    line-height: 1.3;
}

.session-card-compact__lang {
    margin: 0;
    font-size: .8rem;
    opacity: .8;
}

.page.speakers .speaker-page {
    max-width: var(--theJdrSize);
    margin: 0 auto;
    padding: var(--space-4) var(--container-margin);
}

.page.speakers .speaker-page__hero {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
    padding-bottom: var(--space-4);
    border-bottom: thin solid var(--darken-1);
}

.page.speakers .speaker-page__avatar {
    --avatar-size: 7rem;
}

.page.speakers .speaker-page__intro {
    flex: 1 1 16rem;
    min-width: 0;
}

.page.speakers .speaker-page__name {
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    font-weight: 600;
    margin: 0 0 var(--space-2);
}

.page.speakers .speaker-page__affiliation {
    margin: 0 0 var(--space-3);
    font-size: 1.05rem;
    opacity: .9;
}

.page.speakers .speaker-page__socials {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    list-style: none;
    margin: 0;
    padding: 0;
}

.page.speakers .speaker-page__socials a.social {
    display: inline-flex;
    align-items: center;
    gap: .35ch;
    color: var(--primary);
    text-decoration: underline;
}

.page.speakers .speaker-page__socials a.social .icon {
    width: 1em;
    height: 1em;
}

.page.speakers .speaker-page__sessions {
    margin-bottom: var(--space-4);
}

.page.speakers .speaker-page__sessions-title {
    font-size: 1.35rem;
    margin: 0 0 var(--space-3);
}

.page.speakers .speaker-page__day-group {
    margin-bottom: var(--space-4);
}

.page.speakers .speaker-page__day-title {
    font-size: 1.05rem;
    margin: 0 0 var(--space-2);
    opacity: .85;
}

.page.speakers .speaker-page__session-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-3);
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.page.speakers .speaker-page__bio p {
    line-height: 1.6;
    font-size: 1.05rem;
}

.page.speakers main ul.speakers.shuffle {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-3);
}

/* Sessions list filter bar — mirror of src/style/partials/_sessions_filter.scss */
.sessions-filter {
    margin: 0 0 var(--space-4);
    padding: var(--space-3);
    border: thin solid var(--darken-1);
    border-radius: var(--space-2);
    background: var(--base);
    box-shadow: var(--space-1) var(--space-1) var(--space-2) var(--darken-2);
}

.sessions-filter__heading-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
}

.sessions-filter__heading-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
    text-align: right;
}

.sessions-filter__heading {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.sessions-filter__count {
    margin: 0;
    font-size: .9rem;
    color: var(--base-secondary-text);
}

.sessions-filter__clear-inline {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: .35rem .65rem;
    font-size: .8rem;
    font-weight: 600;
}

.sessions-filter__clear-inline[hidden] {
    display: none;
}

.sessions-filter__search-row {
    display: flex;
    align-items: stretch;
    gap: .35rem;
    margin-bottom: var(--space-3);
}

.sessions-filter__search-field {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
}

.sessions-filter__search-input {
    flex: 1 1 auto;
    min-width: 0;
    padding: .55rem 2.25rem .55rem .75rem;
    font: inherit;
    border: thin solid var(--darken-1);
    border-radius: var(--space-2);
    background: var(--base);
    color: inherit;
}

.sessions-filter__search-input:focus {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

.sessions-filter__search-input::-webkit-search-cancel-button,
.sessions-filter__search-input::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}

.sessions-filter__search-clear {
    position: absolute;
    top: 50%;
    right: .35rem;
    transform: translateY(-50%);
    width: 1.65rem;
    height: 1.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 1.15rem;
    line-height: 1;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--base-secondary-text);
    cursor: pointer;
}

.sessions-filter__search-clear:hover {
    background: var(--darken-1);
    color: var(--base-text);
}

.sessions-filter__search-clear:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

.sessions-filter__search-clear[hidden] {
    display: none;
}

.sessions-filter__details {
    margin: 0;
}

.sessions-filter__details-summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .6rem;
    margin: 0;
    font-size: .9rem;
    font-weight: 500;
    color: var(--base-text);
    border: thin solid var(--darken-1);
    border-radius: var(--space-2);
    background: transparent;
    cursor: pointer;
    user-select: none;
}

.sessions-filter__details-summary::-webkit-details-marker {
    display: none;
}

.sessions-filter__details-summary:hover {
    background: var(--darken-1);
}

.sessions-filter__details-summary:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

.sessions-filter__details-icon {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: .3rem solid transparent;
    border-right: .3rem solid transparent;
    border-top: .35rem solid currentColor;
    transition: transform var(--animation);
}

.sessions-filter__details[open] .sessions-filter__details-icon {
    transform: rotate(180deg);
}

.sessions-filter__active-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 .4rem;
    margin-left: .1rem;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
}

.sessions-filter__active-count[hidden] {
    display: none;
}

.sessions-filter__chip-groups {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: var(--space-3);
    margin-bottom: var(--space-3);
}

.sessions-filter__fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}

.sessions-filter__legend {
    padding: 0;
    margin: 0 0 var(--space-2);
    font-size: .85rem;
    font-weight: 600;
    color: var(--base-secondary-text);
}

.sessions-filter__chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.sessions-filter__chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    margin: 0;
}

.sessions-filter__checkbox {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.sessions-filter__checkbox:focus-visible + .sessions-filter__chip-label {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.sessions-filter__checkbox:checked + .sessions-filter__chip-label {
    background: var(--primary);
    color: var(--primary-txt);
    border-color: var(--primary);
    box-shadow: none;
}

.sessions-filter__chip-label {
    display: inline-flex;
    align-items: center;
    padding: var(--space-2) var(--space-3);
    font-size: .95rem;
    line-height: 1.4;
    border: thin solid var(--darken-3);
    border-radius: .35rem;
    background: var(--lighten-1);
    color: inherit;
    user-select: none;
    transition: background var(--animation), color var(--animation), border-color var(--animation), box-shadow .15s ease, transform .15s ease;
}

.sessions-filter__chip:hover .sessions-filter__chip-label {
    box-shadow: 0 var(--space-2) var(--space-3) rgb(0 0 0 / 8%);
    transform: translateY(-1px);
}

.sessions-filter__chip--track .sessions-filter__chip-label {
    border-color: var(--darken-3);
    border-left-width: .35rem;
    border-left-color: var(--chip-color, var(--primary));
}

.sessions-filter__chip--track .sessions-filter__checkbox:focus-visible + .sessions-filter__chip-label {
    outline: 2px solid var(--chip-color, var(--primary));
    outline-offset: 2px;
}

.sessions-filter__chip--track .sessions-filter__checkbox:checked + .sessions-filter__chip-label {
    background: var(--chip-color, var(--primary));
    color: #fff;
    border-color: var(--chip-color, var(--primary));
    border-left-color: var(--chip-color, var(--primary));
    box-shadow: none;
}

.sessions-filter__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: center;
}

.sessions-filter__clear-all {
    font-size: .9rem;
}

.sessions-filter__mobile-done {
    display: none;
}

@media (max-width: 719.98px) {
    .sessions-filter__chip-label {
        font-size: 0.875rem;
    }

    .sessions-filter__details[open] .sessions-filter__mobile-done {
        display: block;
        margin-top: var(--space-3);
        margin-bottom: var(--space-1);
        padding: var(--space-3) var(--space-2) calc(var(--space-3) + env(safe-area-inset-bottom, 0));
        border-top: thin solid var(--darken-1);
        border-radius: 0 0 var(--space-2) var(--space-2);
        background: var(--base);
    }

    .sessions-filter__show-results {
        display: flex;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        justify-content: center;
        padding: 0.65rem var(--space-3);
        font-weight: 600;
    }
}

.sessions-filter__empty {
    margin: var(--space-2) 0 0;
    padding: var(--space-2);
    border-radius: var(--space-2);
    background: var(--darken-1);
    font-size: .95rem;
}

.sessions-filter__noscript {
    margin: var(--space-2) 0 0;
    font-size: .9rem;
    color: var(--base-secondary-text);
}

.sessions-list .sessions-list__item[hidden],
.sessions-list__day-group[hidden] {
    display: none !important;
}
