:root
{
    --primary-color: #d1741c;
}

.main-navbar__container
{
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 2px;
    display: flex;
    width: 100%;
    max-width: 100%;
}

.main-site-title
{
    color: #212529;
    font-size: 57px;
    font-weight: bold;
    position: relative; 
    background-color: #FFF; 
    display: inline-block; 
    padding-left: 5px; 
    padding-right: 5px;
    margin-top: 150px;
}

.banner-align-verticaly
{
    display: flex; 
    align-items: center;
}

.site-title
{
    color: #FFF;
    font-size: 57px;
}

.main-site-subtitle
{
    color: #212529;
    font-size: 32px;
    font-weight: bold;
}

.main-menu-bar .nav-item > .nav-link.active
{
    background-color: #9158a8;
    color: #FFF;
}

footer.footer
{
    position: absolute;
    bottom: 0;
    width: 100%;
    min-height: 120px;
    background-color: #282730 !important;
    color: #FFF;
}

.footer-underbar
{
    background-color: #212027;
}

footer.footer a
{
    color: #FFF;
}

footer.footer li > a
{
    line-height: 30px;
}

footer.footer a:before
{
    content: "➤";
    margin-right: 10px;
}

html 
{
    position: relative;
    min-height: 100%;
}

body
{
    margin-bottom: 165px;
    padding-top: 73px;
}

.main-menu-bar .nav-item > .nav-link.active
{
    background-color: transparent;
    color: #555;
    position: relative;
    background-color: var(--primary-color);
    color: #FFF;
    border-radius: 5px;
}

.articles-listing__title
{
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 40px;
    border-bottom: 5px solid #9158a8;
    display: inline-block;
}

.card-title-big-text
{
    font-size: 25px;
    min-height: 60px;
}

.banner-responsive
{
    background: url(/images/front/klyde_theme_developpeur_fullstack.jpg) no-repeat;
    min-height: 900px;
    width: 100%;
    background-position: center top;
    background-size: cover;
    position: relative;
}

#services svg
{
    fill: #FFF;
    position: absolute;
}

.banner-responsive svg{
    fill: #FFF;
    position: absolute;
    bottom: 0px;
}

.secondary-banner-responsive
{
    background: url(/images/front/nuargos-banner-page.jpg) no-repeat;
    min-height: 350px;
    width: 100%;
    background-position: center;
    background-size: cover;
}

.page-header-banner
{
    background: url(/images/front/banner-site.png) no-repeat;
    min-height: 700px; 
    width: 100%;
    background-position: center;
    background-size: cover;
}

.site-logo
{
    height: 60px;
}


.service-icon-cell
{
    border-right: 3px solid var(--primary-color); 
    position: relative; 
    display: flex; 
    align-items: center; 
    justify-content: center;
}

.service-icon-cell__bullet
{
    /* background-color: #fff;  */
    background-color: var(--primary-color); 
    width: 21px; 
    height: 21px; 
    border-radius: 50%; 
    position: absolute; 
    right: -12px;
}

.service-icon-cell__title
{
    margin-top: 45px; 
    margin-bottom: 45px;
}

.service-content-cell
{
    display: flex; 
    align-items: center;
}

.service-content-cell--padding-top
{
    padding-top: 20px;
}

.service-content-container
{
    padding-left: 20px;
    font-size: 1.1rem;
}

.article-header__banner
{
    width: 100%; 
    min-height: 250px; 
    background-position: center; 
    background-repeat: no-repeat; 
    background-size: cover;
}

.card-article-side-list-item
{
    border: none;
}

.card-article-side-list-item .card-body
{
    padding-left: 0px;
    padding-right: 0px;
}

.article__main-title
{
    display: inline-block;
    padding-bottom: 10px !important;
    position: relative;
}

.article__main-title::after
{
    background-color: var(--primary-color);
    height: 5px;
    width: 100%;
    content: " ";
    display: inline-block;
    position: absolute;
    left: 0px;
    bottom: 0px;
    border-radius: 5px;
}

.contact-content
{
    font-size: 1.1rem;
    line-height: 1.6rem;
}

.contact-icon--big
{
    font-size: 60px;
    color: #f1c9a3;
}

.background-white
{
    background-color: #FFF;
}

.card-title a
{
    color: #212529;
    text-decoration: none;
}

.footer a
{
    color: #212529;
    text-decoration: none;
}

.footer__icon
{
    font-size: 20px;
}

.btn-primary
{
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus
{
    background-color: #b4651a;
    border-color: #b4651a;
}

.btn-primary:focus, 
.btn-primary:active:focus
{
    box-shadow: 0 0 0 .25rem #b4651a80;
}

.error404-content
{
    min-height: 400px;
    display: flex;
    align-items: center;
}

.login-background
{
    background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(22,27,88,1) 0%, rgba(44,45,78,1) 0%, rgba(3,9,41,1) 100%, rgba(236,148,0,1) 100%); 
    height: 100%; 
    width: 100%; 
    position: absolute; 
}

.login-background:before
{
    content: ' ';
    display: "block";
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

.front-pagination ul
{
    justify-content: center !important;
}

.front-pagination ul .page-item:not(.disabled) .page-link
{
    color: #9158a8;
}

.front-pagination ul .page-item.active .page-link
{
    background-color: #9158a8;
    border-color: #9158a8;
    color: #FFF;
}

form[name=contact] span.form-error-icon
{
    color: #FFF;
    background-color: var(--primary-color);
}

#contact_message
{
    height: 200px;
}

.top-nav-bar
{
    background-color: #FFF;
    box-shadow: 0 -5px 10px #000;
}

.services-container
{
    color: #FFF;
}

.homepage__h2
{
    font-size: 2.5rem;
}

.xp-logo
{
    font-size: 70px;
    color: #CCC;
    transition-property: color, fill;
    transition-duration: 1s;
}

.xp-description-cell
{
    font-size: 1.1em;
}

.xp-logo--big
{
    font-size: 140px;
}

.xp-logo.xp-vue-logo
{
    color: #41b883;
}

.xp-logo.xp-html-logo
{
    color: #dd4b25;

}
.xp-logo.xp-css-logo
{
    color: #254bdd;
}

.xp-logo.xp-php-logo
{
    color: #7377ad;
}

.xp-logo.xp-symfony-logo
{
    color: #000;
}

.xp-logo.xp-javascript-logo
{
    color: #efd81d;
}

.xp-logo.xp-react-logo
{
    color: #5ed3f3;
}

.xp-logo.xp-database-logo
{
    color: #569dd2;
}

.site-subtitle
{
    background-color: var(--primary-color); 
    color: #212529; 
    display: inline-block; 
    padding-left: 5px; 
    padding-right: 5px; 
    font-size: 40px; 
    font-weight: bold; 
    position: absolute; 
    top: -35px; 
    right: -90px; 
    transform: rotate(25deg);
}

.site-pretitle
{
    display: inline-block;
    color: #FFF;
    position: absolute;
    top: -90px;
    font-size: 70px;
    text-shadow: 0px 0px 3px #000;
}

.login-card-body
{
    background-color: #FFF;
    border-radius: 10px;
}

.services-page .services-logo
{
    
    color: var(--primary-color);
}

.services-logo
{
    font-size: 70px;
    display: block;
    margin-bottom: 20px;
}

.services-tile
{
    background-color: var(--primary-color);
    transition-property: background-color;
    transition-duration: 0.5s;
    padding: 10px;
    border-radius: 15px;
}

.services-tile:hover
{
    background-color: #c26b1a;
}

.klydecoding-banner
{
    background: url('/images/front/klydecoding-site.png') center no-repeat; 
    width: 100%; 
    background-size: cover;
}

.klydecoding-banner a
{
    color: #FFF;
    text-decoration: underline;
}

.section--white
{
    background-color: #fff;
}

.section--orange
{
    background-color: var(--primary-color);
}

.section--dark-grey
{
    background-color: #212027;
}

.klyde-picture
{
    background: url('/images/front/portrait-klyde.png') no-repeat; 
    width: 250px; 
    height: 250px; 
    background-size: cover; 
    border-radius: 50%; 
    display: inline-block;
}

.contact-us-section-title.homepage__h2
{
    font-size: 2.3rem;
    margin-bottom: 0px !important;
    color: #FFF;
}

.xp-description__bullet
{
    color: var(--primary-color); 
    font-size: 1.2em;
}

.xp-icon-cell
{
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-us-button
{
    font-size: 30px;
    padding: 20px;
}

.contact-us-button em
{
    transform: none;
    transition-property: transform;
    transition-duration: 1s;
}

.contact-us-button em.contact-us__icon--rotate
{
    transform: rotate(360deg);
}

.contact-us-button:hover em
{
    transform: rotate(720deg);
}

.contact-us-section
{
    background-image: url(/images/front/code-sample.png); 
    background-attachment: fixed; 
    background-position: center; 
    background-repeat: no-repeat; 
    background-size: cover;
    min-height: 300px;
}

.contact-us-section__background-layer
{
    background-color: rgb(0, 0, 0, .8);
    min-height: 269px;
    display: flex;
    align-items: center;
}

.cookie-message-bar
{
    background-color: #161616; 
    padding:5px; 
    position: fixed; 
    bottom: 0px; 
    border-top-right-radius: 5px;
    font-size: 15px;
    z-index: 9998;
}

.cookie-message-bar .btn
{
    font-size: 15px;
}

.main-site-title:hover .site-subtitle
{
    animation: 0.5s linear normal anim-site-subtitle;
}


.article-content__link
{
    color: var(--primary-color);
}

.article-content__link:focus,
.article-content__link:hover
{
    background-color: var(--primary-color);
    color: #FFF;
    text-decoration: none;
}

.flex-vertical--center
{
    display: flex;
    align-items: center;
}

@keyframes anim-site-subtitle
{
    0%
    {
        transform: rotate(25deg);
    }
    
    25%
    {
        transform: rotate(45deg);
    }
    
    50%
    {
        transform: rotate(25deg);
    }

    75%
    {
        transform: rotate(45deg);
    }

    100%
    {
        transform: rotate(25deg);
    }
}


@media screen and (max-width: 1399px)
{
    body
    {
        margin-bottom: 164px;
    }
}

@media screen and (max-width: 813px)
{
    body
    {
        margin-bottom: 168px;
    }
}

@media screen and (max-width: 767px)
{
    body
    {
        margin-bottom: 304px;
    }

    .footer-description
    {
        margin-bottom: 15px;
    }

    .contact-us-section-title
    {
        padding-bottom: 25px;
    }
    
    .service-icon-cell__bullet
    {
        display: none;
    }
    
    .service-icon-cell
    {
        border: 0px;
    }

    .service-icon-cell__title
    {
        color: var(--primary-color);
    }

    .xp-container > .row:nth-child(odd) 
    {
        display: flex;
    }

    .xp-container > .row:nth-child(odd) .xp-description-cell
    {
        order: 2;
    }
    
    .xp-container > .row:nth-child(odd) .xp-icon-cell
    {
        order: 1;
    }
}

@media screen and (max-width: 405px)
{
    body
    {
        margin-bottom: 328px;
    }
}

@media screen and (max-width: 1200px)
{
    .site-logo
    {
        height: 30px;
    }
    
    body
    {
        padding-top: 46px;
    }
}

@media screen and (max-width: 991px)
{
    .site-logo
    {
        margin-top: 4px;
        margin-bottom: 4px;
        height: 30px;
    }

    .container
    {
        max-width: 100%;
    }

    .main-menu-bar .nav-item > .nav-link.active
    {
        background-color: var(--primary-color);
        color: #FFF;
        border-radius: 5px;
    }

    .main-menu-bar .nav-item > .nav-link.active::after
    {
        display: none;
    }
}

@media screen and (max-width: 479px)
{
    .site-pretitle
    {
        font-size: 60px;
    }
}

@media screen and (max-width: 414px)
{
    .site-pretitle
    {
        font-size: 50px;
    }
}

@media screen and (max-width: 1027px)
{
    .site-subtitle
    {
        transform: rotate(0);
        right: 0px;
        top: -48px;
    }
}

@media screen and (max-width: 690px)
{
    .cookie-message-bar
    {
        border-top-right-radius: 0px;
    }

    .site-pretitle
    {
        top: -130px;
    }
}

@media screen and (min-width: 768px) and (max-width: 783px)
{
    .klyde-picture
    {
        width: 240px; 
        height: 240px; 
    }
}

@media screen and (max-width: 975px)
{
    .banner-responsive
    {
        background: url(/images/front/klyde_theme_developpeur_fullstack2.jpg) no-repeat;
        background-position: center top;
    }
}

.label--x-1
{
    font-size: 1em;
}

.services__labels .bg-primary
{
    background-color: #5096b7 !important;
}

.services__labels .bg-warning
{
    background-color: #e38831 !important;
}