/**** Création du loader ****/

.loader {
    width: 100vw;
    height: 100vh;
    background-color: var(--colorSecondary);
    margin: auto;
    position: fixed;
    top: 0;
    right: 0; 
    bottom: 0;
    left: 0;
    z-index: 100;
    animation: display-loader 3s linear;
    visibility: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

@keyframes display-loader {
    0% {
        visibility: visible;
        opacity: 0.7;
    }

    70% {
        opacity: 0.7;
    }

    100% {
        opacity: 0;
        visibility: hidden;
    }
}

.loader span {
    width: 14px;
    height: 200px;
    border-radius: 5px;
    background-color: var(--colorSecondary);
    margin: 0 1px;
    animation: loading 0.8s ease-in-out infinite;
}

/**** Animation loading ****/

@keyframes loading {
    0%,
    60%,
    100% {
      transform:scaleY(0.05);
    }

    35% {
      transform:scaleY(1);
    }
}

.loader span:nth-child(1) {
    background-color: var(--colorPrimary);
    animation-delay: -700ms;
}
  
.loader span:nth-child(2) {
    background-color: var(--important);
    animation-delay: -600ms;
}
  
.loader span:nth-child(3) {
    background-color: var(--paragraph);
    animation-delay: -500ms;
}

.loader span:nth-child(4) {
    background-color: var(--colorPrimary);
    animation-delay: -400ms;
}

.loader span:nth-child(5) {
    background-color: var(--important);
    animation-delay: -300ms;
}

.loader span:nth-child(6) {
    background-color: var(--paragraph);
    animation-delay: -200ms;
}

/**** Style général de la page ****/

blockquote {
    font-size: 1.3em;
    letter-spacing: 1px;
    line-height: 1.5;
    font-weight: 300;
    color: var(--paragraph);
    width: 60vw;
    margin: 45px auto 15px auto;
    text-align: center;
}

blockquote span {
    font-size: 0.8em;
    text-transform: uppercase;
    color: var(--important);
    font-weight: 300;
    letter-spacing: 5px;
    display: block;
    margin-top: 20px;
}

.portfolio {
    background-color: var(--colorSecondary);
}
  
.portfolio h2 {
    color: var(--text);
}
  
.landscapes,
.portraits,
.reportages {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 15px;
}

.landscapes,
.portraits {
    margin-bottom: 80px;
}
  
.img__link {
    width: 32%;
    height: 312px;
    position: relative;
}

.img__link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
  
.photo__hover {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
    color: var(--colorSecondary);
    background-color: rgba(0, 0, 0, 0.69);
    display: none;
}
  
.img__link:hover .photo__hover {
    display: flex;
}

.conclusion {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.conclusion h2 {
    color: var(--colorSecondary);
}

.conclusion p {
    text-align: center;
    margin-bottom: 80px;
}

/**** Responsive design Tablette ****/

@media screen and (max-width: 992px) {
    .landscapes,
    .portraits,
    .reportages {
        flex-direction: column;
    }

    .img__link {
        width: 100%;
    }
}

/**** Responsive design Mobile ****/

@media screen and (max-width: 768px) {
    .landscapes,
    .portraits {
        margin-bottom: 40px;
    }
}