html,
body {
    font-family: 'Lato', sans-serif;
    background-color: #f9f9f9;
    color: #333333 !important;
    height: 100%;
    transition: ease-in-out .3s;
    -webkit-transition: ease-in-out .3s;
}

body {
    padding-top: 74px;
}

a,
a:focus,
a:active {
    color: inherit
}

a:hover {
    color: #CA202B;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Source Sans Pro', sans-serif !important;
    font-weight: 900 !important;
}

textarea {
    resize: none;
}

.navbar-toggler:focus,
.navbar-toggler:hover {
    outline: 0;
}

.navbar-toggler,
.navbar-toggler::before,
.navbar-toggler::after {
    width: 1.8rem;
    height: 2px;
    background-color: #2a2a2a !important;
    border-top: 2px solid #fff !important;
    border-radius: 0;
}

.navbar-toggler::before,
.navbar-toggler::after {
    content: "";
    position: absolute;
    right: 1rem;
    -webkit-transition: all .2s;
    transition: all .2s;
}

.navbar-toggler::before {
    top: 1.5rem;
    height: 2px;
}

.navbar-toggler::after {
    top: 2.5rem;
    height: 2px;
}

.navbar:hover .navbar-toggler::before {
    top: 1.55rem;
}

.navbar:hover .navbar-toggler::after {
    top: 2.45rem;
}

.open.navbar-toggler {
    border-top-color: transparent !important
}

.open.navbar-toggler::before {
    top: 2rem;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.open.navbar-toggler::after {
    top: 2rem;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.navbar:hover .open.navbar-toggler::before {
    top: 2rem;
}

.navbar:hover .open.navbar-toggler::after {
    top: 2rem;
}

.dropdown-toggle::after {
    border: none;
    margin-left: 0;
    vertical-align: 0;
}

.dropdown-item {
    color: inherit
}

.dropdown-item.active,
.dropdown-item:active,
.dropdown-item:hover {
    color: #CA202B !important;
    background-color: #f9f9f9 !important;
    padding-left: 1.6rem;
    transition: ease-in-out .2s;
    -webkit-transition: ease-in-out .2s;
}

label {
    font-weight: 900;
    font-family: 'Source Sans Pro', sans-serif !important;
    font-size: 18px;
}

.custom-radio .custom-control-input:checked~.custom-control-label::before {
    background-color: #ff8800 !important;
}

.custom-radio .custom-control-input:checked~.custom-control-label::before:focus {
    box-shadow: none;
}

.custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    background-color: #ff8800 !important;
}

.custom-control-label {
    outline: 0;
}

@media only screen and (min-width: 992px) {
    .dropdown:hover .dropdown-menu {
        display: block;
    }
}

.table-danger,
.table-danger>td {
    background-color: #000033;
    color: #fff;
}

.table-striped.table-danger tbody tr:nth-of-type(odd) {
    background-color: #CA202B;
    color: #f9f9f9;
}

.table-striped.table-danger tbody tr a:hover {
    color: #ffffff;
}

.study .list-group-item-action,
.study h3 {
    color: #CA202B;
}

.list-group-item-action {
    transition: ease-in-out .2s;
    -webkit-transition: ease-in-out .2s;
}

.list-group-item-action:focus,
.list-group-item-action:hover {
    color: #ffffff;
    background-color: #CA202B;
}

.table th {
    border-top: 1px solid red;
}

.carousel-item {
    height: 100%;
    overflow: hidden;
    /* position: relative; */
}

.carousel-item img {
    display: block;
    max-width: 250%;
    max-height: 250%;
    margin: auto;
    position: absolute;
    top: -100%;
    right: -100%;
    bottom: -100%;
    left: -100%;
}

.card-header {
    height: 100%;
    overflow: hidden;
    position: relative;
}

.card-header img {
    display: block;
    max-width: 90%;
    max-height: 160%;
    margin: auto;
    position: absolute;
    top: -100%;
    right: -100%;
    bottom: -100%;
    left: -100%;
}

.user {
    height: 100%;
    overflow: hidden;
    position: relative;
}

.user img {
    display: block;
    max-width: 110%;
    max-height: 110%;
    margin: auto;
    position: absolute;
    top: -100%;
    right: -100%;
    bottom: -100%;
    left: -100%;
}

.book {
    height: 100%;
    overflow: hidden;
    position: relative;
}

.book img {
    display: block;
    min-width: 100%;
    max-height: 160%;
    margin: auto;
    position: absolute;
    top: -100%;
    right: -100%;
    bottom: -100%;
    left: -100%;
}

.study_img {
    height: 100%;
    overflow: hidden;
    position: relative;
}

.study_img img {
    display: block;
    min-height: 100%;
    max-width: 100%;
    margin: auto;
    position: absolute;
    top: -100%;
    right: -100%;
    bottom: -100%;
    left: -100%;
}

.card_img {
    height: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 10px;
}

.card_img img {
    display: block;
    max-width: 100%;
    margin: auto;
    position: absolute;
    top: -100%;
    right: -100%;
    bottom: -100%;
    left: -100%;
}

.bg-dark-50 {
    background-color: #000000;
}

.carousel-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0;
    left: 0;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: center;
}

.pop_up:hover {
    opacity: 1;
}

.pop_up {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transition: ease-in-out .3s;
    -webkit-transition: ease-in-out .3s;
}

.custom-select:focus,
.form-control:focus {
    border-color: #f80;
}

.countdown {
    width: 720px;
    margin: 0 auto;
}

.countdown .bloc-time {
    margin-right: 45px;
    text-align: center;
}

.countdown .bloc-time:last-child {
    margin-right: 0;
}

.countdown .count-title {
    display: block;
    margin-bottom: 15px;
    font: normal 0.94em "Lato";
    color: #1a1a1a;
    text-transform: uppercase;
}

.countdown .figure {
    position: relative;
    height: 50px;
    width: 50px;
    margin-right: 10px;
    background-color: #fff;
    border-radius: 8px;
    -moz-box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.2), inset 2px 4px 0 0 rgba(255, 255, 255, 0.08);
    -webkit-box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.2), inset 2px 4px 0 0 rgba(255, 255, 255, 0.08);
    box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.2), inset 2px 4px 0 0 rgba(255, 255, 255, 0.08);
}

.countdown .figure:last-child {
    margin-right: 0;
}

.countdown .figure>span {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    font: normal 2.5rem "Lato";
    font-weight: 700;
    color: #de4848;
}

.countdown .figure .top:after,
.countdown .figure .bottom-back:after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.countdown .figure .top {
    z-index: 3;
    background-color: #f7f7f7;
    transform-origin: 50% 100%;
    -webkit-transform-origin: 50% 100%;
    -moz-border-radius-topleft: 10px;
    -webkit-border-top-left-radius: 10px;
    border-top-left-radius: 10px;
    -moz-border-radius-topright: 10px;
    -webkit-border-top-right-radius: 10px;
    border-top-right-radius: 10px;
    -moz-transform: perspective(200px);
    -ms-transform: perspective(200px);
    -webkit-transform: perspective(200px);
    transform: perspective(200px);
}

.countdown .figure .bottom {
    z-index: 1;
}

.countdown .figure .bottom:before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background-color: rgba(0, 0, 0, 0.02);
}

.countdown .figure .bottom-back {
    z-index: 2;
    top: 0;
    height: 50%;
    overflow: hidden;
    background-color: #f7f7f7;
    -moz-border-radius-topleft: 10px;
    -webkit-border-top-left-radius: 10px;
    border-top-left-radius: 10px;
    -moz-border-radius-topright: 10px;
    -webkit-border-top-right-radius: 10px;
    border-top-right-radius: 10px;
}

.countdown .figure .bottom-back span {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.countdown .figure .top,
.countdown .figure .top-back {
    height: 50%;
    overflow: hidden;
    -moz-backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.countdown .figure .top-back {
    z-index: 4;
    bottom: 0;
    background-color: #fff;
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -moz-transform: perspective(200px) rotateX(180deg);
    -ms-transform: perspective(200px) rotateX(180deg);
    -webkit-transform: perspective(200px) rotateX(180deg);
    transform: perspective(200px) rotateX(180deg);
    -moz-border-radius-bottomleft: 10px;
    -webkit-border-bottom-left-radius: 10px;
    border-bottom-left-radius: 10px;
    -moz-border-radius-bottomright: 10px;
    -webkit-border-bottom-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.countdown .figure .top-back span {
    position: absolute;
    top: -100%;
    left: 0;
    right: 0;
    margin: auto;
}

.modal-body h5 {
    color: #CA202B;
}

.modal-body p {
    text-align: justify!important;
    font-weight: 600 !important;
    font-size: 16px !important;
}

.absolute_cover {
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    background-color: rgba(0, 0, 0, 0.9);
    opacity: 0;
    -webkit-animation: glow 2s ease 0s infinite alternate both;
    animation: glow 2s ease 0s infinite alternate both;
}

.absolute_cover h3 {
    color: #ff8800
}

.absolute_cover p {
    color: #ffffff
}

.absolute_cover:hover {
    opacity: 1;
}

.navStep .nav-pills .nav-link.active {
    background-color: #f80 !important;
    color: #1a1a1a !important
}

@keyframes glow {
    from {
        color: #f7f7f7;
    }
    to {
        color: #CA202B;
    }
}

@-webkit-keyframes glow {
    from {
        color: #f7f7f7;
    }
    to {
        color: #CA202B;
    }
}


/* Helper */

.lp0 {
    letter-spacing: 0px !important;
}

.lp1 {
    letter-spacing: 1px !important;
}

.lp2 {
    letter-spacing: 2px !important;
}

.lp3 {
    letter-spacing: 3px !important;
}

.fs12 {
    font-size: 12px !important;
}

.fs14 {
    font-size: 14px !important;
}

.fs16 {
    font-size: 16px !important;
}

.fs18 {
    font-size: 18px !important;
}

.fs20 {
    font-size: 20px !important;
}

.fs22 {
    font-size: 22px !important;
}

.fs24 {
    font-size: 24px !important;
}

.fs28 {
    font-size: 28px !important;
}

.fs32 {
    font-size: 32px !important;
}

.fs36 {
    font-size: 36px !important;
}

.fs40 {
    font-size: 40px !important;
}

.fs44 {
    font-size: 44px !important;
}

.fs50 {
    font-size: 50px !important;
}

.fw1 {
    font-weight: 300 !important;
}

.fw2 {
    font-weight: normal !important;
}

.fw3 {
    font-weight: 600 !important;
}

.fw4 {
    font-weight: bold !important;
}

.fw5 {
    font-weight: 800 !important;
}

.lh1 {
    line-height: 1 !important;
}

.lh2 {
    line-height: .9 !important;
}

.lh3 {
    line-height: .8 !important
}

.lh5 {
    line-height: .5 !important
}

.h20 {
    height: 20px !important;
}

.h30 {
    height: 30px !important;
}

.h40 {
    height: 40px !important;
}

.h45 {
    height: 45px !important;
}

.h50 {
    height: 50px !important;
}

.x15 {
    width: 15px !important;
}

.x20 {
    width: 20px !important;
}

.x30 {
    width: 30px !important;
}

.x40 {
    width: 40px !important;
}

.x50 {
    width: 50px !important;
}

.h50 {
    height: 50px !important;
}

.h100 {
    height: 100px !important;
}

.h150 {
    height: 150px !important;
}

.h200 {
    height: 200px !important;
}

.h250 {
    height: 250px !important;
}

.h300 {
    height: 300px !important;
}

.h400 {
    height: 400px !important;
}

.h500 {
    height: 500px !important;
}

.vh1 {
    max-height: 90vh;
}

.vh2 {
    max-height: 80vh;
}

.vh3 {
    max-height: 75vh;
}

.w100 {
    width: 100px !important;
}

.w150 {
    width: 150px !important;
}

.w200 {
    width: 200px !important;
}

.w250 {
    width: 250px !important;
}

.w300 {
    width: 300px !important;
}

.w400 {
    width: 400px !important;
}

.w500 {
    width: 500px !important;
}

.w10 {
    width: 10vw !important;
}

.w20 {
    width: 20vw !important;
}

.w30 {
    width: 30vw !important;
}

.w40 {
    width: 40vw !important;
}

.w50 {
    width: 50vw !important;
}

.fp {
    font-family: 'Lato', sans-serif !important;
}

.fs {
    font-family: 'Source Sans Pro', sans-serif !important;
}

.fc1 {
    color: #f80 !important;
}

.fc2 {
    color: #666666 !important
}

.fc3 {
    color: #888888 !important
}

.fc4 {
    color: #aaaaaa !important
}

.fc5 {
    color: #dddddd !important
}

.bg-dark {
    background-color: #000000 !important;
}

.bg-dark-50 {
    background-color: #000000 !important;
}

.mm15 {
    margin-top: -150px;
}

.mm20 {
    margin-top: -200px;
}

.mm25 {
    margin-top: -250px;
}

.mm30 {
    margin-top: -300px;
}

.mm35 {
    margin-top: -350px;
}

@media (max-width:567px) {
    body {
        padding-top: 0
    }
    .fixed-top {
        position: relative;
    }
    .display-3 {
        font-size: 3.5rem
    }
}

@media (min-width: 992px) {
    .modal-lg {
        max-width: 900px;
    }
}