@font-face {
    font-family: 'lhf_comic_caps_2_slantregular';
    src: url('fonts/lhfcomiccaps2slant-webfont.woff2') format('woff2'),
    url('fonts/lhfcomiccaps2slant-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'mv_boliregular';
    src: url('fonts/mvboli-webfont.woff2') format('woff2'),
    url('fonts/mvboli-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'icomoon';
    src:  url('fonts/icomoon.eot?54wpn9');
    src:  url('fonts/icomoon.eot?54wpn9#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?54wpn9') format('truetype'),
    url('fonts/icomoon.woff?54wpn9') format('woff'),
    url('fonts/icomoon.svg?54wpn9#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-male:before {
    content: "\e901";
}
.icon-female:before {
    content: "\e902";
}
.icon-search:before {
    content: "\e900";
}

html {
    padding: 0;
    margin: 0;
}

body {
    background: #f5b310 url(img/background-lores.jpg) no-repeat;
    background-size: cover;
    color: #fff;
    font-family: "MV Boli", "mv_boliregular", sans-serif;
    font-weight: bold;
    line-height: 1;
    padding: 0;
    margin: 0;
}

#page-home {
    background-image: url(img/background-repeating-lores.jpg);
    background-repeat: repeat;
    background-size: contain;
    padding-top: 4vh;
}

#page-home article {
    position: relative;
    margin-bottom: 18em;
}

aside {
    text-transform: uppercase;
    padding-bottom: 7rem;
    overflow: auto;
    position: relative;
    z-index: 2;
}

#page-home aside {
    position: absolute;
    top: 0;
    width: 100%;
}

aside li {
    display: block;
    background: #fff;
    color: #a2b2d3;
    font-size: smaller;
    padding: 0.5rem;
    border: solid #a2b2d3 0.3em;
    border-radius: 0.3em;
    margin: 0 0 0.5em;
    max-width: 20%;
    float: right;
    clear: right;
}

aside li:nth-child(1) {
    margin-right: 5%;
}

aside li:nth-child(2) {
    margin-right: 1%;
}

aside li:nth-child(3) {
    margin-right: 0;
}

aside li:nth-child(4) {
    margin-right: 6%;
}

aside li li {
    text-transform: none;
    padding: 0;
    border: none;
    border-radius: 0;
    margin-right: 0;
    max-width: none;
    float: none;
}

aside li li:last-child {
    margin-bottom: 0;
}

aside li ul {
    margin: 0.5em 0 0;
}

aside ul {
    padding: 0;
    margin: 1em;
}

aside.read-more {
    padding-bottom: 0;
    margin: -3em 0 0 10%;
}

#page-home aside.read-more {
    top: auto;
}

aside.read-more li {
    border-color: #373737;
    float: left;
    margin: 0 1em 0 0;
}

#calendar article,
#names article {
    margin-bottom: 0;
}

#calendar article p,
#names article p {
    text-align: left;
    padding-left: 10%;
    margin-right: 10%;
}

#calendar article p span {
    display: inline-block;
    text-align: right;
    width: 2em;
}

#page-home #names h1 {
    font-size: 6em;
    margin-bottom: -0.2em;
}

#names p {
    font-size: 1.4em;
    line-height: 1.6em;
}

.calendar {
    display: inline-block;
    background: url(img/flags.png) no-repeat left top;
    background-size: cover;
    text-indent: -999em;
    line-height: 0;
    vertical-align: middle;
    overflow: hidden;
    width: 20px;
    height: 20px;
    rotate: 5deg;
}
.calendar-G { background-position: left top; }
.calendar-Eur { background-position: left -20px; }
.calendar-Eng { background-position: left -40px; }
.calendar-DP { background-position: left -60px; }
.calendar-Gue { background-position: left -80px; }
.calendar-Ald { background-position: left -100px; }
.calendar-Jer { background-position: left -120px; }

figure {
    max-width: 40rem;
    position: absolute;
    top: 10rem;
    z-index: 0;
}

figure img {
    width: 100%;
}

p {
    background: #fff;
    color: #373737;
    text-align: center;
    padding: 1em;
    border: solid #373737 0.4em;
    border-radius: 0.3em;
    margin: 1em;
    position: relative;
    z-index: 2;
}

p:nth-child(2) {
    margin-left: 10%;
    margin-right: 25%;
}

p:nth-child(3) {
    margin-left: 4%;
    margin-right: 33%;
}

p:nth-child(4) {
    margin-left: 13%;
    margin-right: 10%;
}

p.notes {
    padding: 0;
    background-color: #373737;
    color: #fff;
    margin-right: 40%;
}

h1 {
    color: #337d98;
    font-family: "LHF Comic Caps 2 Slant", "lhf_comic_caps_2_slantregular", cursive;
    font-size: 6em;
    line-height: 0.7;
    text-indent: -0.5em;
    padding-left: 0.5em;
    margin: 0 0 0.5em;
    rotate: -8deg;
    position: relative;
    z-index: 3;
}

h1 a {
    color: #337d98;
}

h1.danger,
h1.danger a {
    color: #ec4646;
    text-align: center;
}

#page-home h1 {
    font-size: 3em;
    margin-top: 1em;
}

h2 {
    background: #373737;
    color: #a2b2d3;
    font-family: "LHF Comic Caps 2 Regular", "lhf_comic_caps_2_slantregular", cursive;
    font-size: 2em;
    text-align: center;
    padding: 0.5em;
    border-radius: 0.3em;
    margin: 0 30% 0 0.5em;
    position: relative;
    z-index: 3;
}

#page-home h2 {
    background: none;
    color: #ec4646;
    font-family: "MV Boli", "mv_boliregular", sans-serif;
    font-size: 1.5em;
    padding: 0;
    margin-left: 5%;
    rotate: -8deg;
}

#page-home h2 small {
    display: block;
    color: #373737;
    rotate: 4deg;
    position: relative;
}

header {
    background: transparent url(img/logo.svg) no-repeat;
    background-size: contain;
    text-indent: -999em;
    overflow: hidden;
    height: 6em;
}

#page-home header {
    background-position: center;
    height: 12em;
    margin: 0 1em 2em;
}

nav {
    background: #a2b2d3;
    color: #fff;
    font-size: 1.2rem;
    text-transform: uppercase;
    text-align: center;
    padding: 0.3rem;
    border-radius: 0.3em;
}

nav a {
    background: #373737;
    color: #fff;
    padding: 0.5em;
    border-radius: 2em;
}

nav strong {
    background: #ec4646;
    color: #fff;
    padding: 0.5em;
    border-radius: 2em;
}

#nav-search {
    text-decoration: none;
}

.radio-inputs {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    border-radius: 0.5rem;
    background-color: #EEE;
    box-sizing: border-box;
    box-shadow: 0 0 0px 1px rgba(0, 0, 0, 0.06);
    padding: 0.25rem;
    width: 300px;
    font-size: 14px;
}

.radio-inputs .radio {
    flex: 1 1 auto;
    text-align: center;
}

.radio-inputs .radio input {
    display: none;
}

.radio-inputs .radio .name {
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    border: none;
    padding: .5rem 0;
    color: #000;
    transition: all .15s ease-in-out;
}

.radio-inputs .radio input:checked + .name {
    background-color: #ec4646;
    color: #fff;
    font-weight: 600;
}

.rank {
    display: inline-block;
    background: #ffbc2c;
    color: #fff;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: bold;
    font-size: 0.25em;
    text-align: center;
    text-indent: 0;
    line-height: 1.3em;
    vertical-align: middle;
    border: solid 1px #d39e28;
    border-radius: 1em;
    margin: 0 0 -0.7em 0.3em;
    width: 1.3em;
    height: 1.3em;
    rotate: 8deg;
}

#search-input {
    font-family: "MV Boli", "mv_boliregular", sans-serif;
    font-size: 2em;
    opacity: 0.8;
    width: 80%;
}

#search {
    text-align: center;
    margin-top: 2em;
}

#search .radio-inputs {
    font-size: 1em;
    text-transform: uppercase;
    opacity: 0.8;
    margin: 1em 10%;
    width: 80%;
}

#search .radio-inputs span>span {
    font-size: 1.2em;
    padding-right: 0.3em;
}

#search .radio-inputs span>span+span {
    margin-left: -0.3em;
}

.has-tooltip:hover .tooltip {
    display: block;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus, :focus-within) {
	border: 0 !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	width: 1px !important;
	white-space: nowrap !important;
}

.visually-hidden:not(caption),
.visually-hidden-focusable:not(caption):not(:focus, :focus-within){
	position: absolute !important;
}

.visually-hidden *,
.visually-hidden-focusable:not(:focus, :focus-within) * {
	overflow: hidden !important;
}