/* Topbar */

.navbar-brand,
.nav-link {
    color: white;
}

.navbar-brand:hover,
.nav-link:hover {
    color: #ECECEC;
}

.navbar-nav {
    display: flex;
    flex-direction: row;
}

.container-navbar {
    font-family: var(--primary-font-family);
    font-size: var(--primary-font-family);
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-around;
    padding-left: 1em;
    padding-right: 0.5em;
}

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

.remove-padding {
    padding: 0 !important;
}

.custom-logo-link img {
    width: 200px;
    height: auto;
    object-fit: cover;
    padding: 0;
}

#navbar-right {
    display: flex;
    justify-content: center;
    align-items: center;
}

#navbar {
    overflow: hidden;
    transition: 0.4s;
    padding: 2em;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 99;
}

#navbar a {
    float: left;
    color: white;
    text-align: center;
    padding: 10px;
    text-decoration: none;
    font-size: 20px;
    line-height: 25px;
    border-radius: 4px;
}

#navbar #logo .custom-logo-link {
    font-size: 35px;
    font-weight: bold;
    transition: 0.4s;
}

#navbar a:hover {
    background-color: var(--primary-color);
}

#navbar-right {
    float: right;
}

/* Carousel */

.carousel {
    position: absolute;
    width: 100vw;
    height: 82vh;
    left: 0;
    top: 0;
}

.slider-image {
    height: 85vh;
    clip-path: polygon(0 0, 50% 0, 100% 0, 100% 90%, 50% 97%, 0 90%);
}

.slider-image-background {
    position: absolute;
    top: 5px;
    height: 82vh;
    background-color: var(--accent-color);
    clip-path: polygon(0 0, 50% 0, 100% 0, 100% 90%, 50% 97%, 0 90%);
}

.carousel-effect {
    transition: transform 0.3s ease-in-out;
}

.carousel-item:hover {
    transform: scale(1.3);
}

.carousel-caption {
    bottom: 30%;
}

.h1-slider {
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-size: 5em;
    text-align: left;
    text-align: center;
}

/* Other */
.container-custom {
    padding-top: 85vh;
    width: 100vw;
    overflow: auto;
    background-color: var(--primary-color);
}

/* front page article */

.frontpage-post-right {
    background-color: var(--secondary-color);
    color: var(--secondary-text-color);
    height: 80vh;
    width: 100vw;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.frontpage-post-left {
    background-color: var(--secondary-color);
    color: var(--secondary-text-color);
    height: 80vh;
    width: 100vw;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.frontpage-post-text-right {
    font-family: var(--secondary-font-family);
    font-size: var(--secondary-font-family);
    display: flex;
    flex-direction: column;
    width: 60%;
    padding-left: 5em;
}

.frontpage-post-text-left {
    font-family: var(--secondary-font-family);
    font-size: var(--secondary-font-family);
    display: flex;
    flex-direction: column;
    width: 60%;
    padding-right: 5em;
}

.frontpage-post-title {
    font-family: var(--primary-font-family);
    font-size: var(--primary-font-family);
    text-align: center;
    padding-bottom: 3em;
}

.overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Adjust the height of the overlay bar as needed */
    background-color: var(--primary-color);
    /* Adjust the background color and transparency */
    color: #fff;
    /* Text color on the overlay */
    text-align: center;
    /* Center the text horizontally */
    line-height: 30px;
    /* Center the text vertically within the bar */
    font-size: 16px;
    /* Adjust the font size as needed */
    clip-path: polygon(20% 0, 22% 0, 2% 100%, 0% 100%);
}

.overlay2 {
    position: absolute;
    bottom: 0;
    left: 20px;
    width: 100%;
    height: 100%;
    /* Adjust the height of the overlay bar as needed */
    background-color: var(--primary-color);
    /* Adjust the background color and transparency */
    color: #fff;
    /* Text color on the overlay */
    text-align: center;
    /* Center the text horizontally */
    line-height: 30px;
    /* Center the text vertically within the bar */
    font-size: 16px;
    /* Adjust the font size as needed */
    clip-path: polygon(20% 0, 30% 0, 10% 100%, 0% 100%);
}

.overlay3 {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    /* Adjust the height of the overlay bar as needed */
    background-color: var(--primary-color);
    /* Adjust the background color and transparency */
    color: #fff;
    /* Text color on the overlay */
    text-align: center;
    /* Center the text horizontally */
    line-height: 30px;
    /* Center the text vertically within the bar */
    font-size: 16px;
    /* Adjust the font size as needed */
    clip-path: polygon(97% 100%, 94% 100%, 74% 0, 77% 0);
}

.overlay4 {
    position: absolute;
    bottom: 0;
    right: 15px;
    width: 100%;
    height: 100%;
    /* Adjust the height of the overlay bar as needed */
    background-color: var(--primary-color);
    /* Adjust the background color and transparency */
    color: #fff;
    /* Text color on the overlay */
    text-align: center;
    /* Center the text horizontally */
    line-height: 30px;
    /* Center the text vertically within the bar */
    font-size: 16px;
    /* Adjust the font size as needed */
    clip-path: polygon(95% 100%, 83% 100%, 63% 0, 75% 0);
}

.overlay5 {
    position: absolute;
    bottom: 0;
    left: 10px;
    width: 100%;
    height: 100%;
    /* Adjust the height of the overlay bar as needed */
    background-color: var(--accent-color);
    /* Adjust the background color and transparency */
    color: #fff;
    /* Text color on the overlay */
    text-align: center;
    /* Center the text horizontally */
    line-height: 30px;
    /* Center the text vertically within the bar */
    font-size: 16px;
    /* Adjust the font size as needed */
    clip-path: polygon(20% 0, 30% 0, 10% 100%, 0% 100%);
}

.overlay6 {
    position: absolute;
    bottom: 0;
    right: 6px;
    width: 100%;
    height: 100%;
    /* Adjust the height of the overlay bar as needed */
    background-color: var(--accent-color);
    /* Adjust the background color and transparency */
    color: #fff;
    /* Text color on the overlay */
    text-align: center;
    /* Center the text horizontally */
    line-height: 30px;
    /* Center the text vertically within the bar */
    font-size: 16px;
    /* Adjust the font size as needed */
    clip-path: polygon(95% 100%, 83% 100%, 63% 0, 75% 0);
}

.frontpage-post-thumbnail-right {
    position: relative;
    overflow: hidden;
    width: 40vw;
    border-bottom: 1px solid var(--primary-color);
    border-right: 1px solid var(--primary-color);
}

.frontpage-post-thumbnail-right img {
    width: 40vw;
    height: 80vh;
    object-fit: cover;
    clip-path: polygon(35% 0%, 100% 0%, 100% 100%, 15% 100%);
}

.frontpage-post-thumbnail-right:hover {
    cursor: pointer;
}

.frontpage-post-thumbnail-left {
    position: relative;
    margin-right: 1em;
    overflow: hidden;
    width: 40vw;
    border-left: 1px solid var(--primary-color);
}

.frontpage-post-thumbnail-left img {
    width: 40vw;
    height: 80vh;
    object-fit: cover;
    clip-path: polygon(0% 0%, 58% 0%, 78% 100%, 0% 100%);
}

.frontpage-post-thumbnail-left:hover {
    cursor: pointer;
}

.frontpage-post-info-right {
    color: var(--accent-color);
    font-family: var(--secondary-font-family);
    font-size: var(--secondary-font-size);
    font-weight: bold;
}

.frontpage-post-info-left {
    color: var(--accent-color);
    font-family: var(--secondary-font-family);
    font-size: var(--secondary-font-size);
    font-weight: bold;
}

.carousel {
    padding-bottom: 4em;
    background-color: var(--primary-color);
}

.carousel-indicators {
    margin-bottom: 5rem;
}

.carousel-item img {
    width: 100vw;
    height: 82vh;
    object-fit: cover;
}

.carousel-inner {
    background-color: var(--primary-color);
}

.frontpage-post-first-article {
    width: 100%;
    background-color: var(--primary-color);
    color: var(--primary-text-color);
    padding: 5em 15em;
    border-bottom: 4px solid var(--accent-color);
}

.frontpage-post-first-article-title {
    font-family: var(--primary-font-family);
    font-size: var(--primary-font-family);
    text-align: center;
}

.frontpage-post-first-article-text {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: white;
}

.frontpage-post-first-article-content {
    font-family: var(--secondary-font-family);
    font-size: var(--secondary-font-family);
    width: 60vw;
    margin: 2em;
    color: white;
}

.frontpage-post-first-article-link {
    font-family: var(--secondary-font-family);
    font-size: var(--secondary-font-family);
    width: 100%;
    display: flex;
    justify-content: flex-end;
    padding-top: 5vh;
    padding-right: 2vw;
}

.page-container {
    width: 100vw;
    height: 93vh;
    padding-top: 10vh;
    padding-left: 15vw;
    padding-right: 15vw;
    overflow-y: auto;
}

/* CSS for Template performance */

.page-performance {
    width: 100vw;
    height: 93vh;
    top: 10vh;
    position: absolute;
}

.page-performance-banner {
    position: relative;
    width: 100vw;
    height: 33vh;
    display: flex;
    justify-content: center;
    align-items: start;
    background-color: var(--primary-color);
}

.page-performance-banner-content {
    position: relative;
    width: 100vw;
    height: 30vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page-performance-banner-title {
    position: absolute;
    width: 100vw;
    text-align: center;
    z-index: 2;
    color: var(--primary-text-color);
    max-height: 30vw;
    padding-top: 10vh;
    ;
    height: auto;
}

.page-performance-banner-image {
    display: block;
    object-fit: cover;
    max-height: 30vh;
    width: 100vw;
    height: auto;
    filter: brightness(0.3);
}

.page-performance-posts {
    display: flex;
    flex-direction: column-reverse;
}

.page-performance-post-left {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.page-performance-post-right {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
}

.page-performance-post-left img {
    width: 50vw;
    height: 80vh;
    object-fit: cover;
}

.page-performance-post-right img {
    width: 50vw;
    height: 80vh;
    object-fit: cover;
}

.page-performance-post-content {
    display: flex;
    padding: 4em;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: left;
    align-items: center;
    text-align: left;
    width: 50vw;
}

.page-performance-tile-content-title {
    display: flex;
    justify-content: left;
    align-items: left;
    text-align: left;
}

.page-performance-post-content h2 {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.page-performance-post-content p {
    width: 100%;
}


.page-performance-post-title-bar {
    width: 5vw;
    height: 0;
    position: relative;
    margin-top: 0.3em;
    border-bottom: 4px solid var(--accent-color);
}



/* CSS for Template about */

.page-about {
    position: relative;
    width: 100vw;
    height: 93vh;
    padding-top: 8vh;
}

.page-about-tile-list {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-evenly;
    align-items: center;
    width: 100vw;
    height: 80vh;
}

.page-about-tile-content-title {
    text-align: left;
}

.page-about-tile {
    position: relative;
    width: 25vw;
    height: 80vh;
}

.page-about-tile:hover {
    cursor: pointer;
}

.page-about-tile-content {
    position: absolute;
    width: 25vw;
    height: 80vh;
    bottom: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 2;
    color: var(--primary-text-color);
    text-align: center;
}

.page-about-tile-content a {
    color: var(--primary-text-color);
}

.page-about-tile img {
    position: relative;
    width: 25vw;
    height: 80vh;
    object-fit: cover;
    filter: brightness(0.5);
}

/* CSS for Template whoarewe */

.page-whoarewe {
    width: 100vw;
    height: 93vh;
    top: 0;
    position: absolute;
}

.page-whoarewe-banner {
    position: relative;
    width: 100vw;
    height: 30vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page-whoarewe-banner-title {
    position: absolute;
    width: 100vw;
    text-align: center;
    z-index: 2;
    color: var(--primary-text-color);
    max-height: 30vh;
    height: auto;
    padding-top: 10vh;
    ;
}

.page-whoarewe-banner-image {
    display: block;
    object-fit: cover;
    max-height: 30vh;
    width: 100vw;
    height: auto;
    filter: brightness(0.3);
}

.page-whoarewe-posts {
    display: flex;
    flex-direction: column-reverse;
}

.page-whoarewe-post-left {
    display: flex;
    flex-direction: row;
}

.page-whoarewe-post-right {
    display: flex;
    flex-direction: row-reverse;
}

.page-whoarewe-post-left img {
    width: 50vw;
    height: 80vh;
    object-fit: cover;
}

.page-whoarewe-post-right img {
    width: 50vw;
    height: 80vh;
    object-fit: cover;
}

.page-whoarewe-post-content {
    display: flex;
    padding: 0 5em;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    width: 50vw;
    text-align: left;
}

.page-whoarewe-post-content h2 {
    width: 100%;
}

.page-whoarewe-post-content p {
    width: 100%;
}


.page-whoarewe-post-title-bar {
    width: 5vw;
    height: 0;
    position: relative;
    margin-top: 0.3em;
    border-bottom: 4px solid var(--accent-color);
}

/* CSS Template article */

.post-title-bar {
    width: 5vw;
    margin-top: 0.5em;
    height: 0;
    position: relative;
    border-bottom: 2px solid var(--accent-color);
}

.post-title {
    font-family: var(--primary-font-family);
    font-size: var(--primary-font-size);
    color: var(--primary-text-color);
    text-align: center;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

.post-title h2 {
    padding: 0;
}

.entry-header {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 18vh;
    width: 100vw;
    margin-left: -15vw;
    border-bottom: 3px solid var(--accent-color);
}

.entry-content {
    font-family: var(--secondary-font-family);
    font-size: var(--secondary-font-size);
    color: var(--primary-text-color);
}

.page-container-article {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 93vh;
    padding-top: 10vh;
    padding-left: 15vw;
    padding-right: 15vw;
    overflow-y: auto;
    background-color: var(--primary-color);
}

/* CSS Footer */

.footer-frontpage {
    height: 10vh;
    background-color: var(--primary-color);
    color: var(--primary-text-color);
    z-index: 1;
    position: relative;
}

.footer {
    width: 100vw;
    bottom: 0;
    height: 7vh;
    background-color: var(--primary-color);
    color: var(--primary-text-color);
    z-index: 1;
    position: fixed;
}

/* CSS for contact form */

.wpcf7-form input[type="submit"] {
    background-color: var(--primary-color);
    border-width: 0;
    color: white;
    cursor: pointer;
    display: inline-block;
    font-family: var(--secondary-font-family);
    font-size: var(--secondary-font-family);
    font-weight: 500;
    line-height: 20px;
    list-style: none;
    width: 100%;
    padding: 10px 12px;
    text-align: center;
    transition: all 200ms;
    vertical-align: baseline;
    white-space: nowrap;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    align-items: center;
}

.wpcf7-form .init {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.wpcf7-form p {
    align-items: center;
}

.wpcf7-form label {
    display: block;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
    width: 100%;
}

body::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
body {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
    background-color: var(--secondary-color);
}

.reversed-article-section {
    background-color: var(--secondary-color);
    color: var(--secondary-text-color);
    width: 100vw;
    margin-left: -15vw;
    margin-bottom: 0;
    border: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2vh 15vw;
}

.puce-marge {
    margin-left: 1.5vw;
}

.accent {
    color: var(--accent-color);
}

.accent-separator {
    position: relative;
    width: 100vw;
    margin-left: -15vw;
    max-height: 25vh;
    border-bottom: 2px solid var(--accent-color);
    margin-bottom: 3vh;
}

.accent-title-underline-center {
    width: 10%;
    margin-left: 45%;
    height: 0.1vh;
    margin-top: -1.5vh;
    border-bottom: 2px solid var(--accent-color);
}

.accent-title-underline-left {
    width: 10%;
    height: 0.1vh;
    margin-top: -1.5vh;
    border-bottom: 2px solid var(--accent-color);
}

.image-custom-left {
    object-fit: cover;
    width: auto;
    height: 55vh;
}

.image-custom-left img {
    object-fit: cover;
    width: auto;
    height: 55vh;
}

.space-separator {
    height: 10vh;
}

.space-separator-medium {
    height: 5vh;
}

.space-separator-small {
    height: 2vh;
}

.photo-full-size {
    object-fit: cover;
    width: 100vw;
    margin-left: -15vw;
    max-height: 40vh;
}

.photo-full-size img {
    width: 100vw;
    height: auto;
    object-fit: cover;
    max-height: 40vh;
}

figure {
    margin: 0;
}

body h1,
h2 {
    font-size: var(--primary-font-size);
    font-family: var(--primary-font-family);
    margin-bottom: 0;
    line-height: 1.4;
    padding: 2vh 0;
}

h3,
h4,
h5,
h6 {
    font-family: var(--primary-font-family);
    margin-bottom: 0;
    line-height: 1.4;
    padding: 2vh 0;
}


body p,
span {
    font-size: var(--secondary-font-size);
    font-family: var(--secondary-font-family);
}

.footer-text {
    padding-top: 1.2em;
}

.social-icons {
    list-style: none;
    text-align: right;
    margin-top: 0.8em;
}

.social-icons li {
    display: inline-block;
    margin-left: 10px;
}

.social-icons a {
    color: #fff;
    text-decoration: none;
    font-size: 24px;
}

.social-icons a:hover {
    color: #ff5722;
    /* Change the color on hover as desired */
}

@media (min-width: 992px) {
    .container-custom {
        width: 100vw;
    }

    .puce-marge {
        margin-left: 2.2vw;
    }
}

@media screen and (max-width: 991px) {

    #navbar {
        padding: 0.3em;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        height: 8vh;
        font-size: 25px;
        background-color: var(--primary-color);

    }

    .container-custom {
        padding-top: 37vh;
    }

    .carousel {
        height: 40vh;
    }

    .slider-image {
        height: 43vh;
    }

    .slider-image-background {
        height: 40vh;
    }

    .carousel-item img {
        height: 40vh;
    }

    .puce-marge {
        margin-left: 3.5vw;
    }

    #navbar a {
        float: none;
        display: block;
        text-align: left;
    }

    #navbar-right {
        float: none;
        padding-top: 0.3em;
    }

    .navbar-nav {
        display: flex;
        flex-direction: column;
        position: fixed;
        background-color: var(--primary-color);
        top: 7vh;
        right: 0;
        border-radius: 5px;
    }

    .container-navbar {
        padding-left: 0;
    }

    .navbar-toggler {
        margin-top: 0.3em;
    }

    .frontpage-post-first-article {
        top: 15vh;
        padding: 0;
    }

    .frontpage-post-right {
        height: auto;
        flex-direction: column;
    }

    .frontpage-post-left {
        height: auto;
        flex-direction: column-reverse;
    }

    .overlay {
        display: none;
    }

    .overlay2 {
        display: none;
    }

    .overlay3 {
        display: none;
    }

    .overlay4 {
        display: none;
    }

    .overlay5 {
        display: none;
    }

    .overlay6 {
        display: none;
    }

    .frontpage-post-thumbnail-right {
        width: 100vw;
    }

    .frontpage-post-thumbnail-right img {
        width: 100vw;
        height: auto;
        clip-path: none;
    }

    .frontpage-post-thumbnail-left {
        width: 100vw;
        margin-right: 0;
    }

    .frontpage-post-thumbnail-left img {
        width: 100vw;
        height: auto;
        clip-path: none;
    }

    .frontpage-post-text-right {
        width: 90vw;
        padding-left: 0;
    }

    .frontpage-post-text-left {
        width: 90vw;
        padding-right: 0;
    }

    .footer-frontpage,
    .footer {
        height: auto;
        z-index: 3;
    }

    .d-none {
        display: block !important;
    }

    .carousel-caption {
        bottom: 15rem
    }

    .h1-slider {
        font-size: 3em;
    }

    .page-performance-post-content {
        padding: 1em;
    }

    .page-performance-post-left,
    .page-performance-post-right,
    .page-whoarewe-post-left,
    .page-whoarewe-post-right {
        flex-direction: column;
    }

    .page-performance-post-right img {
        min-width: none;
        width: 100%;
    }

    .page-performance-post-left img {
        min-width: none;
        width: 100%;
    }

    .page-performance-post-content,
    .page-whoarewe-post-content {
        width: 90vw;
    }

    .page-whoarewe-post-left img {
        min-width: none;
        width: auto;
    }

    .page-whoarewe-post-right img {
        min-width: none;
        width: auto;
    }

    .page-about-tile-list {
        flex-direction: column-reverse;
        height: auto;
    }

    .page-about {
        height: 120vh;
    }

    .page-about-tile,
    .page-about-tile-content,
    .page-about-tile img {
        width: 80vw;
        height: 30vh;
    }

    .page-about-tile {
        margin-bottom: 1em;
    }

    .reversed-article-section {
        padding: 2vh 5vw;
    }

}

@media screen and (max-width: 768px) {

    .puce-marge {
        margin-left: 4.5vw;
    }
}

@media screen and (max-width: 430px) {

    .puce-marge {
        margin-left: 7.5vw;
    }
}