.section {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    background-repeat: no-repeat;
    background-attachment: local;
    padding-top: var(--nav-height);
    overflow-y: hidden;
    min-height:100vh;
    position: relative; }
    @media(max-width:767px){
        .section {
            padding-bottom: 3rem;
            padding-top: 1rem;
            min-height:auto;
    }
} 

.section .container-fluid,.section .container {
    min-height:100vh;
    padding:0;
    padding-top:var(--nav-height); }
    @media(max-width:767px){
        .section .container-fluid,.section .container {
            min-height:auto;
        }
    }
    

.page-title {
    position: absolute;
    top: 0;
    left:0;
    width:100%;
    height: auto;
    z-index:2;
    padding:0.5vh;
    padding-top: 1rem; }
    @media(max-width:767px){
        .page-title {
            padding-top: 0;
            position: relative;
        }
    }
    

/* .panel-container */
.panel-container {
    border-top-left-radius: 1.5rem;
    border-bottom-right-radius: 1.5rem; }
    @media(max-width:767px){
        .panel-container {
            box-shadow:none;
            margin-bottom: 1rem;
    }
}            



/* .panel */
.panel {
    width: 350px;    
    border-bottom-right-radius: 1.5rem;
    border-top-left-radius: 1.5rem;
    box-shadow: 0 0.2em 0.4em rgba(0,0,0,.6); }
    @media(max-width:767px){
        .panel {
            width: 90vw;
            margin-left:5vw;
            margin-right:5vw;
    }
}

/* img */
.panel img {
    max-width: 100%;
    min-width: 100%;
    max-height: 15rem;
    border-top-left-radius: 1.5rem;
}

.panel h3 {
    text-align: center;
    background-color: var(--white);
    width: 100%;
    margin-bottom: 0;
    padding: 0.75rem 0;
    font-size: 3.5rem;
    line-height: 3.5rem; }

.panel .introduction {
    background-color: var(--white);
    width: 100%;
    padding: 0 2rem;
    text-align: justify;
    padding-bottom: 1rem;
    min-height: 32vh;
    font-family: liberation, serif;
}
.second .panel .introduction {
    font-size: 0.9rem;
}

.panel .see_more {
    background-color: var(--white);
    display: block;
    width: 100%;
    border-bottom-right-radius: 1.5rem;
    text-align: center;
    text-transform: uppercase;
    padding-bottom: 1rem;
}
/* Logo */

.logo {
    position:absolute;
    width: 3rem;
    height: 3rem;
    left: 50%;
    top: 2.5rem;
    margin-left: -1.5rem; }
    @media(max-width:767px){
        .logo {
            display: none; } 
    }
.logo img {
    width : 3rem;
    height: 3rem;
    clip-path: circle(50% at center);
}

/* Intro */
.intro {
    opacity: 0;
    transition: opacity 1s;
    background-image: url('../img/intro.jpg');
    background-size: 100% 100%;
    background-position-y: 0%;
    background-position-x: 50%;
    overflow: hidden;
    display: flex;
    position: relative;
    min-height: 100vh;
    height: auto; }
    @media(max-width:767px){
        .intro {
            background-size: cover; } 
    }
    @media(max-width:460px){
        .intro {
            background-size: 190% auto;
    }
}
@media(max-width:767px){
    .intro {
        opacity: 1; } 
}
.intro.pg-active {
    opacity: 1;
}
.bloc-1 {
    height: 60vh; }
    @media(max-width:767px){
        .bloc-1 {
            height: 40vh;
    }
}

    @media(max-width:767px){
        .bloc-1 .bloc-1-col {
            position: relative;
    }
}

.bloc-2 {
    opacity: 0;
    transition: opacity 1s;
    background-image: url('../img/vague_1.svg'); 
    background-size: cover;
    background-position-y: 0;
    background-position-x: 50%;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0;
    height: 40vh;
    padding-top: 1rem; }
    @media(max-width:767px){
        .bloc-2 {
            /*background-size: 101% auto;*/
            min-height: 60vh;
            height: auto;
            opacity: 1;
            padding-bottom: 1rem;
            padding-top: 0;
            background-image: none;
            background-color: white;
    }
}
.pg-active .bloc-2 {
    opacity: 1;
}
.bloc-3 {
    background-color: var(--white);
    width:100%;
}

@media(max-width:767px){
        .bloc-magali {
            background-color: var(--white);
    }
}

@media(max-width:767px){
        .intro {
            padding-top: 0;
    }
}

.intro h1 {
    text-align: center;
    width: 100%;
    padding-top:4rem;
    padding-bottom: 4rem;
    color: var(--white);
    text-transform: uppercase;
    font-family: quick_light, sans-serif;
    font-size: 6rem;
    font-weight: 100;
    letter-spacing: 0.25rem;
    text-shadow: 1px 1px 30px var(--dark); }
    @media(max-width:767px){
        .intro h1 {
            font-size: 2.5rem;
    }
}

.intro h2 {
    text-align: center;
    font-size: 3.5rem;
    position: sticky;
    z-index: 2;
    color: var(--white);
    text-shadow: 2px 2px 5px var(--dark); }
    @media(max-width:767px){
        .intro h2 {
            font-size: 3rem;
            padding-bottom: 0.5rem
    }
}
.intro p {
    padding-top: 1rem;
    text-align: center;
    position: sticky;
    z-index: 2; }
    @media(max-width:767px){
        .intro p {
           background-color: white;
           margin-bottom: 0;
    }
}


.intro p a {
    font-size: 1.8rem;
    line-height: 2.5rem;
    text-transform: uppercase;
    font-family: quick, sans-serif;
    font-weight: bold; }
    @media(max-width:767px){
        .intro p a {
            font-size: 1.2rem;
            line-height: 1.5rem;
    }
}

.intro .section-a {
    min-height: 60vh;
}

.intro .section-b {
    width:100%;
    min-height: 15vh;
    background-image: url('../img/wave_white.svg');
    background-repeat: no-repeat;
    background-size: cover;
    margin-right: 0;
    background-position: center top;
    background-position-x: center;
    background-position-y: bottom;
    background-clip: border-box;
    margin-right: 0; 
}
/*.intro .section-c {
    width:100%;
    min-height: 25vh;
    z-index:1;
    background-size: cover;
    background-color: var(--white);
}*/
.section.intro .container-fluid {
    padding:0;
}

/* Tanguy */
.tanguy {
    /*background-image: url('../img/tanguy.jpg');*/
    background-image: none;
    background-size: 100% 100%;
    background-position-y: 0%;
    background-position-x: 50%;
    padding-top: var(--nav-height); }
    @media(max-width:767px){
        .tanguy {
            padding-top: 0;
    }
}

.tanguy .page-title {
    position: relative;
    padding-top: 0; }
    @media(max-width:767px){
        .tanguy .page-title {
            top: 0;
            padding-bottom: 1rem;
    }
}
.tanguy .page-title h2 {
    position: relative;
    margin-top: 1rem;; 
}
.section.tanguy .container-fluid {
    padding:0;
}
.section.tanguy .container {
    min-height: auto;
    padding-top:0;
}
@media(max-width:767px){
    .section.tanguy .container {
        padding:0;
    }
}
.tanguy .panel-container {
    margin-bottom: 2rem; }
    @media(max-width:767px){
        .tanguy .panel-container {
            margin-bottom: 0;
    }
}
.tanguy .panel-container.one {
    margin-right: 0; }
    @media(max-width:767px){
        .tanguy .panel-container.one {
            margin-right: 5%;
            margin-bottom: 1rem;
    }
}
.tanguy .panel-container.second {
    margin-left: 0; }
    @media(max-width:767px){
        .tanguy .panel-container.second {
            margin-left: 5%;
    }
}
.tanguy .panel-container.second h3 {
    font-size: 3.6rem;
}
.tanguy .panel-container {
    width : 65%;
    margin-left: 5%;
    margin-right: 5%; }
    @media(min-width:1480px){
        .tanguy .panel-container {
            width : 350px;
    }
}
    @media(max-width:767px){
        .tanguy .panel-container {
            width : 100%;
    }
}

.tanguy .panel {
    width : 100%;
    margin-left: 0;
    margin-right: 0;
}

.tanguy .miniature {
    position:relative;
    overflow: hidden;
    min-width: 100%;
    min-height: 25vh;
    max-width: 400px;
    max-height: 400px;
    width : 100%;
    border-top-left-radius: 1.5rem;     }
    @media(max-width:767px){
        .tanguy .miniature {
            width : 100%;
            height: auto;
            min-width: auto;
            min-height: 300px;
            width: auto;
    }
}
.tanguy .panel img {
    position: absolute;
    left:0;
    top:50%;
    margin-top:-50%;
    width : 400px;
    height: 400px;
    max-height: 400px;
    
}


/* Magali */
.section.magali {
/*    background-image: url('../img/wave_brown.svg');
    background-position-x: center;
    background-position-y: bottom;*/
}
 @media(max-width:767px){
        .section.magali {
            padding-bottom: 0rem;
            padding-top: 2rem;
    }
}

.magali .page-title {
    position: relative;
    padding-bottom:0;
    top: 0;
    height: auto;
    padding-top: 0;
}
    @media(max-width:767px){
        .magali .page-title {
            padding-bottom:1rem;
            top: 0;
            height: auto;
            padding-top: 0;
    }
}
.magali .text-title2 {
    padding-top: 0;
    font-size: 3rem;
}
.section.magali .container-fluid {
    padding:0;
}
.magali .panel-container {
    display: flex;
    justify-content: center;
    margin-top: 0.5rem; }
    @media(max-height:670px){
        .magali .panel-container {
            margin-right: 1.5rem;
        }
        .magali .panel-container:first-of-type {
            margin-left: 1.5rem;
        }
    }
    @media(max-width:767px){
        .magali .panel-container {
            margin-top: 0;
    }
}
@media(max-height:670px){
        .magali .panel {
            width: auto;
        }
    }
    
.magali .panel .introduction {
    font-size: .9rem;
    min-height: 11rem;
}
@media(max-height:670px){
        .magali .panel h3 {
            font-size: 2.5rem;
            line-height: 2.5rem;
        }
    }

/* Parcours */

.section.parcours {
    background-color: var(--brown_light);
    /*background-image: url('../img/vague.svg');*/
    background-repeat: no-repeat;
    background-position-y: var(--nav-height);
    padding-top: 0;
    margin-top: var(--nav-height); }
    @media(max-width:767px){
        .section.parcours {
            background-image: none;
            padding-top: 0;
            margin-top: 0;
    }
}
.parcours .page-title {
    position: relative;
    top: 0;
}
.parcours .panel {
    border-radius: 0;
    box-shadow: none;
    width: 100%;
    background-color: var(--brown_light); }
    @media(max-width:767px){
        .parcours .panel {
            width: 100%;
            margin-left:0;
            margin-right:0;
            margin-bottom: 2rem;
            padding: 1rem;
            
    }
}


.parcours .panel img  {
    width: 100%;
    height: auto;
    min-width: 100%;
    border-radius: 100%;
}
.parcours h2 {
    margin-top: 0; }
    @media(max-width:767px){
        .parcours h2 {
            margin-top: 0;
    }
}
.parcours .panel h3 {
    background-color: transparent;
    text-align: left; }
    @media(max-width:767px){
        .parcours .panel h3 {
            text-align: center;
            font-size: 3rem;
    }
}
.parcours .panel .illustration {
    text-align: right;
    padding-right: .5rem;
    width: 20%;
    /*width: 16.66666667%;*/ }
    @media(max-width:767px){
        .parcours .panel .illustration {
        text-align: center;
        padding: 0;
        padding-left: 0.5rem;
    }
}


    @media(max-width:767px){
        .parcours .panel img {
            margin-top: 1rem;
    }
}

.parcours .panel .introduction  {
    background-color: transparent;
    padding: 0;
    padding-top: 0.5rem;
    min-height: 0;
    margin-bottom: 2rem;
    font-family: liberation, serif;
}
.parcours .introduction h3 {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.5rem;
    font-style: italic;
    color:var(--brown);
    padding-left: 4rem;
    padding-right: 4rem;
}
.parcours h4 {
    font-size: 1rem;
    font-style: italic;
}
.parcours .panel .see_more { 
    background-color: transparent;
    border-radius: 0;
    border-width: 0;
    box-shadow:none;
    color: var(--green);
    
}
/* Actualites */
.actualites {
    background-color: white;
}
.actu { 
    min-height: 40%; 
    padding-bottom: 2rem; }
    @media(max-width:767px){
    .actu {
        padding-top: 1rem;
        padding-bottom: 0rem;
    }
}
.actualites h3 {
    font-size: 3rem; 
    padding-bottom: 1rem; }
    @media(max-width:767px){
    .actualites h3  {
        font-size: 2rem;
        padding-top: 1rem;
        padding-bottom: 0rem;
    }
}
.actualites h2 {
   text-align: center;
}
.actu img {
    max-width : 100%;
    max-height: 380px;
    border-top-left-radius: 1.5rem;
}
.actu .btn {
    margin-top: 0.5rem;
}
@media(max-width:767px){
    .actualites p {
        padding: 0;
        text-align: justify;
    }
}
@media(max-width:767px){
    .section.actualites {
        padding-bottom: 1rem;
    }
} 
@media(max-width:767px){
    .actualites .btn-primary {
        margin-bottom: 1rem;
    }
}
.actualites .container { padding-top:0; }
@media(max-width:767px){
    .actualites .row {
        margin-right:0;
        margin-left: 0;
    }
}
/* Contact */
.contact .page-title {
    background-color: var(--white);
    padding-top: var(--nav-height); }
    @media(max-width:767px){
        .contact .page-title {
            padding-top: 0;
    }
}
#map {
    position: absolute;
    left:0;
    top:5vh;
    width: 100vw;
    min-height:95vh;
    z-index: 1; }
    @media(max-width:767px){
        #map {
            position: relative;
            top: 0;
            min-height:50vh;
    }
} 

.map-over {
    position: absolute;
    left:0;
    top:0;
    width: 100vw;
    height: 100%;
    z-index: 2; }
    @media(max-width:767px){
        .map-over {
            position: relative;
    }
} 
@media(max-width:767px){
        .map-over .row .col-md-6 {
            padding-right: 0;
    }
} 

.contact .row { width: 100%; }



.contact .card {
    width: 18rem;
    border-radius: 1.5rem;
    border-bottom-left-radius: 0;
    border-top-right-radius: 0; }
    @media(max-width:767px){
        .contact .card {
           width: 90%; 
           margin: 0 5%;
           margin-bottom: 1rem;
    }
} 

.contact .card-text {
    font-weight: bold;
}

.contact .card-text img {
    height: 1rem;
    width: auto;
    padding-bottom: 0.1rem;
}