/* Styles for lessons and other content */

.pythondir {
    /* used in the original PyLadies lessons for `~/pyladies` */
    display: inline-block;
    padding: 2px 0 0 0;
    background-color: #CCDDFF;
    color: black;
    border-radius: 4px;
}

hr.lesson-end {
    margin-top: 6rem;
}

kbd {
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-bottom-width: 3px;
    border-radius: 3px;
    color: black;
    font-style: normal;
    padding-bottom: 0;
    box-shadow:inset 0px 1px 0px 0px #fff;
}

.header-link {
    /* Use opacity:0 rather than visibility:hidden to keep the link available
     * for tab-navigation. */
    opacity: 0;
}
.header-link:focus,
*:focus-within > .header-link,
*:hover > .header-link {
    visibility: visible;
    opacity: 1;
}


/*** Credits ***/

.lesson-attribution {
    text-align: center;
    line-height: 1.5rem;
    font-size: 0.8rem;
}

.lesson-attribution p {
    margin: 0;
    padding: 0;
}


/*** Admonitions ***/

.admonition {
    font-style: italic;
    background-color: #EEE;
    border-radius: 4px;
    padding: 0.75rem 2rem 0.75rem 1.5rem;
    margin-bottom: 0.75rem;
    margin-left: 2rem;
    margin-right: -3rem;
    text-align: left;
    overflow: hidden;
    position: relative;
}

.admonition p {
    margin-bottom: 0;
}

.admonition em,
.admonition pre {
    font-style: normal;
}

.admonition .admonition-title {
    font-style: normal;
    font-weight: bold;
}

.admonition > *:first-child:before {
    position: absolute;
    top: -5.5rem;
    right: -1.1rem;
    font-size: 13rem;
    font-style: normal;
    font-weight: normal;
    font-family: 'Bree Serif';
}

.admonition.note {
    border-left: 3px rgba(2, 117, 216, 0.2) solid;
}

.admonition.note > *:first-child:before {
    content: '*';
    color: rgba(2, 117, 216, 0.2);
}

.admonition.warning {
    border-left: 3px rgba(226, 53, 2, 0.2) solid;
}

.admonition.warning > *:first-child:before {
    content: '!';
    color: rgba(226, 53, 2, 0.2);
    font-style: italic;
    top: -3rem;
    right: 0.2rem;
    font-size: 6rem;
}

.admonition.extra-activity {
    border-left: 3px rgba(128, 128, 128, 0.2) solid;
    font-style: normal;
}

.admonition.extra-activity em {
    font-style: italic;
}

.admonition.extra-activity > *:first-child:before {
    content: '+';
    color: rgba(128, 128, 128, 0.2);
    font-style: italic;
    top: -2.5rem;
    right: -0.2rem;
    font-size: 6rem;
}

.admonition.style-note {
    border-left: 3px rgba(240, 173, 78, 0.2) solid;
}

.admonition.style-note > *:first-child:before {
    content: '&';
    color: rgba(240, 173, 78, 0.2);
    font-style: italic;
    top: -3rem;
    right: -0.3rem;
    font-size: 6rem;
}

/*** Solutions ***/

.solution {
    display: block;
    position: relative;
    min-height: 3em;
    margin-bottom: 2em;
    padding-left: 1em;
    border-left: 1em solid rgba(128, 128, 128, 0.2);
}

.solution .solution-cover {
    display: block;
    position: absolute;
    top: -0.5em;
    left: -1.5em;
    bottom: -0.5em;
    right: -0.5em;
    border: 1px solid #EEE;
    border-radius: 4px;
    z-index: 100000;
}

.solution .solution-cover a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: white;
    border-radius: 4px;
    border: 1px solid transparent;
    outline: none;
    color: #444;
    background-color: #FFF;
    background: repeating-linear-gradient(
        -45deg,
        rgba(255, 255, 255, 0.95),
        rgba(255, 255, 255, 0.95) 5px,
        #FAFAFA 5px,
        #FAFAFA 10px
    );
    text-decoration: none;
    position: relative;
    left: 0;
}

.solution .solution-cover a:before {
    /* Helper for vertical centering
     * see https://css-tricks.com/centering-in-the-unknown/ */
    display: inline-block;
    content: '';
    width: 0;
    height: 90%;  /* less than 100% makes the text a bit above center */
    vertical-align: middle;
}

.solution .solution-cover a span.link-text {
    display: inline-block;
    vertical-align: middle;
}

.solution .solution-cover a:hover {
    border-color: #026C68;
    color: #026C68;
    background-color: #EEE;
    background: repeating-linear-gradient(
        -45deg,
        rgba(255, 255, 255, 0.94),
        rgba(255, 255, 255, 0.94) 5px,
        #F8F8F8 5px,
        #F8F8F8 10px
    );
}

.solution.opened .solution-cover {
    transition: opacity 0.25s linear,
        visibility 0s linear 0.25s;
    visibility: hidden;
    opacity: 0;
}

.solution.opened .solution-cover a {
    transition: left 0.25s linear,
        border-color 0.15s linear;
    left: -50%;
    border-color: #FFF;
}

@media print {
    .solution .solution-cover a {
        display: none;
    }
}


/*** Figures ***/

.figure img {
    max-width: 100%;
}

.figure {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.figure.float-left {
    margin-right: 2rem;
}

.figure.float-right {
    margin-left: 2rem;
}


/*** Code examples ***/

div.highlight .nb {
    /* Highlighting built-in names differently than normal ones can be
     * confusing, especially in Bash (`cd` different from `whoami`)
     */
    color: inherit;
}

div.highlight .gp {
    /* Prompts, on the other hand, should stand out more.
     */
    color: #0275d8;
    user-select: none; /* non-selectable, see #194  */
}

/*** Blockquotes ***/

blockquote {
    margin-left: 2em;
}
