@font-face {
    font-family: "Linux Biolinum";
    src: url('../fonts/LinBiolinum_R.woff') format('woff');
}
@font-face {
    font-family: "Linux Biolinum";
    src: url('../fonts/LinBiolinum_RB.woff') format('woff');
    font-weight: bold;
}
@font-face {
    font-family: "Linux Biolinum";
    src: url('../fonts/LinBiolinum_RI.woff') format('woff');
    font-style: italic;
}
@font-face {
    font-family: 'FantasqueSansMonoRegular';
    src: url('../fonts/FantasqueSansMono-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

b, strong {
    font-weight: bold;
}

[ng-cloak] {
    display:none !important;
}

.popover.bs-popover-left .arrow::after {
    border-left-color: #7A8288;
}

body {
    overflow-y: scroll;
}

.bg-public {
    background-image: url('../img/logo-epita-bw.png');
    background-repeat: no-repeat;
    background-size: contain;
    height: 100vh;
}

.bg-public .carousel h3 {
    font-size: 1.5rem;
    line-height: 1.1rem;
}

.flag {
    font-family: 'FantasqueSansMonoRegular', monospace;
}

.card-img-top {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.theme-card {
    height: 10rem;
}

.beautiful {
    font-family: "Linux Biolinum",Helvetica,Arial,sans-serif;
}
.beautiful ol {
    font-size: 133%;
}
.beautiful ol ol {
    font-size: 90%;
}

.text-bold {
    font-weight: bolder;
}
.text-indent p {
    text-indent: 1em;
}

.navbar {
    margin-bottom: 0;
}
.niceborder {
    border-bottom: 5px #4eaee6 solid;
}
.navbar img {
    margin: 3px auto;
    height: 100px;
}
.navbar .clock {
    font-size: 70px;
}
.clock:not(.expired) .point, .clock.expired {
    transition: color text-shadow 1s;
    position: relative;
    animation: clockanim 1s ease infinite;
    -moz-animation: clockanim 1s ease infinite;
    -webkit-animation: clockanim 1s ease infinite;
}
.end {
    color: #e64143;
}
.point {
    text-shadow: 0 0 20px #4eaee6;
}
.end .point {
    text-shadow: 0 0 20px #e64143;
}
@-webkit-keyframes clockanim {
    0% { opacity: 1.0; }
    50% { opacity: 0; }
    100% { opacity: 1.0; };
}
@-moz-keyframes clockanim {
    0% { opacity: 1.0; }
    50% { opacity: 0; }
    100% { opacity: 1.0; };
}
keyframes clockanim {
    0% { opacity: 1.0; }
    50% { opacity: 0; }
    100% { opacity: 1.0; };
}

samp.cksum {
    overflow-x: hidden;
    text-overflow: ellipsis;
    max-width: 16vw;
    display: inline-block;
    vertical-align: middle;
    word-wrap: normal;
}

h1 small.authors {
    float: right;
    font-style: italic;
    font-size: 42%;
}
.lead small.authors {
    color: #7a8288;
    font-style: italic;
}

a.badge:hover {
    text-decoration: none;
}
.teamname {
    -webkit-filter: invert(100%);
    filter: invert(100%);
}
a:hover .teamname {
    text-shadow: 0px 0px 10px #888888;
}

.authors a {
    color: #3A3F44;
}

.heading {
    font-style: italic;
    margin-top: -7px;
    text-align: right;
}

#eventsList {
    overflow:hidden;
    max-height: 90vh;
}

.swap-animation .alert {
    margin-bottom: 0px;
}
.swap-animation {
    margin-bottom: 0.5rem;
    max-height: 30vh;
    transition: max-height 1.0s linear,opacity 1.0s linear,transform 0.5s linear;
}
.swap-animation.ng-enter {
    transform: translateY(-25vh);
    max-height: 0vh;
}
.swap-animation.ng-enter-active {
    opacity: 1;
    transform: translateY(0px);
    max-height: 30vh;
}
.swap-animation.ng-leave {
    opacity: 1;
    max-height: 30vh;
    transform: translateY(0px);
}
.swap-animation.ng-leave-active {
    opacity: 0;
    transform: translateX(120vw);
    max-height: 0vh;
}

.carousel-indicators {
    bottom: -10px;
}
.carousel-caption {
    padding: 0;
    position: static;
}
.carousel .table {
    margin-bottom: 0;
}
.carousel .table-sm td {
    padding: 2px;
}

.table th.frotated {
    border: 0;
}
.table th.rotated {
    height: 100px;
    width: 40px;
    min-width: 40px;
    max-width: 40px;
    position: relative;
    vertical-align: bottom;
    padding: 0;
    font-size: 12px;
    line-height: 0.9;
    border: 0;
}

th.rotated > div {
    position: relative;
    top: 0px;
    left: -50px;
    height: 100%;
    transform: skew(45deg,0deg);
    overflow: hidden;
    border: 1px solid #000;
}
th.rotated div span {
    transform: skew(-45deg,0deg) rotate(45deg);
    position: absolute;
    bottom: 40px;
    left: -35px;
    display: inline-block;
    width: 110px;
    text-align: left;
    text-overflow: ellipsis;
}

ul.list-inline li {
    display: inline;
}
ul.list-inline li:not(:last-child)::after {
    content: " ● "
}

.breadcrumb-item + .breadcrumb-item::before {
    content: ">"
}

.excard {
    transition: transform 250ms;
}
.excard:hover {
    transform: scale(1.07);
}

#tagsMenu + .dropdown-menu div {
    overflow-y: auto;
    max-height: calc(66vh - 100px);
}

blockquote {
    border-left: solid 2px;
    margin-left: 1em;
    padding-left: 1em;
}

.jumbotron img {
    margin-left: -1em;
    padding-left: 2em;
    padding-right: 2em;
}
img {
    max-width: 100%;
}

#eventsList .card {
    border-left-color: rgba(0,0,0,.125) !important;
    border-right-color: rgba(0,0,0,.125) !important;
    border-top-color: rgba(0,0,0,.125) !important;
}

.bg-public .card-body {
    padding:1rem;
    padding-bottom:0;
}

#themesSummary .card-body {
    padding:0;
}
#themesSummary h3 {
    background: rgba(64,64,64,0.66);
    border-radius: 2px;
    padding: 0.5rem;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-top: -40px;
}
#themesSummary p {
    font-size: 90%;
    margin: 0.2rem;
    text-indent: 0.6em;
}

.card-sm .card-header, .card-sm .card-footer {
    padding: 0.2rem 0.75rem;
}
.card-sm .card-body {
    padding: 0.4rem 0.75rem;
}
.card-sm .card-body.text-indent p {
    text-indent: 0.4rem;
}

.carousel-item, .carousel-caption {
    height: inherit;
}

.page-header {
    background-size: cover;
    background-position: center;
    margin-bottom: -15rem;
}
.page-header h1 {
    text-shadow: 0 0 15px rgba(255,255,255,0.95), 0 0 5px rgb(255,255,255)
}
.page-header h1, .page-header h1 a {
    color: black;
}
.page-header h1 a:hover {
    text-decoration: none;
}
.page-header h2 {
    font-size: 100%;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.9)
}
.page-header h2, .page-header h2 a {
    color: #4eaee6;
}
.page-header h1 {
    padding-top: 4rem;
    text-align: center;
}
.page-header h2 {
    padding-bottom: 14rem;
    text-align: center;
}

.page-header .headerfade {
    background: linear-gradient(transparent 0%, rgb(233,236,239) 100%);
    height: 3rem;
}

a.list-group-item:hover {
    text-decoration: none;
}
