/*********************************************
 * FONTS
 *********************************************/
/* latin-ext */
@font-face {
    font-family: 'Source Serif Pro';
    font-style: normal;
    font-weight: 400;
    src: local('Source Serif Pro'), local('SourceSerifPro-Regular'), url(../fonts/source-serif-pro-ext.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 400;
    src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(../fonts/source-sans-pro-ext.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Source Serif Pro';
    font-style: normal;
    font-weight: 400;
    src: local('Source Serif Pro'), local('SourceSerifPro-Regular'), url(../fonts/source-serif-pro.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 400;
    src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(../fonts/source-sans-pro.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --main-color: #2a2230;
    --main-color-muted: #665e6c;
    --secondary-color: #00d0ad;
    --link-color: #4500d0;
    --contrast-color: #f8f6ff;
}

/*********************************************
 * GLOBAL STYLES
 *********************************************/
body {
    background-color: var(--contrast-color);
}

section.has-dark-background,
section.has-dark-background a {
    color: var(--contrast-color);
    text-shadow:
        -1px 1px 1px var(--main-color),
        1px 1px 1px var(--main-color),
        1px -1px 0 var(--main-color),
        -1px -1px 0 var(--main-color);
}

.reveal {
    color: var(--main-color);
    font-family: "Source Sans Pro", sans-serif;
    font-size: 40px;
}

/*********************************************
 * LINKS
 *********************************************/
.reveal a {
    color: var(--link-color);
}

/*********************************************
 * TYPOGRAPHY
 *********************************************/
.reveal h1,
.reveal h2,
.reveal h3 {
    font-family: 'Source Serif Pro', serif;
    line-height: 1.1;
    word-wrap: break-word;
}

.reveal h1 {
    margin-bottom: 1em;
}
.reveal h1::after {
    display: block;
    width: 33%;
    padding-bottom: .25em;
    margin-right: auto;
    margin-left: auto;

    border-bottom: 4px solid var(--secondary-color);

    content: "";
}

.reveal h2 {
    margin-bottom: 0.5em;
}

.reveal h1 { font-size: 2.25em; }
.reveal h2 { font-size: 2em; }
.reveal h3 { font-size: 1.55em; }

.reveal * + h1,
.reveal * + h2,
.reveal * + h3 {
  margin-top: 1.5em;
}

.reveal p {
  margin-top: 0;
  margin-bottom: 1em;
}
.reveal p:last-child {
  margin-bottom: 0;
}

.reveal ul,
.reveal ol,
.reveal dl {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 1em;
    text-align: left;
}
.reveal li + li {
    margin-top: 0.5em;
}
.reveal ul:last-child,
.reveal ol:last-child,
.reveal dl:last-child {
  margin-bottom: 0;
}
.reveal p + ul,
.reveal p + ol,
.reveal p + dl,
.reveal p + table {
  margin-top: -.5em;
}

.reveal em {
    font-style: italic;
}

.reveal strong {
    font-weight: bold;
}

.reveal small {
    font-size: .7em;
}

.reveal blockquote {
    font-style: italic;
    margin-bottom: 1em;
}

.reveal hr {
    width: 33%;
    margin: 2em auto;

    border: none;
    border-top: 4px solid var(--secondary-color);
}

.reveal .text-secondary {
    color: var(--main-color-muted);
}

/*********************************************
 * SLIDES TEMPLATES
 *********************************************/
section.speaker ul {
    list-style: none;
}
section.speaker ul li a {
    text-decoration: none;
}

section.logos .logo {
    max-width: 28%;
    margin-left: 2%;
}

/*********************************************
 * NAVIGATION CONTROLS
 *********************************************/
.reveal .controls {
    color: var(--secondary-color);
}

/*********************************************
 * PROGRESS BAR
 *********************************************/
.reveal .progress {
    background: rgba(0, 0, 0, 0.2);
    color: var(--secondary-color);
}

.reveal .progress span {
    -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
    -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
    transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
}
