html {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-size: 1em;
    background-color: #3c3c3c;
    overflow-y: scroll;
}

body {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
    flex-basis: auto;
    flex-grow: 1;
    flex-shrink: 1;
    margin: 0;
    padding: 0;
    background-color: #3c3c3c;
}

body > * {
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
}

body > header {
    background-color: #fff;
}

body > header > .container > aside {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-content: center;
    align-items: center;
    gap: 1.5em;
}

body > header > .container > aside > * {
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
    overflow: auto;
}

body > header > .container > aside > ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .9em;
    text-align: center;
}

body > header > .container > aside > ul:before {
    content: '';
    display: block;
    width: 1.5em;
    height: 1.5em;
    background-image: url(../img/globe_black.svg);
    background-size: contain;
}

body > header > .container > aside > ul > li {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
}

body > header > .container > aside > ul > li + li:before {
    content: '|';
}

body > header > .container > aside > ul > li > a {
    display: inline-block;
    width: 1.75em;
    font-weight: 400;
    text-transform: uppercase;
    color: inherit;
}

body > header > .container > aside > ul > li > a.active {
    font-weight: 700;
}

body > header > .container > aside > nav > ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 1.5em;
    font-size: .9em;
}

body > header > .container > aside > nav > ul > li {
    margin: 0;
    padding: 0;
}

body > header > .container > aside > nav > ul > li > a {
    display: block;
    color: inherit;
}

body > header > .container > div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
}

body > header > .container > div:after {
    content: '';
}

body > header > .container > div:after,
body > header > .container > div > figure {
    flex-basis: 0;
    flex-grow: 1;
    flex-shrink: 1;
    overflow: visible;
}

body > header > .container > div > figure {
    margin: 1rem 0;
}

body > header > .container > div > figure img {
    width: auto;
    height: 2rem;
}

@media (max-width: 991px) {

    body > header > .container > div > figure {
        margin: .75rem 0;
    }

    body > header > .container > div > figure img {
        width: auto;
        height: 1.5rem;
    }
}

body > header > .container > div > p {
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
    margin: 0 0 .85rem;
    overflow: visible;
    font-size: 1.6rem;
    white-space: nowrap;
    color: #080942;
}

body > header > .container > div > p > strong {
    font-weight: 700;
}

body > div {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-grow: 1;
    padding: 1em;
}

body > div > * {
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
    margin-top: .35em;
    padding: 1.5em 1.7em;
    width: 100%;
    max-width: 23em;
    background-color: #fff;
}

body > div > main {
    margin: 0;
}

body > div > main > header {
    margin-top: .7em;
    margin-bottom: 2em;
    font-size: 1.25em;
    word-break: break-word;
}

body > div > main > footer {
    margin-top: .35em;
}

body > div > section > p {
    margin-top: 0;
}

body > footer {
    position: relative;
    padding: 1.2em 0 1em 0;
    background-color: #fff;
}


body > footer > .container a {
    color: inherit;
    font-size: 0.9rem;
}

body > footer > .container figure > img {
    width: auto;
    height: 3rem;
}

body > footer > .container > nav > .btn {
    padding: .175em .7em;
    font-size: .9rem;
    font-weight: inherit !important;
    color: inherit;
}

body > footer > aside {
    position: absolute;
    right: .35em;
    bottom: 0;
    opacity: .1;
    font-size: .85em;
    transition: opacity .2s;
}

body > footer > aside:hover {
    opacity: 1;
}

.alert,
.alert {
    position: relative;
    padding-left: 2.8em;
}

.alert:before {
    content: '';
    position: absolute;
    top: 50%;
    left: .7em;
    width: 1.4em;
    height: 1.4em;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-.8em);
}

.alert.alert-info:before {
    background-image: url(../img/icon-info.svg);
}

.alert.alert-danger:before {
    background-image: url(../img/icon-error.svg);
}

.alert.alert-success:before {
    background-image: url(../img/icon-success.svg);
}

.alert.alert-warning:before {
    background-image: url(../img/icon-warning.svg);
}