body {
    --nav-height: 8vw;

    --color-txt-primary: #FFFFFF;
    --color-bg: #FFFFFF;
    --border-color: #ffffff70;

    --duration-transition-background: 0.20s;
    --timing-transition-background: linear;

    background: #000000;
}

body.no-color {
    --color-txt-primary: #000000;
    --color-bg: #ffffff;
    --border-color: #00000070;

    background: white
}

/* WATER EFFECT */

.nodisplay img {
    display: none;
}

canvas {
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    overflow: hidden;
}

body.no-color canvas {
    display: none;
}

/* END WATER EFFECT */

.smallCap {
    font-variant: small-caps;
}

.italic {
    font-style: italic;
}

.center {
    text-align: center;
}

.stick {
    position: fixed;
    top: 0;
}

.d-none {
    display: none !important;
}

.opacity-zero {
    opacity: 0;
}

.leftNav a:hover, .rightNav a:hover {
    border-color: var(--border-color);
}

.leftNav a.is-active, .rightNav a.is-active {
    border-color: var(--border-color);
}

.smaller-wording {
    word-spacing: -0.05rem;
}

.letter-spacing-less {
    letter-spacing: -0.01rem;
}

.mainLogo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    user-select: none;
    font-weight: normal;
}

.logoDep {
    font-size: 1.7rem;
}

.logoMaison {
    margin-top: -0.5rem;
    font-size: 1.05rem;
    letter-spacing: -0.03rem;
}

html {
    scrollbar-width: none;
}

html,
body {
    width: 100%;
    height: 100%;
    max-height: 100%;
    max-width: 100%;
    min-height: 100%;
    padding: 0;
    margin: 0;
    font-family: "adobe-garamond-pro", "Times New Roman", Times, serif;
    color: var(--color-txt-primary);
    font-size: 1em;
    font-variant-ligatures: discretionary-ligatures;
    font-weight: lighter;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -ms-overflow-style: none;
    overscroll-behavior-y: none;
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

body::-webkit-scrollbar {
    display: none;
}

p {
    margin-block-start: 0;
    margin-block-end: 0;
}

nav {
    z-index: 159;
    width: 100%;
    height: var(--nav-height);
    box-sizing: border-box;
    display: flex;
    align-items: start;
    justify-content: space-between;
    position: fixed;
    top: 0;
    padding: 1.4rem 1.4rem;
    font-size: 0.8rem;
}

.leftNav a, .rightNav a, .englishButton, body.french .frenchButton {
    color: var(--color-txt-primary);
    text-decoration: none;
    cursor: pointer;
    padding: 0 0.75rem;
    margin: 0 0.5rem;
    display: inline-block;
    box-sizing: border-box;
    border-radius: 47px;
    border-style: solid;
    border-width: 1px;
    transition: 0.3s border-color;
}

.colorButton.colorButton {
    display: flex;
    align-items: center;
    gap:4px;
}

a.noBorder {
    border-color: transparent !important;
}

.leftNav a, .rightNav a {
    border-color: transparent;
}

.rightNav a.englishButton, body.french .frenchButton {
    border-color: var(--border-color);
}

.frenchScroll {
    display: none;
}

body.french .frenchScroll {
    display: block;
}

nav .leftNav {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

nav .mainLogo {
    flex: 1;
    text-align: center;
}

nav .rightNav {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

body nav .mainLogo img {
    padding-top: 1.75vw;
    width: 12.5vw;
}

#video {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#videoIframe {
    width: calc(60vh * 16/9);
    height: 60vh;
    margin-top: 20vh;
    margin-bottom: 20vh;
    max-width: 92vw;
}

.scrollDown {
    position: absolute;
    bottom: 1rem;
    height: 4vh;
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    transition: opacity 0.25s linear;
}

section.mainWrapper {
    position: absolute;
    width: 100%;
}

.main {
    display: flex;
    font-size: 1.10rem;
    cursor: default;
    padding: 0 6rem;
    text-align: center;
}

.main .mainCol {
    flex: 1;
    height: 100%;
}

.rightCol {
    display: none;
    position: relative;
}

.pd-left-small {
    padding-left: 1.5rem;
}

hr {
    width: 75%;
    margin: 11rem auto;
    border-color: transparent;
    height: 10px;
    background-image: url("DPTBar.svg");
    background-repeat: no-repeat;
    background-position-y: center;
    background-size: cover;
    filter: invert(1);
}

body.no-color hr {
    filter: unset;
}

h2 {
    text-align: center;
    font-weight: normal;
    font-size: 5.75rem;
    line-height: 4.75rem;
    font-weight: 100;
    margin-top: 0;
    margin-bottom: 0;
    letter-spacing: -0.07rem;
    font-optical-sizing: none;
	font-family:'garamond-premier-pro-display';
	font-weight:300;
}

h2.topTitle {
    text-transform: uppercase;
}

h3 {
    margin: 0;
    font-weight: normal;
    font-size: 2.5rem;
    line-height: 2.15rem;
    text-transform: uppercase;
}

.grid4 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
}

.grid4Box {
    display: flex;
    flex-direction: column;
    width: 47.5%;
    margin-bottom: 6.5rem;
}

.grid4 .boxTop {
    display: flex;
    align-items: start;
    justify-content: center;
    margin-bottom: 2.15rem;
}



.grid4 .topNb {
    font-size: 1.5rem;
}

.grid4 .boxBottom {
    margin-top: 1.5rem;
}

.grid4BoxLastRow{
		margin-bottom: 0rem;
    }

.gridDepartment .boxBottom {
    font-style: italic;
}

.gridMaison .boxBottom {
    letter-spacing: -0.03rem;
}

.mg-bottom-zero {
    margin-bottom: 0;
}

.gapSmall {
    height: 2em;
}

.gapMedium {
    height: 6.5em;
}

.gapLarge {
    height: 7em;
}

.colLogoContainer {
    width: 90%;
    margin: auto;
    display: flex;
    gap: 50px;
    flex-direction: row;
    justify-content: space-between;
}

.logoImage {
    display: flex;
    width: 100%;
    height: auto;
    justify-content: center;
}

.logoImage img {
    width: 115px;
    max-height: 90px;
}


body.no-color .colLogoContainer {
    filter: invert(1);
}

.contactContainer {
    text-align: center;
}

.contactContainer a {
    color: inherit;
}

.contactContainer .sup {
    display: inline-block;
    font-size: 0.63em;
    transform: translate(0, -4px);
    padding: 0 1px;
}

.copyright {
    -webkit-transform: rotate(-90deg);
    -webkit-transform-origin: left top;
    -moz-transform: rotate(90deg);
    -moz-transform-origin: left top;
    -ms-transform: rotate(90deg);
    -ms-transform-origin: left top;
    -o-transform: rotate(90deg);
    -o-transform-origin: left top;
    transform: rotate(-90deg);
    transform-origin: right bottom;
    position: fixed;
    top: 0;
    right: 4px;
    width: 100vh;
    text-align: center;
    margin: auto;
    white-space: nowrap;
    font-size: 0.48em;
    z-index: 300;
    opacity: 0.9;
    color: var(--color-txt-primary);
}

.copyright p {
    margin: 0;
    padding: 0;
}

/* CHANGES */

body.right .leftCol {
    display: none;
}

body.right .rightCol {
    display: block;
}

body.french .englishButton {
    border-color: transparent;
}

body.french .englishScroll {
    display: none;
}

.frenchOnly.frenchOnly {
    display: none;
}

body.french .frenchOnly {
    display: inline-block;
}

.englishOnly.englishOnly {
    display: inline-block;
}

body.french .englishOnly {
    display: none;
}

.mobile-break {
        display: none;
    }





/* toggle button */
.toggle-btn {
    outline: 0;
    display: inline-block;
    width: 4em;
    height: 2em;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    box-sizing: border-box;
    top: -0.1em;
    font-size: 4px; /* adjust the size of the toggle here only */
}

.toggle-btn:after, .toggle-btn:before {
    position: relative;
    display: block;
    content: "";
    width: 0.85em;
    height: 0.85em;
}

.toggle-btn:after {
    left: 66%;
}

.toggle-btn:before {
    display: none;
}

.toggle-btn {
    padding: 0.4em;
    transition: all 0.3s ease;
    border: 1px solid var(--border-color);
    border-radius: 2em;
}

.toggle-btn:after {
    transition: all 0.3s ease;
    content: "";
    border-radius: 2em;
    background-color: var(--color-txt-primary);
}

.no-color .toggle-btn {
    border: 1px solid var(--border-color);
}

.no-color .toggle-btn:after {
    background-color: var(--color-txt-primary);
}

.no-color .toggle-btn:after {
    left: 0%;
}




/* MEDIA QUERIES */

@media screen and (max-width: 1348px) {
    .desktop-break {
        display: none;
    }
}

@media screen and (max-width: 1080px) {

    :root {
        --nav-height: 7vw;
    }

    body nav .mainLogo img {
        width: 15vw;
    }

    html,
    body {
        font-size: 5.5vw;
    }

	hr {
    width: 75%;
    margin: 5rem auto;

}
	
    nav {
        font-size: 0.75rem;
        flex-direction: column;
        align-items: center;
        position: absolute;
    }

    .leftNav {
        display: none;
    }

    .scrollDown {
        display: none;
    }

    #videoIframe {
    width: 85vw;
    height: calc(85vw * 9/16);
        margin-top: 10em;
        margin-bottom: 0;
    }

    .main {
        flex-wrap: wrap;
        font-size: 1rem;
        padding: 0 1.25rem;
    }

    .main .mainCol {
        flex: unset;
        width: 100%;
    }

    .grid4 {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
    }

    .grid4Box {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-bottom: 3rem;
    }
	
	
	.grid4Box:last-child {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 0rem!important;
}
	
	

    .grid4 .boxTop {
        display: flex;
        align-items: start;
        justify-content: center;
        margin-bottom: 0.25rem;
    }

    .grid4 .topNb {
        font-size: 0.9rem;
    }

    .grid4 .boxMid {
        font-size: 0.85rem;
    }

    .grid4 .boxBottom {
        margin-top: 0.8rem;
    }

    .gridCollab .boxBottom {
        font-size: 0.75rem;
    }

    .gridDepartment .boxBottom {
        font-style: italic;
        font-size: 0.75rem;
    }

    .gridMaison .boxBottom {
        letter-spacing: -0.03rem;
    }

    .pd-left-small {
        padding-left: 0.6rem;
    }

    h2 {
        font-size: 2rem;
        margin-top: 1rem;
        margin-bottom: 0;
        line-height: 1.7rem;
    }

    h2.topTitle {
        font-size: 1.5rem;
        margin-top: 1rem;
        margin-bottom: 0;
        line-height: 1.4rem;
    }

    h3 {
        font-size: 1.4rem;
        margin-top: 0.25rem;
        margin-bottom: 0;
        line-height: 1.2rem;
    }

    .gapSmall {
        height: 0.85em;
    }

    .gapMedium {
        height: 3em;
    }

    .gapLarge {
        height: 5em;
    }
	
	 .mobile-break {
        display: block!important;
    }
    .desktop-break {
        display: none;
    }
.desktop-break-footer{
        display: block!important;
    }
	
	
    .copyright {
        font-size: 0.35em;
    }
	.contactContainer {
    font-size: 0.75rem!important;
}
	
	nav .rightNav {
    width: 100%!important;
    order: -1!important;
    justify-content: space-between!important;
	}
	
	.rightNav a{
	padding: 0 0rem!important;
    margin: 0rem!important;
	}
	
	.leftNav{
		display:none!important;
	}
	
	.french a.languageButton.englishButton {
    display: block!important;
}
a.languageButton.englishButton {
    display: none!important;
}
		 a.languageButton.frenchButton {
    display: block!important;
}
.french a.languageButton.frenchButton {
    display: none!important;
}
	
	.colLogoContainer {
    gap: 40px;
    flex-wrap: wrap;
}
	
	
	
	.logoImage {
display: flex;
    width: calc(33% - 40px);
    height: auto;
    justify-content: center;
	}
	
	.logoImage img {
    width: 100%;
    max-height: 90px;
}
	
}