/* Main rules  */

body {
    margin: 0;
    padding: 0;

    /* Body take full viewport height */
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    /* Font settings */
    font-family: "DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;
    line-height: 1.5em;

    /***************************/
    /* letter-spacing: 0.12em; */
    /* word-spacing: 0.16em;   */
    /***************************/

}

a {
    min-height: 44px;
    min-width: 44px;
    line-height: 44px !important;
    vertical-align: baseline !important;
}

p {
    margin-bottom: 2em;
}

.breadcrumb-item:before {
    line-height: 44px;
}

.breadcrumb-item {
    min-height: 44px;
    min-width: 44px;
    line-height: 44px !important;
    vertical-align: baseline !important;
}

.breadcrumb-item a {
    color: #1f3a66;
}

.breadcrumb-item a:focus-visible {
    border-radius: 5px;
    outline-offset: 3px;
    outline-style: solid;
}


/* Header rules */

header {
    background-color: #1f3a66;
}

header .skip-to-content-link {
    background-color: #1f3a66;
    position: absolute;
    left: -10000px;
    top: auto;
    overflow: hidden;
    color: white;
    opacity: 0;
}

header .skip-to-content-link:focus {
    left: 5px;
    top: 5px;
    border-radius: 5px;
    outline-offset: 3px;
    outline-width: 3px;
    outline-style: solid;
    opacity: 1;
}

header .navbar a.navbar-brand:focus-visible {
    border-radius: 5px;
    outline-offset: 3px;
    outline-width: 3px;
    outline-style: solid;
}

header .navbar button.navbar-toggler {
    color: white;
}

header .navbar ul.navbar-nav {
    flex-wrap: wrap;
}

header .navbar .nav-item a {
    color: GhostWhite;
}

header .navbar .nav-item a.nav-link {
    color: white;
}

header .navbar .nav-item a.nav-link.active {
    color: white;
}

header .navbar .nav-item a.nav-link:focus-visible {
    border-radius: 5px;
    box-shadow: white 0px 0px 0px 0.25rem;
    outline-style: solid;
    outline-offset: 3px;
}

header .navbar .nav-item.dropdown ul.dropdown-menu {
    background-color: #1f3a66;
    border-color: #4f6a96;
    border-width: 2px;
}

header .navbar .nav-item.dropdown ul.dropdown-menu a:hover,
header .navbar .nav-item.dropdown ul.dropdown-menu a:focus {
    background-color: #051530;
    outline-style: none;
}

header .navbar .nav-item.dropdown ul.dropdown-menu a:focus-visible {
    outline-width: 2px;
    outline-style: solid;
}


/* Footer rules */

footer {
    margin-top: auto;
    background-color: #1f3a66;
}

footer .usefull_links ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

footer .usefull_links a {
    color: white;
}

footer .usefull_links a:focus-visible {
    border-radius: 5px;
    outline-offset: 3px;
    outline-style: solid;
}

footer h2 {
    color: white;
}

footer .sponsors_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1em;
    row-gap: 1em;
}

footer .sponsors_grid .sponsor {
    background-color: white;
    justify-self: center;
    display: flex;
}

footer .sponsors_grid .sponsor img {
    align-self: center;
    border: none;
}

/* Main elements rules */

h1, h2, h3, h4 {
    color: #666666;
}

.btn {
    min-height: 44px;
    min-width: 44px;
}

.btn.btn-primary {
    background-color: #1f3a66;
    border-color: #1f3a66;
}

.btn-outline-primary {
    border-color: #1f3a66;
    color: #1f3a66;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    border-color: #1f3a66;
    background-color: #1f3a66;
    color: white;
}

.btn-outline-primary:focus-visible {
    border-color: #1f3a66;
    background-color: #1f3a66;
    color: white;
    box-shadow: none;
    border-style: none;
}


/* Home page rules */

.home {
    margin-top: 5em;
    margin-bottom: 5em;
}

.home .event_logo {
    max-width: 25em;
    max-height: 25em;
}

/* All article rules */

article {
    margin-bottom: 5em;
}

article a {
    color: #1f3a66;
}

article a:focus-visible {
    border-radius: 5px;
    outline-offset: 3px;
    outline-style: solid;
}

article {

}

/* Stream page rules */

.stream_page h2,
.stream_page h3,
.stream_page h4 {
    margin-top: 1.2em;
    margin-bottom: 0.5em;
}

/* Richtext rules */ 

img.richtext-image {
    margin-top: 1em;
    margin-bottom: 2em;
}

img.richtext-image.full-width {
    margin-left: auto;
    margin-right: auto;
    display: block;
    
}

/* Form rules */

form input {
    min-height: 44px;
    min-width: 44px;
}

form .error_field input,
form .error_field textarea {
    border: 2px solid red;
}

form .req {

} 
