@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: local('Open Sans Regular'), local('OpenSans-Regular'), url(../ttf/opensans.ttf) format('truetype');
}

@font-face {
    font-family: 'Source Code Pro';
    font-style: normal;
    font-weight: 400;
    src: local('Source Code Pro'), local('SourceCodePro-Regular'), url(../ttf/sourcecodepro.ttf) format('truetype');
}

body, h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', sans-serif;
}

body {
    font-size: 1.2em;
    font-kerning: normal;
    font-variant-ligatures: common-ligatures;
    text-rendering: optimizeLegibility;
}

h2.subheadline {
    margin-top: 4rem;
}

h3.subheadline {
    margin-top: 3rem;
}

h3 a {
    color: #000;
}

h4.subheadline {
    margin-top: 2.5rem;
}

a {
    text-decoration: none;
}

code, pre {
    font-family: 'Source Code Pro', sans-serif;
}

hr {
    margin: 30px 0;
}

pre {
    font-size: 0.75em;
    -webkit-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.32);
    -moz-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.32);
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.32);
    background: #f5f5f5;
}

time {
    font-size: smaller;
    font-weight: bold;
}

p.announcement {
    margin-bottom: 3rem;
}

p.lead {
    font-size: 1.5em;
    line-height: 1.25;
}

img.quote {
    width: 100%;
    margin-bottom: 1rem;
}

ul.announcements, ul.articles, ul.training {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

ul.announcements > li:first-of-type, ul.articles > li:first-of-type, ul.training > li:first-of-type {
    margin-top: 2rem;
}

ul.announcements > li, ul.articles > li, ul.training > li {
    border-bottom: solid 1px #eee;
    margin: 30px 0;
}

ul.announcements > li:last-of-type, ul.articles > li:last-of-type, ul.training > li:last-of-type {
    border-bottom: none;
}

.hljs {
    display: block; padding: 0.5em;
    background: #f5f5f5;
}


.quotes {
    margin-top: 2rem;
}

.wrapped {
    overflow-wrap: break-word;
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
}

div[data-sponsor] {
    display: grid;
    align-items: center;
    text-align: center;
    margin-bottom: 7rem;
    margin-right: 5rem;
}

.btn-start {
    color: #ffffff;
    background-color: #39b54a;
    border-color: #39b54a;
}

.btn-start:hover,
.btn-start:focus,
.btn-start:active,
.btn-start.active,
.open .dropdown-toggle.btn-start {
    color: #ffffff;
    background-color: #28a439;
    border-color: #28a439;
}

.btn-start:active,
.btn-start.active,
.open .dropdown-toggle.btn-start {
    background-image: none;
}

.btn-start.disabled,
.btn-start[disabled],
fieldset[disabled] .btn-start,
.btn-start.disabled:hover,
.btn-start[disabled]:hover,
fieldset[disabled] .btn-start:hover,
.btn-start.disabled:focus,
.btn-start[disabled]:focus,
fieldset[disabled] .btn-start:focus,
.btn-start.disabled:active,
.btn-start[disabled]:active,
fieldset[disabled] .btn-start:active,
.btn-start.disabled.active,
.btn-start[disabled].active,
fieldset[disabled] .btn-start.active {
    background-color: #39b54a;
    border-color: #39b54a;
}

.btn-start .badge {
    color: #39b54a;
    background-color: #fff;
}

.btn-newsletter {
    color: #ffffff;
    background-color: #3d9cd7;
    border-color: #3d9cd7;
}

.btn-newsletter:hover,
.btn-newsletter:focus,
.btn-newsletter:active,
.btn-newsletter.active,
.open .dropdown-toggle.btn-newsletter {
    color: #ffffff;
    background-color: #2c8bc6;
    border-color: #2c8bc6;
}

.btn-newsletter:active,
.btn-newsletter.active,
.open .dropdown-toggle.btn-newsletter {
    background-image: none;
}

.btn-newsletter.disabled,
.btn-newsletter[disabled],
fieldset[disabled] .btn-newsletter,
.btn-newsletter.disabled:hover,
.btn-newsletter[disabled]:hover,
fieldset[disabled] .btn-newsletter:hover,
.btn-newsletter.disabled:focus,
.btn-newsletter[disabled]:focus,
fieldset[disabled] .btn-newsletter:focus,
.btn-newsletter.disabled:active,
.btn-newsletter[disabled]:active,
fieldset[disabled] .btn-newsletter:active,
.btn-newsletter.disabled.active,
.btn-newsletter[disabled].active,
fieldset[disabled] .btn-newsletter.active {
    background-color: #3d9cd7;
    border-color: #3d9cd7;
}

.btn-newsletter .badge {
    color: #3d9cd7;
    background-color: #fff;
}

.btn-training {
    color: #ffffff;
    background-color: #f19322;
    border-color: #f19322;
}

.btn-training:hover,
.btn-training:focus,
.btn-training:active,
.btn-training.active,
.open .dropdown-toggle.btn-training {
    color: #ffffff;
    background-color: #e08211;
    border-color: #e08211;
}

.btn-training:active,
.btn-training.active,
.open .dropdown-toggle.btn-training {
    background-image: none;
}

.btn-training.disabled,
.btn-training[disabled],
fieldset[disabled] .btn-training,
.btn-training.disabled:hover,
.btn-training[disabled]:hover,
fieldset[disabled] .btn-training:hover,
.btn-training.disabled:focus,
.btn-training[disabled]:focus,
fieldset[disabled] .btn-training:focus,
.btn-training.disabled:active,
.btn-training[disabled]:active,
fieldset[disabled] .btn-training:active,
.btn-training.disabled.active,
.btn-training[disabled].active,
fieldset[disabled] .btn-training.active {
    background-color: #f19322;
    border-color: #f19322;
}

.btn-training .badge {
    color: #f19322;
    background-color: #fff;
}

.announcements-archive {
    max-width: 52rem;
}

.announcements-archive h3 {
    margin-top: 1.25rem;
    margin-bottom: 0.25rem;
}

.announcements-archive h3 a:hover {
    color: #3d9cd7;
    text-decoration: underline;
}

.announcements-archive h3 + p {
    margin: 0 0 0.5rem 0;
}

.announcements-archive time {
    display: inline-block;
    background: #f5f5f5;
    border: 1px solid #eee;
    color: #666;
    font-weight: 600;
    font-size: 0.85em;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
}

.announcement-hero {
    background: linear-gradient(180deg, #fbfbfb 0%, #ffffff 100%);
    border: 1px solid #eee;
    border-radius: 0.5rem;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02);
    margin-bottom: 2rem;
}

.release-badge {
    display: inline-block;
    font-size: 0.8em;
    line-height: 1;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: #efe6ff;
    color: #5a35b5;
    border: 1px solid #e1d5ff;
    font-weight: 600;
}

/* Event banner (moved from inline CSS in index.html) */
#dismiss-event-banner {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

#dismiss-event-banner:checked + .event-banner {
    display: none;
}

.event-banner {
    width: 100%;
    background: #fff3cd; /* Bootstrap warning background */
    color: #664d03;
    border-bottom: 1px solid #ffe69c;
    padding: 0.75rem 3rem 0.75rem 1rem;
    text-align: center;
    font-size: 1rem;
    position: relative;
}

.event-banner a,
.event-banner a:visited,
.event-banner a:hover,
.event-banner a:focus,
.event-banner a:active {
    color: #000;
}

.event-banner__close {
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
    line-height: 1;
    cursor: pointer;
    color: #664d03;
    font-weight: bold;
    font-size: 1.25rem;
}

.event-banner__badge {
    background: #fd7e14;
    color: #fff;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    margin-right: 0.5rem;
    font-weight: 600;
}

@media (max-width: 576px) {
    .event-banner {
        font-size: 0.95rem;
        padding-right: 2.5rem;
    }

    .event-banner__close {
        right: 0.5rem;
        top: 0.25rem;
    }
}

.feature-list,
.roadmap-list {
    margin-top: 0.5rem;
    margin-bottom: 1.25rem;
}

.feature-list li,
.roadmap-list li {
    margin-bottom: 0.35rem;
}

.announcements-archive p.announcement {
    background: #fbfbfb;
    border: 1px solid #eee;
    border-left: 4px solid #3d9cd7;
    padding: 0.75rem 1rem;
    margin-bottom: 2rem;
    border-radius: 6px;
}

.announcements-archive hr {
    margin: 2.5rem 0 1.25rem 0;
    border: 0;
    border-top: 1px dashed #e3e3e3;
    height: 0;
    opacity: 1;
}
