:root {
    --beige: #e1c699;
    --black: #000000;
    --black10: #0000001a;
    --black25: #00000040;
    --black40: #00000061;
    --black80: #000000cc;
    --blue: #1c9cda;
    --e2-blue: #00bfff;
    --e2-blue25: #007bff40;
    --e2-blue40: #007bff66;
    --green: #5dffc6;
    --grey: #b3b3b3;
    --grey40: #7d7d7d66;
    --greyMedium: #464646;
    --greyDark: #2e2e2e;
    --orange: #ff7f00;
    --orangeLight: #ffb36c;
    --purple: #864cf1;
    --red: #d51a14;
    --redLight: #e05959;
    --turquoise: #6de5d1;
    --white: #ffffff;
    --white10: #ffffff18;
    --white20: #ffffff38;
    --white40: #ffffff66;
    --white50: #ffffff80;
    --white60: #ffffff99;
    --white70: #ffffffb3;
    --yellow: #fdff37;

    --transSlow: 1s;
    --transMedium: 500ms;
    --transFast: 250ms;
}

.e2BtnClose {
    z-index: 9999;
}

/* BUTTONS */
#btnFullscreen,
#btnOpenNavCustomization,
#btnOpenNavModels,
#btnE2VRLogo,
#btnResetCamera {
    position: absolute;
    width: 50px;
    height: 50px;
    margin: 50px;
    padding: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--black);
    background-color: var(--white);
    border: none;
    border-radius: 30px;
    cursor: pointer;
    outline: none !important;
    transition: var(--transFast);
    z-index: 10;
}

#btnFullscreen {
    left: 0;
}

#btnFullscreen img {
    width: 70%;
}

#btnOpenNavCustomization {
    right: 0;
}

#btnOpenNavCustomization img {
    width: 70%;
}

#btnOpenNavModels {
    bottom: 0;
    left: 0;
}

#btnOpenNavModels img {
    width: 80%;
}

#btnE2VRLogo {
    right: 0;
    bottom: 0;
}

#btnE2VRLogo img {
    width: 80%;
}

#btnResetCamera {
    right: 50px;
    bottom: 0;
}

#btnResetCamera img {
    width: 80%;
}

#btnFullscreen:hover,
#btnOpenNavCustomization:hover,
#btnOpenNavModels:hover {
    color: var(--black);
    background-color: var(--e2-blue);
}

#btnE2VRLogo:hover {
    transform: scale(1.1);
}
#btnResetCamera:hover {
    transform: scale(1.1);
}

#e2NavCustomization .e2Arrow,
.e2-dots-list {
    display: none;
}

::-webkit-scrollbar {
    display: block;
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: var(--e2-blue);
}

::-webkit-scrollbar-button {
    display: block;
    width: 8px;
    height: 8px;
    background-color: transparent;
}

::-webkit-scrollbar-track-piece {
    background-color: var(--greyDark);
}

::-webkit-scrollbar-track-piece:vertical:start {
    border-radius: 10px 10px 0 0;
}

::-webkit-scrollbar-track-piece:vertical:end {
    border-radius: 0 0 10px 10px;
}

::-webkit-scrollbar-track-piece:horizontal:start {
    border-radius: 10px 0 0 10px;
}

::-webkit-scrollbar-track-piece:horizontal:end {
    border-radius: 0 10px 10px 0;
}

/* ENVIRONMENTS NAV */
#e2NavEnvironments {
    position: fixed;
    top: 40px;
    left: 130px;
    width: calc((100% - 260px) / 2);
    color: var(--black);
    transition: var(--transMedium);
    z-index: 100;
}

#e2NavEnvironments.e2Nav-open {
    width: calc((100% - 380px - 160px) / 2);
}

#e2NavEnvironments .e2-category-title {
    display: none;
}

#e2NavEnvironments .e2-group-options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
}

#e2NavEnvironments .e2-option {
    position: relative;
    width: 70px;
    height: 70px;
    margin-right: 20px;
    list-style-type: none;
    border-radius: 8px;
    border: 2px solid var(--white);
    cursor: pointer;
    transition: var(--transFast);
}

#e2NavEnvironments .e2-option:hover {
    border: 2px solid var(--e2-blue);
}

#e2NavEnvironments .e2-btn-round {
    width: 100%;
    height: 100%;
    border-radius: 6px;
}

#e2NavEnvironments .e2-option p {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding-bottom: 2px;
    font-size: 0.8em;
    text-align: center;
    color: var(--white);
    border-radius: 0 0 6px 6px;
    background-color: var(--black40);
}

/* SHAPES NAV */
#e2NavShapes {
    position: fixed;
    top: 40px;
    right: auto;
    left: calc((100% - 260px) / 2 + 130px);
    width: calc((100% - 260px) / 2);
    color: var(--black);
    transition: var(--transMedium);
    z-index: 100;
}

#e2NavShapes.e2Nav-open {
    left: calc((100% - 380px - 160px) / 2 + 130px);
    width: calc((100% - 380px - 160px) / 2);
}

#e2NavShapes .e2-category-title {
    display: none;
}

#e2NavShapes .e2-group-options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#e2NavShapes .e2-option {
    position: relative;
    width: 70px;
    height: 70px;
    margin-left: 20px;
    list-style-type: none;
    border-radius: 8px;
    /* background-color: var(--black); */
    border: 2px solid var(--white);
    cursor: pointer;
    transition: var(--transFast);
}

#e2NavShapes .e2-option:hover {
    border: 2px solid var(--e2-blue);
}

#e2NavShapes .e2-btn-round {
    width: 100%;
    height: 100%;
    border-radius: 7px;
}

#e2NavShapes .e2-option p {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding-bottom: 2px;
    font-size: 0.8em;
    text-align: center;
    color: var(--white);
    border-radius: 0 0 7px 7px;
    background-color: var(--black40);
}

/* CUSTOMIZATION NAV */
#e2NavCustomization {
    position: fixed;
    top: 0;
    right: 0;
    width: 0;
    height: 100%;
    overflow-x: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    color: var(--black);
    background-color: var(--white);
    transition: var(--transMedium);
    opacity: 0;
    z-index: 200;
}

#e2NavCustomization.e2Nav-open {
    width: 380px;
    opacity: 1;
}

#e2NavCustomization::-webkit-scrollbar {
    display: none;
}

#e2NavCustomization .e2BtnClose {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    margin: 20px;
    font-size: 30px;
    line-height: 24px;
    text-align: center;
    color: var(--grey);
    cursor: pointer;
    transition: var(--transFast);
}

#e2NavCustomization .e2BtnClose:hover {
    color: var(--black);
}

.e2BtnChangeLang {
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    margin: 20px;
    cursor: pointer;
    transition: var(--transFast);
    z-index: 600;
}

.e2BtnChangeLang:hover .e2-active-flag {
    transform: scale(1.1);
}

.e2-flag-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    border-radius: 100%;
    transition: var(--transFast);
    z-index: 600;
    opacity: 0.7;
}

.e2-active-flag {
    top: 30%;
    left: 30%;
    width: 70%;
    border: 2px solid var(--e2-blue);
    z-index: 610;
    opacity: 1;
}

#e2LogoCustomer {
    position: relative;
    top: 20px;
    left: -50%;
    transform: translateX(100%);
    width: 10%;
    margin-bottom: 10px;
}

#e2TitleNavCustomization {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
}

#e2NavCustomization .e2-category-set {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

#e2NavCustomization .e2-category {
    width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    opacity: 1;
    z-index: 100;
}

#e2NavCustomization .e2-category-title {
    width: 100%;
    padding: 12px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.15em;
    font-weight: 600;
    text-align: left;
    text-indent: 20px;
    text-transform: uppercase;
    letter-spacing: 4px;
    border-bottom: 1px solid var(--greyDark);
    cursor: pointer;
    transition: var(--transMedium);
}

#e2NavCustomization .e2-category-title:hover {
    letter-spacing: 6px;
}

#e2NavCustomization .e2-category-title > span {
    display: block;
}

#e2NavCustomization .e2-category-title .e2-thumbImg {
    width: 12%;
    transform: translateX(-20px);
}

#e2NavCustomization .e2-group-layer,
#e2NavCustomization .e2-group-layer > .e2-group-options {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#e2NavCustomization .e2-group-layer > .e2-group-options {
    display: none;
    margin-bottom: 20px;
}

#e2NavCustomization .e2-group-layer > .e2-group-options > .title {
    margin-bottom: 10px;
    padding: 0 6px 6px 6px;
    text-align: center;
    font-style: italic;
    border-bottom: 1px solid var(--black40);
}

#e2NavCustomization .e2-group-layer > .e2-group-options > .e2-option-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-content: flex-start;
    align-items: center;
}

#e2NavCustomization .e2-group-options {
    width: 100%;
    display: none;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-content: flex-start;
    align-items: center;
    z-index: 100;
}

#e2NavCustomization .e2-group-layer > .e2-group-options.list-active,
#e2NavCustomization .e2-group-options.list-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    animation: openList var(--transFast) ease-in-out;
    z-index: 150 !important;
}

#e2NavCustomization .e2-group-layer > .e2-group-options.list-active.disabled,
#e2NavCustomization .e2-group-layer > .e2-group-options.disabled,
#e2NavCustomization .e2-group-options.list-active.disabled,
#e2NavCustomization .e2-group-options.disabled {
    display: none;
}

#e2NavCustomization .e2-group-layer > .e2-group-options:nth-child(1) {
    margin-top: 20px;
}

#e2NavCustomization .e2-group-layer > .e2-group-options:nth-child(2) {
    margin-top: 0;
}

#e2NavCustomization .e2-group-options:nth-child(2) {
    margin-top: 20px;
}

#e2NavCustomization .e2-group-options:last-child {
    margin-bottom: 20px;
}

#e2NavCustomization .e2-option {
    position: relative;
    list-style-type: none;
    width: 26%;
    height: 85px;
    margin-bottom: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    cursor: pointer;
}

.e2-btn-round.black {
    background-color: var(--black);
}

.e2-btn-round.white {
    background-color: var(--white);
}

.e2-btn-round.red {
    background-color: var(--red);
}

.e2-btn-round.blue {
    background-color: var(--blue);
}

.e2-btn-round.grey {
    background-color: var(--grey);
}

.e2-btn-round.green {
    background-color: var(--green);
}

.e2-btn-round.orange {
    background-color: var(--orange);
}

.e2-btn-round.yellow {
    background-color: var(--yellow);
}

.e2-btn-round.beige {
    background-color: var(--beige);
}

.e2-activated {
    transform: scale(1.1);
    border: 2px solid var(--e2-blue) !important;
    box-shadow: 0 0 20px var(--e2-blue40);
    pointer-events: none;
}

#e2NavCustomization .e2-option > .e2-btn-round {
    width: 55px;
    height: 55px;
    border-radius: 100%;
    border: 2px solid var(--greyDark);
    transition: var(--transFast);
}

#e2NavCustomization .e2-option:hover > .e2-btn-round,
#e2NavCustomization .e2-option:active > .e2-btn-round {
    transform: scale(1.1);
    border: 2px solid var(--e2-blue);
    box-shadow: 0 0 20px var(--e2-blue40);
}

#e2NavCustomization .e2-option > p {
    position: absolute;
    bottom: 12%;
    font-size: 0.6em;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 4px;
    transform: translateY(50%);
    transition: var(--transFast);
}

#e2NavCustomization .e2-option:hover > p,
#e2NavCustomization .e2-option:active > p {
    letter-spacing: 5px;
}

/* MODELS NAV */
#e2NavModels {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 0;
    overflow-y: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    color: var(--black);
    background-image: linear-gradient(
        to right,
        var(--white),
        var(--white) calc(100% - 380px),
        var(--white) calc(100% - 380px),
        var(--white50) calc(100% - (380px / 2)),
        transparent
    );
    transition: var(--transMedium);
    opacity: 0;
    z-index: 100;
}

#e2NavModels.e2Nav-open {
    height: 150px;
    opacity: 1;
}

#e2NavModels .e2BtnClose {
    position: absolute;
    width: 30px;
    height: 30px;
    margin: 20px;
    font-size: 30px;
    line-height: 24px;
    text-align: center;
    color: var(--grey);
    cursor: pointer;
    transition: var(--transFast);
    z-index: 100;
}

#e2NavModels .e2BtnClose:hover {
    color: var(--black);
}

#e2TitleNavModels {
    position: relative;
    left: 60px;
    height: 20%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    font-size: 1.15em;
    font-weight: 600;
    text-align: left;
    text-indent: 20px;
    text-transform: uppercase;
    letter-spacing: 4px;
    cursor: default;
}

#e2ModelsCategorySet {
    position: relative;
    left: 60px;
    width: calc(100% - 60px - 380px);
    height: 80%;
    padding-bottom: 10px;
    overflow: hidden;
}

#e2ModelsCategorySet .e2-dots-list {
    display: none;
}

#e2NavModels .e2-tab-set {
    position: relative;
    width: 100%;
    height: 20px;
    padding: 0 26px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    transition: var(--transFast);
}

#e2NavModels .e2-tab-set::-webkit-scrollbar {
    display: none;
}

#e2NavModels .e2Arrow {
    position: absolute;
    top: 0;
    width: 50px;
    height: 20px;
    font-size: 40px;
    font-weight: 500;
    line-height: 8px;
    color: var(--greyDark);
    cursor: pointer;
    transition: var(--transFast);
    z-index: 100;
}

#e2NavModels .e2Arrow:hover {
    color: var(--e2-blue);
}

#e2ModelsArrowPrev {
    left: 0;
    padding-left: 6px;
    text-align: left;
    background-image: linear-gradient(
        to right,
        var(--white),
        var(--white) 40%,
        var(--white) 40%,
        transparent
    );
}

#e2ModelsArrowNext {
    right: 0;
    padding-right: 6px;
    text-align: right;
    background-image: linear-gradient(
        to left,
        var(--white),
        var(--white) 40%,
        var(--white) 40%,
        transparent
    );
}

#e2ModelsArrowPrev.hide,
#e2ModelsArrowNext.hide {
    display: none;
}

#e2NavModels .e2-tab {
    position: relative;
    width: 140px;
    height: 100%;
    margin-right: 36px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    color: var(--grey);
    border-radius: 8px 8px 0 0;
    background-color: var(--greyMedium);
    cursor: pointer;
    transition: var(--transFast);
    z-index: 1;
}

#e2NavModels .e2-tab:hover {
    color: var(--e2-blue);
}

#e2NavModels .e2-tab span {
    width: 100%;
    height: 100%;
    line-height: 16px;
    text-align: center;
}

#e2NavModels .e2-tab::before,
#e2NavModels .e2-tab::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 20px;
    height: 90%;
    background-color: var(--greyMedium);
    transition: var(--transFast);
}

#e2NavModels .e2-tab::before {
    left: -20px;
}

#e2NavModels .e2-tab::after {
    right: -20px;
}

#e2NavModels .e2-tab span::before,
#e2NavModels .e2-tab span::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 21px;
    height: 100%;
    border-radius: 0 0 100% 0;
    background-color: var(--white);
    z-index: 3;
}

#e2NavModels .e2-tab span::after {
    border-radius: 0 0 0 100%;
}

#e2NavModels .e2-tab span::before {
    left: -20px;
}

#e2NavModels .e2-tab span::after {
    right: -20px;
}

#e2NavModels .e2-tab.e2-tab-active {
    color: var(--black);
    background-color: var(--grey);
    cursor: default;
    pointer-events: none;
    z-index: 2;
}

#e2NavModels .e2-tab.e2-tab-active::before,
#e2NavModels .e2-tab.e2-tab-active::after {
    background-color: var(--grey);
}

#e2NavModels .e2-tab.e2-tab-active span::before,
#e2NavModels .e2-tab.e2-tab-active span::after {
    z-index: 4;
}

#e2NavModels .e2-category {
    height: calc(100% - 20px);
    padding: 0 10px;
    overflow-y: auto;
    display: none;
    border-radius: 8px 0 0 8px;
    background-image: linear-gradient(
        to right,
        var(--grey),
        var(--grey) 52%,
        var(--grey) 52%,
        var(--grey40) 70%,
        transparent
    );
}

#e2NavModels .e2-category::-webkit-scrollbar:horizontal {
    display: none;
}

#e2NavModels .e2-category.e2-tab-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}

#e2NavModels .e2-category-title {
    display: none;
}

#e2NavModels .e2-group-options {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
}

#e2NavModels .e2-option {
    position: relative;
    width: auto;
    height: calc(100% - 20px);
    margin: 10px 20px 10px 0;
    list-style-type: none;
    cursor: pointer;
}

#e2NavModels .e2-btn-round {
    max-width: 100%;
    height: 100%;
    border-radius: 8px;
    transition: var(--transFast);
    border: 2px solid var(--white);
}

#e2NavModels .e2-option:hover .e2-btn-round {
    border: 2px solid var(--e2-blue);
}

#e2NavModels .e2-option p {
    position: absolute;
    bottom: 5px;
    left: 50%;
    width: 100%;
    font-size: 0.8em;
    text-align: center;
    color: var(--black);
    transform: translateX(-50%);
}

/** ------------------------------------------------------- **/
/** -------------------- Media Queries -------------------- **/
/** ------------------------------------------------------- **/

/** Sur tous types d'écrans de 1280px (1280 x 768) **/
@media all and (max-width: 1280px) {
    .e2BtnChangeLang {
        width: 35px;
        height: 35px;
    }

    #e2NavModels .e2Arrow {
        width: 40px;
    }
}

/** Sur tous types d'écrans de 1024px (1024 x 768) **/
@media all and (max-width: 1024px) {
    .e2BtnChangeLang {
        width: 30px;
        height: 30px;
    }

    #e2NavCustomization .e2-group-layer {
        padding-top: 10px;
    }

    #e2NavCustomization .e2-group-layer > .e2-group-options {
        margin-bottom: 10px;
    }

    #e2NavCustomization .e2-option {
        height: 75px;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 50px;
        height: 50px;
    }

    #e2NavCustomization .e2-option > p {
        font-size: 0.55em;
    }
}

/** Sur tous types d'écrans de  800px (800 x 600) **/
@media all and (max-width: 800px) {
    #e2NavCustomization.e2Nav-open {
        width: 280px;
    }

    .e2BtnChangeLang {
        width: 20px;
        height: 20px;
    }

    #e2NavCustomization .e2-option {
        height: 15vh;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 50px;
        height: 50px;
    }

    #e2NavCustomization .e2-option > p {
        font-size: 0.5em;
    }

    #e2NavEnvironments.e2Nav-open {
        width: calc((100% - 280px - 160px) / 2);
    }

    #e2NavShapes.e2Nav-open {
        left: calc((100% - 280px - 160px) / 2 + 130px);
        width: calc((100% - 280px - 160px) / 2);
    }

    #e2NavModels {
        background-image: linear-gradient(
            to right,
            var(--white),
            var(--white) calc(100% - 280px),
            var(--white) calc(100% - 280px),
            var(--white50) calc(100% - (280px / 2)),
            transparent
        );
    }

    #e2ModelsCategorySet {
        width: calc(100% - 60px - 280px);
    }

    #e2NavModels .e2Arrow {
        font-size: 30px;
        line-height: 13px;
    }

    #e2ModelsArrowPrev {
        padding-left: 2px;
    }

    #e2ModelsArrowNext {
        padding-right: 2px;
    }

    #e2NavModels .e2-tab {
        width: 110px;
    }

    #e2NavModels .e2-tab span {
        font-size: 0.95em;
    }
}

/** Sur tous types d'écrans inférieurs à 870px (870 x 420 -- Samsung 869 x 412 / iPhone 6/7/8 Plus 736 x 414 HZN) **/
@media all and (max-device-width: 870px) and (max-height: 420px) and (orientation: landscape) {
    #e2NavCustomization.e2Nav-open {
        width: 220px;
    }

    #btnFullscreen,
    #btnOpenNavCustomization,
    #btnOpenNavModels,
    #btnE2VRLogo, #btnResetCamera {
        width: 40px;
        height: 40px;
        margin: 30px;
    }

    #btnE2VRLogo {
        right: 0;
    }
    #btnResetCamera {
        right: 50px;
    }

    #e2NavCustomization .e2BtnClose {
        position: initial;
    }

    #e2NavCustomization .e2BtnClose,
    #e2NavModels .e2BtnClose {
        width: 20px;
        height: 20px;
        margin: 10px;
        font-size: 20px;
        line-height: 16px;
    }

    .e2BtnChangeLang {
        width: 20px;
        height: 20px;
        margin: 10px;
    }

    #e2TitleNavCustomization {
        font-size: 1em;
        margin: 10px;
    }

    #e2LogoCustomer {
        display: none;
    }

    #e2NavCustomization .e2-category {
        opacity: 1;
    }

    #e2NavCustomization .e2-category-title {
        font-size: 0.9em;
        margin-top: 7px;
    }

    #e2NavCustomization .e2-group-options .title {
        font-size: 0.7em;
    }

    #e2NavCustomization .e2-option {
        height: auto;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 30px;
        height: 30px;
    }

    #e2NavCustomization .e2-option > p {
        display: none;
    }

    #e2NavEnvironments {
        top: 20px;
        left: 90px;
        width: calc((100% - 180px) / 2);
    }

    #e2NavEnvironments.e2Nav-open {
        width: calc((100% - 220px - 110px) / 2);
    }

    #e2NavShapes {
        top: 20px;
        left: calc((100% - 180px) / 2 + 90px);
        width: calc((100% - 180px) / 2);
    }

    #e2NavShapes.e2Nav-open {
        left: calc((100% - 220px - 110px) / 2 + 90px);
        width: calc((100% - 220px - 110px) / 2);
    }

    #e2NavEnvironments .e2-option,
    #e2NavShapes .e2-option {
        width: 60px;
        height: 60px;
    }

    #e2NavEnvironments .e2-option {
        margin-right: 16px;
    }

    #e2NavShapes .e2-option {
        margin-left: 16px;
    }

    #e2NavModels {
        background-image: linear-gradient(
            to right,
            var(--white),
            var(--white) calc(100% - 220px),
            var(--white) calc(100% - 220px),
            var(--white50) calc(100% - (220px / 2)),
            transparent
        );
    }

    #e2NavModels.e2Nav-open {
        height: 130px;
    }

    #e2TitleNavModels {
        left: 40px;
        font-size: 0.9em;
    }

    #e2ModelsCategorySet {
        left: 40px;
        width: calc(100% - 40px - 220px);
        padding-bottom: 6px;
    }

    #e2NavModels .e2Arrow {
        width: 35px;
    }

    #e2ModelsArrowPrev {
        padding-left: 2px;
    }

    #e2ModelsArrowNext {
        padding-right: 2px;
    }
}

/** Sur tous types d'écrans inférieurs à 720px (720 x 480) **/
@media all and (max-device-width: 720px) and (max-height: 480px) and (orientation: landscape) {
    #e2NavCustomization.e2Nav-open {
        width: 220px;
    }

    #btnFullscreen,
    #btnOpenNavCustomization,
    #btnOpenNavModels,
    #btnE2VRLogo, #btnResetCamera {
        width: 40px;
        height: 40px;
        margin: 30px;
    }

    #btnE2VRLogo {
        right: 0;
    }
    #btnResetCamera {
        right: 50px;
    }

    #e2NavCustomization .e2BtnClose {
        position: initial;
    }

    #e2NavCustomization .e2BtnClose,
    #e2NavModels .e2BtnClose {
        width: 20px;
        height: 20px;
        margin: 10px;
        font-size: 20px;
        line-height: 16px;
    }

    .e2BtnChangeLang {
        width: 20px;
        height: 20px;
        margin: 10px;
    }

    #e2TitleNavCustomization {
        font-size: 1em;
        margin: 10px;
    }

    #e2LogoCustomer {
        display: none;
    }

    #e2NavCustomization .e2-category {
        opacity: 1;
    }

    #e2NavCustomization .e2-category-title {
        padding: 10px 0;
        font-size: 1em;
    }

    #e2NavCustomization .e2-group-options {
        margin: 10px 0 0 0;
    }

    #e2NavCustomization .e2-group-options .title {
        font-size: 0.8em;
    }

    #e2NavCustomization .e2-option {
        height: auto;
        margin-bottom: 8px;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 40px;
        height: 40px;
    }

    .e2-activated {
        box-shadow: 0 0 10px var(--e2-blue40);
    }

    #e2NavCustomization .e2-option > p {
        display: none;
    }

    #e2NavEnvironments {
        top: 20px;
        left: 90px;
        width: calc((100% - 180px) / 2);
    }

    #e2NavEnvironments.e2Nav-open {
        width: calc((100% - 220px - 110px) / 2);
    }

    #e2NavShapes {
        top: 20px;
        left: calc((100% - 180px) / 2 + 90px);
        width: calc((100% - 180px) / 2);
    }

    #e2NavShapes.e2Nav-open {
        left: calc((100% - 220px - 110px) / 2 + 90px);
        width: calc((100% - 220px - 110px) / 2);
    }

    #e2NavEnvironments .e2-option,
    #e2NavShapes .e2-option {
        width: 60px;
        height: 60px;
    }

    #e2NavEnvironments .e2-option {
        margin-right: 16px;
    }

    #e2NavShapes .e2-option {
        margin-left: 16px;
    }

    #e2NavModels {
        background-image: linear-gradient(
            to right,
            var(--white),
            var(--white) calc(100% - 220px),
            var(--white) calc(100% - 220px),
            var(--white50) calc(100% - (220px / 2)),
            transparent
        );
    }

    #e2NavModels.e2Nav-open {
        height: 130px;
    }

    #e2TitleNavModels {
        left: 40px;
        font-size: 0.9em;
    }

    #e2ModelsCategorySet {
        left: 40px;
        width: calc(100% - 40px - 220px);
        padding-bottom: 6px;
    }

    #e2NavModels .e2Arrow {
        width: 30px;
    }

    #e2ModelsArrowPrev {
        padding-left: 2px;
    }

    #e2ModelsArrowNext {
        padding-right: 2px;
    }
}

/** Sur tous types d'écrans inférieurs à 812px (812 x 375 -- iPhone X) **/
@media all and (max-device-width: 812px) and (max-height: 375px) and (orientation: landscape) {
}

/** Sur tous types d'écrans inférieurs à 667px (667 x 375 -- iPhone 6/7/8 HZN) **/
@media all and (max-device-width: 667px) and (max-height: 375px) and (orientation: landscape) {
    #e2NavCustomization.e2Nav-open {
        width: 200px;
    }

    #e2TitleNavCustomization {
        font-size: 0.8em;
        margin: 6px;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 30px;
        height: 30px;
    }

    #e2NavCustomization .e2-category-title {
        font-size: 0.8em;
    }

    #e2NavCustomization .e2-group-options .title {
        font-size: 0.6em;
    }

    #e2NavEnvironments.e2Nav-open {
        width: calc((100% - 200px - 110px) / 2);
    }

    #e2NavShapes.e2Nav-open {
        left: calc((100% - 200px - 110px) / 2 + 90px);
        width: calc((100% - 200px - 110px) / 2);
    }

    #e2NavModels {
        background-image: linear-gradient(
            to right,
            var(--white),
            var(--white) calc(100% - 200px),
            var(--white) calc(100% - 200px),
            var(--white50) calc(100% - (200px / 2)),
            transparent
        );
    }

    #e2NavModels.e2Nav-open {
        height: 110px;
    }

    #e2ModelsCategorySet {
        width: calc(100% - 40px - 200px);
    }

    #e2NavModels .e2-tab {
        width: 100px;
        font-size: 0.9em;
    }

    #e2NavModels .e2-category {
        padding: 0 6px;
    }

    #e2NavModels .e2-option {
        height: calc(100% - 12px);
        margin: 6px 12px 6px 0;
    }

    #e2NavModels .e2-btn-round {
        border-radius: 6px;
    }

    #e2NavModels .e2-option p {
        font-size: 0.6em;
        bottom: 2px;
    }
}

/** Sur tous types d'écrans inférieurs à 640px (640 x 360)**/
@media all and (max-device-width: 640px) and (max-height: 360px) and (orientation: landscape) {
    #btnFullscreen,
    #btnOpenNavCustomization,
    #btnOpenNavModels,
    #btnE2VRLogo, #btnResetCamera {
        width: 30px;
        height: 30px;
        margin: 20px;
    }

    #btnE2VRLogo {
        right: 0;
    }
    #btnResetCamera {
        right: 50px;
    }

    #e2NavCustomization .e2-category-title {
        font-size: 0.7em;
    }

    #e2NavEnvironments {
        top: 15px;
        left: 70px;
        width: calc((100% - 140px) / 2);
    }

    #e2NavShapes {
        top: 15px;
        left: calc((100% - 140px) / 2 + 70px);
        width: calc((100% - 140px) / 2);
    }

    #e2NavShapes.e2Nav-open {
        left: calc((100% - 200px - 90px) / 2 + 70px);
        width: calc((100% - 200px - 90px) / 2);
    }

    #e2NavEnvironments .e2-option,
    #e2NavShapes .e2-option {
        width: 40px;
        height: 40px;
        border-radius: 6px;
    }

    #e2NavEnvironments .e2-option {
        margin-right: 10px;
    }

    #e2NavShapes .e2-option {
        margin-left: 10px;
    }

    #e2NavEnvironments .e2-btn-round,
    #e2NavShapes .e2-btn-round {
        border-radius: 4px;
    }

    #e2NavEnvironments .e2-option p,
    #e2NavShapes .e2-option p {
        font-size: 0.5em;
        border-radius: 0 0 4px 4px;
        background-color: var(--black40);
    }

    #e2NavModels .e2-tab {
        width: 90px;
        font-size: 0.85em;
    }
}

/** Sur tous types d'écrans de 600px (600 x 400) **/
@media all and (max-device-width: 600px) and (max-height: 400px) and (orientation: landscape) {
    #e2NavCustomization .e2-option {
        height: 10vh;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 30px;
        height: 30px;
    }
}

/** Sur tous types d'écrans inférieurs à 1024px (1024 x 1366 -- iPad Pro) **/
@media all and (max-device-width: 1024px) and (max-height: 1366px) and (orientation: portrait) {
    #ask-quotes {
        position: fixed;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        top: 10px;
    }

    #btnFullscreen,
    #btnOpenNavCustomization,
    #btnOpenNavModels,
    #btnE2VRLogo, #btnResetCamera {
        bottom: 0;
        left: 50%;
        right: auto;
        width: 50px;
        height: 50px;
        margin: 50px 0;
        transform: translateX(-50%);
    }

    #btnE2VRLogo {
        left: auto;
        right: 0;
    }

    #btnResetCamera {
        left: auto;
        right: 60px;
    }

    #btnOpenNavModels {
        transform: translateX(calc(-50% - 100px));
    }

    #btnOpenNavCustomization {
        transform: translateX(calc(-50% + 100px));
    }

    #e2NavEnvironments,
    #e2NavEnvironments.e2Nav-open,
    #e2NavShapes,
    #e2NavShapes.e2Nav-open {
        width: calc((100% - 50px * 2) / 2);
    }

    #e2NavEnvironments,
    #e2NavEnvironments.e2Nav-open {
        left: 50px;
    }

    #e2NavShapes,
    #e2NavShapes.e2Nav-open {
        left: auto;
        right: 50px;
    }

    #e2NavCustomization {
        position: fixed;
        top: unset;
        bottom: 0;
        width: 100vw;
        height: 0;
        overflow-y: hidden;
    }

    #e2NavCustomization.e2Nav-open {
        width: 100vw;
        height: 490px;
    }

    #e2NavCustomization .e2BtnClose {
        width: 40px;
        height: 40px;
        margin: 30px;
        font-size: 60px;
        line-height: 24px;
    }

    .e2BtnChangeLang {
        width: 40px;
        height: 40px;
        margin: 30px;
    }

    #e2LogoCustomer {
        display: none;
    }

    #e2TitleNavCustomization {
        height: 10%;
        font-size: 1.8em;
    }

    #e2NavCustomization .e2-category-set {
        width: 80%;
        height: 90%;
        overflow-y: scroll;
        /* -webkit-overflow-scrolling: touch; */
    }

    #e2NavCustomization .e2Arrow {
        position: absolute;
        top: 4px;
        display: block;
        width: 70px;
        height: 40px;
        font-size: 55px;
        font-weight: 600;
        text-align: center;
        text-transform: uppercase;
        line-height: 25px;
        border-radius: 100%;
        transition: var(--transFast);
        z-index: 500;
        animation: e2Arrows 500ms infinite alternate-reverse ease-in-out;
    }

    #e2CustomArrowPrev {
        left: 70px;
    }

    #e2CustomArrowNext {
        right: 70px;
    }

    .e2-dots-list {
        position: absolute;
        bottom: 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        transition: var(--transFast);
        z-index: 300;
    }

    .e2-dot {
        display: block;
        width: 20px;
        height: 20px;
        margin: 6px;
        border-radius: 100%;
        background-color: var(--greyMedium);
        border: 1px solid var(--greyDark);
    }

    .e2-dot[data-state="active"] {
        background-color: var(--grey);
        border: 1px solid var(--e2-blue);
    }

    #e2NavCustomization .e2-category {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        opacity: 0;
        transition: var(--transMedium);
        z-index: 100;
    }

    #e2NavCustomization .e2-category[data-state="active"] {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        opacity: 1;
        z-index: 300;
    }

    #e2NavCustomization .e2-category-title {
        width: 100%;
        padding: 0;
        justify-content: center;
        font-size: 1.6em;
        text-indent: 0;
        border: none;
        pointer-events: none;
        touch-action: none;
    }

    /* If we'll want to replace title by any logo */
    /* #e2NavCustomization .e2-category-title span {
        display: none;
    }

    #e2NavCustomization .e2-category-title .e2-thumbImg {
        width: 15%;
        transform: translateX(0);
    } */

    #e2NavCustomization .e2-group-options {
        width: 100%;
        /* If we have to show option's text for many group-options */
        /* margin: 0 !important; */
        padding: 10px 0 20px 0;
        overflow-x: auto;
        overflow-y: hidden;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-content: unset;
        align-items: center;
    }

    #e2NavCustomization .e2-group-options.disabled {
        display: none;
    }

    #e2NavCustomization .e2-group-options.list-active {
        animation: none;
    }

    #e2NavCustomization .e2-option {
        width: 16.66%;
        height: auto;
        margin: 0;
        flex: 0 0 auto;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 70px;
        height: 70px;
    }

    #e2NavCustomization .e2-option > p {
        display: none;
    }

    #e2NavModels {
        background-image: linear-gradient(to right, var(--white), var(--white));
    }

    #e2NavModels.e2Nav-open {
        height: 300px;
    }

    #e2NavModels .e2BtnClose {
        width: 40px;
        height: 40px;
        margin: 30px;
        font-size: 60px;
        line-height: 24px;
    }

    #e2TitleNavModels {
        left: 100px;
        font-size: 1.6em;
    }

    #e2ModelsCategorySet {
        left: 100px;
        width: calc(100% - 200px);
        padding-bottom: 20px;
    }

    #e2NavModels .e2Arrow {
        height: 30px;
        font-size: 50px;
        line-height: 16px;
    }

    #e2NavModels .e2-tab-set {
        height: 30px;
        padding: 0 40px;
    }

    #e2NavModels .e2-tab {
        width: 200px;
        margin-right: 61px;
        border-radius: 12px 12px 0 0;
    }

    #e2NavModels .e2-tab::before,
    #e2NavModels .e2-tab::after {
        width: 30px;
    }

    #e2NavModels .e2-tab::before {
        left: -30px;
    }

    #e2NavModels .e2-tab::after {
        right: -30px;
    }

    #e2NavModels .e2-tab span {
        font-size: 1.4em;
        line-height: 26px;
    }

    #e2NavModels .e2-tab span::before,
    #e2NavModels .e2-tab span::after {
        width: 31px;
    }

    #e2NavModels .e2-tab span::before {
        left: -30px;
    }

    #e2NavModels .e2-tab span::after {
        right: -30px;
    }

    #e2NavModels .e2-category {
        height: calc(100% - 30px);
        padding: 0 30px;
        border-radius: 16px;
        background-image: linear-gradient(to right, var(--grey), var(--grey));
    }

    #e2NavModels .e2-group-options {
        justify-content: space-evenly;
    }

    #e2NavModels .e2-option {
        height: calc(100% - 30px);
        margin: 15px 0;
    }
}

/** Sur tous types d'écrans inférieurs à 800px (800 x 1280 -- Samsung Galaxy Tab) **/
@media all and (max-device-width: 800px) and (max-height: 1280px) and (orientation: portrait) {
    #ask-quotes {
        position: fixed;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        top: 10px;
    }

    button.b-ask-quote {
        background-color: #fff;
    }

    #e2NavCustomization.e2Nav-open {
        height: 380px;
    }

    #e2NavCustomization .e2Arrow {
        top: -5px;
    }

    #e2TitleNavCustomization {
        font-size: 1.4em;
    }

    #e2NavCustomization .e2-category-title {
        font-size: 1.2em;
    }

    #e2NavCustomization .e2-group-options {
        padding: 8px 0 12px 0;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 50px;
        height: 50px;
    }

    .e2-activated {
        box-shadow: 0 0 10px var(--e2-blue40);
    }

    #e2NavModels.e2Nav-open {
        height: 220px;
    }

    #e2NavCustomization .e2BtnClose,
    #e2NavModels .e2BtnClose {
        width: 30px;
        height: 30px;
        margin: 20px;
        font-size: 50px;
        line-height: 18px;
    }

    #e2TitleNavModels {
        left: 90px;
        font-size: 1.2em;
    }

    #e2ModelsCategorySet {
        left: 90px;
        width: calc(100% - 180px);
    }

    #e2NavModels .e2Arrow {
        height: 20px;
        font-size: 40px;
        line-height: 8px;
    }

    #e2NavModels .e2-tab-set {
        height: 20px;
        padding: 0 30px;
    }

    #e2NavModels .e2-tab {
        width: 140px;
        margin-right: 41px;
        border-radius: 8px 8px 0 0;
    }

    #e2NavModels .e2-tab::before,
    #e2NavModels .e2-tab::after {
        width: 20px;
    }

    #e2NavModels .e2-tab::before {
        left: -20px;
    }

    #e2NavModels .e2-tab::after {
        right: -20px;
    }

    #e2NavModels .e2-tab span {
        font-size: 1em;
        line-height: 16px;
    }

    #e2NavModels .e2-tab span::before,
    #e2NavModels .e2-tab span::after {
        width: 21px;
    }

    #e2NavModels .e2-tab span::before {
        left: -20px;
    }

    #e2NavModels .e2-tab span::after {
        right: -20px;
    }

    #e2NavModels .e2-category {
        height: calc(100% - 20px);
        padding: 0 20px;
        border-radius: 8px;
    }

    #e2NavModels .e2-option {
        height: calc(100% - 20px);
        margin: 10px 0;
    }
}

/** Sur tous types d'écrans inférieurs à 768px (768 x 1024 -- iPad) **/
@media all and (max-device-width: 768px) and (max-height: 1024px) and (orientation: portrait) {
    #ask-quotes {
        position: fixed;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        top: 10px;
    }

    button.b-ask-quote {
        background-color: #fff;
    }

    #e2NavCustomization.e2Nav-open {
        height: 380px;
    }

    #e2NavCustomization .e2Arrow {
        top: -5px;
    }

    #e2TitleNavCustomization {
        font-size: 1.4em;
    }

    #e2NavCustomization .e2-category-title {
        font-size: 1.2em;
    }

    #e2NavCustomization .e2-group-options {
        padding: 8px 0 12px 0;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 50px;
        height: 50px;
    }

    .e2-activated {
        box-shadow: 0 0 10px var(--e2-blue40);
    }

    #e2NavModels.e2Nav-open {
        height: 220px;
    }

    #e2NavCustomization .e2BtnClose,
    #e2NavModels .e2BtnClose {
        width: 30px;
        height: 30px;
        margin: 20px;
        font-size: 50px;
        line-height: 18px;
    }

    #e2TitleNavModels {
        left: 90px;
        font-size: 1.2em;
    }

    #e2ModelsCategorySet {
        left: 90px;
        width: calc(100% - 180px);
    }

    #e2NavModels .e2Arrow {
        height: 20px;
        font-size: 40px;
        line-height: 8px;
    }

    #e2NavModels .e2-tab-set {
        height: 20px;
        padding: 0 30px;
    }

    #e2NavModels .e2-tab {
        width: 140px;
        margin-right: 41px;
        border-radius: 8px 8px 0 0;
    }

    #e2NavModels .e2-tab::before,
    #e2NavModels .e2-tab::after {
        width: 20px;
    }

    #e2NavModels .e2-tab::before {
        left: -20px;
    }

    #e2NavModels .e2-tab::after {
        right: -20px;
    }

    #e2NavModels .e2-tab span {
        font-size: 1em;
        line-height: 16px;
    }

    #e2NavModels .e2-tab span::before,
    #e2NavModels .e2-tab span::after {
        width: 21px;
    }

    #e2NavModels .e2-tab span::before {
        left: -20px;
    }

    #e2NavModels .e2-tab span::after {
        right: -20px;
    }

    #e2NavModels .e2-category {
        height: calc(100% - 20px);
        padding: 0 20px;
        border-radius: 8px;
    }

    #e2NavModels .e2-option {
        height: calc(100% - 20px);
        margin: 10px 0;
    }

    #e2NavModels .e2-option p {
        width: 150px;
    }
}

/** Sur tous types d'écrans inférieurs à 480px (480 x 720) **/
@media all and (max-device-width: 480px) and (max-height: 720px) and (orientation: portrait) {
    #btnFullscreen,
    #btnOpenNavCustomization,
    #btnOpenNavModels,
    #btnE2VRLogo, #btnResetCamera {
        width: 40px;
        height: 40px;
        margin: 30px 0;
    }

    #btnE2VRLogo {
        right: 0;
        margin-right: 15px;
    }

    #btnResetCamera {
        left: 50px;
        margin-left: 15px;
    }

    #btnOpenNavModels {
        transform: translateX(calc(-50% - 70px));
    }

    #btnOpenNavCustomization {
        transform: translateX(calc(-50% + 70px));
    }

    #e2NavEnvironments,
    #e2NavEnvironments.e2Nav-open,
    #e2NavShapes,
    #e2NavShapes.e2Nav-open {
        top: 20px;
        width: calc((100% - 20px * 2) / 2);
    }

    #e2NavEnvironments,
    #e2NavEnvironments.e2Nav-open {
        left: 20px;
    }

    #e2NavShapes,
    #e2NavShapes.e2Nav-open {
        right: 20px;
    }

    #e2NavEnvironments .e2-option,
    #e2NavShapes .e2-option {
        width: 50px;
        height: 50px;
    }

    #e2NavEnvironments .e2-option {
        margin-right: 16px;
    }

    #e2NavShapes .e2-option {
        margin-left: 16px;
    }

    #e2NavEnvironments .e2-option p,
    #e2NavShapes .e2-option p {
        font-size: 0.7em;
    }

    #e2NavCustomization.e2Nav-open {
        height: 250px;
    }

    #e2NavCustomization .e2BtnClose {
        width: 30px;
        height: 30px;
        margin: 20px;
        font-size: 30px;
        line-height: 24px;
    }

    .e2BtnChangeLang {
        width: 30px;
        height: 30px;
        margin: 20px;
    }

    #e2TitleNavCustomization {
        font-size: 1.2em;
    }

    #e2NavCustomization .e2Arrow {
        top: -12px;
        width: 50px;
        height: 50px;
        font-size: 50px;
        line-height: 36px;
    }

    #e2CustomArrowPrev {
        left: 50px;
    }

    #e2CustomArrowNext {
        right: 50px;
    }

    .e2-dots-list {
        bottom: 6px;
    }

    #e2NavCustomization .e2-category-title {
        font-size: 1em;
        margin-top: 7px;
    }

    #e2NavCustomization .e2-group-options {
        padding: 6px 0 10px 0;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 30px;
        height: 30px;
    }

    .e2-activated {
        box-shadow: 0 0 8px var(--e2-blue40);
    }

    #e2NavModels.e2Nav-open {
        height: 180px;
    }

    #e2NavModels .e2BtnClose {
        width: 30px;
        height: 30px;
        margin: 5px;
        font-size: 30px;
        line-height: 24px;
    }

    #e2TitleNavModels {
        left: 70px;
        font-size: 1.3em;
    }

    #e2ModelsCategorySet {
        left: 20px;
        width: calc(100% - 40px);
    }

    #e2NavModels .e2Arrow {
        width: 35px;
    }

    #e2NavModels .e2-tab {
        width: 100px;
    }

    #e2NavModels .e2-tab span {
        font-size: 0.95em;
    }

    #e2NavModels .e2-category {
        padding: 0 16px;
    }

    #e2NavModels .e2-option {
        height: calc(100% - 16px);
        margin: 8px 0;
    }
}

/** Sur tous types d'écrans inférieurs à 420px (420 x 870 -- Samsung 412 x 869 / iPhone 6/7/8 Plus 414 x 735) **/
@media all and (max-device-width: 420px) and (max-height: 870px) and (orientation: portrait) {
    #btnFullscreen,
    #btnOpenNavCustomization,
    #btnOpenNavModels,
    #btnE2VRLogo, #btnResetCamera {
        width: 40px;
        height: 40px;
        margin: 30px 0;
    }

    #btnE2VRLogo {
        right: 0;
    }
    #btnResetCamera {
        left: 50px;
    }

    #btnOpenNavModels {
        transform: translateX(calc(-50% - 70px));
    }

    #btnOpenNavCustomization {
        transform: translateX(calc(-50% + 70px));
    }

    #e2NavEnvironments,
    #e2NavEnvironments.e2Nav-open,
    #e2NavShapes,
    #e2NavShapes.e2Nav-open {
        top: 20px;
        width: calc((100% - 20px * 2) / 2);
    }

    #e2NavEnvironments,
    #e2NavEnvironments.e2Nav-open {
        left: 20px;
    }

    #e2NavShapes,
    #e2NavShapes.e2Nav-open {
        right: 20px;
    }

    #e2NavEnvironments .e2-option,
    #e2NavShapes .e2-option {
        width: 50px;
        height: 50px;
    }

    #e2NavEnvironments .e2-option {
        margin-right: 16px;
    }

    #e2NavShapes .e2-option {
        margin-left: 16px;
    }

    #e2NavEnvironments .e2-option p,
    #e2NavShapes .e2-option p {
        font-size: 0.7em;
    }

    #e2NavCustomization.e2Nav-open {
        height: 280px;
    }

    #e2NavCustomization .e2BtnClose {
        width: 30px;
        height: 30px;
        margin: 20px;
        font-size: 30px;
        line-height: 24px;
    }

    .e2BtnChangeLang {
        width: 30px;
        height: 30px;
        margin: 20px;
    }

    #e2TitleNavCustomization {
        font-size: 1.2em;
    }

    #e2NavCustomization .e2-category-set {
        width: 88%;
        overflow-y: scroll;
        /* -webkit-overflow-scrolling: touch; */
    }

    #e2NavCustomization .e2Arrow {
        top: -9px;
        width: 50px;
        height: 50px;
        font-size: 50px;
        line-height: 36px;
    }

    #e2CustomArrowPrev {
        left: 40px;
    }

    #e2CustomArrowNext {
        right: 40px;
    }

    .e2-dots-list {
        bottom: 10px;
    }

    #e2NavCustomization .e2-category-title {
        font-size: 0.7em;
        margin-top: 7px;
    }

    #e2NavCustomization .e2-group-options {
        padding: 6px 0 10px 0;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 40px;
        height: 40px;
    }

    .e2-activated {
        box-shadow: 0 0 8px var(--e2-blue40);
    }

    #e2NavModels.e2Nav-open {
        height: 170px;
    }

    #e2NavModels .e2BtnClose {
        width: 30px;
        height: 30px;
        margin: 5px;
        font-size: 30px;
        line-height: 24px;
    }

    #e2TitleNavModels {
        left: 70px;
        font-size: 1.3em;
    }

    #e2ModelsCategorySet {
        left: 20px;
        width: calc(100% - 40px);
    }

    #e2NavModels .e2Arrow {
        width: 35px;
    }

    #e2NavModels .e2-tab-set {
        height: 20px;
        padding: 0 30px;
    }

    #e2NavModels .e2-tab {
        width: 80px;
        margin-right: 41px;
        border-radius: 8px 8px 0 0;
    }

    #e2NavModels .e2-tab::before,
    #e2NavModels .e2-tab::after {
        width: 20px;
    }

    #e2NavModels .e2-tab::before {
        left: -20px;
    }

    #e2NavModels .e2-tab::after {
        right: -20px;
    }

    #e2NavModels .e2-tab span {
        font-size: 0.8em;
        line-height: 17px;
    }

    #e2NavModels .e2-tab span::before,
    #e2NavModels .e2-tab span::after {
        width: 21px;
    }

    #e2NavModels .e2-tab span::before {
        left: -20px;
    }

    #e2NavModels .e2-tab span::after {
        right: -20px;
    }

    #e2NavModels .e2-category {
        padding: 0 10px;
    }

    #e2NavModels .e2-option {
        height: calc(100% - 20px);
        margin: 10px 0;
    }
}

/** Sur tous types d'écrans inférieurs à 375px (375 x 812 -- iPhone X) **/
@media all and (max-device-width: 375px) and (max-height: 812px) and (orientation: portrait) {
    #e2NavCustomization .e2BtnClose,
    .e2BtnChangeLang {
        margin: 10px;
    }

    #e2CustomArrowPrev {
        left: 30px;
    }

    #e2CustomArrowNext {
        right: 30px;
    }

    #e2NavModels.e2Nav-open {
        height: 155px;
    }

    #e2NavModels .e2-tab {
        width: 110px;
    }

    #e2NavModels .e2-tab span {
        font-size: 0.9em;
    }

    #e2NavModels .e2-option p {
        bottom: 2px;
    }
}

/** Sur tous types d'écrans inférieurs à 375px (375 x 667 -- iPhone 6/7/8) **/
@media all and (max-device-width: 375px) and (max-height: 667px) and (orientation: portrait) {
    #e2NavCustomization.e2Nav-open {
        height: 240px;
    }

    #e2NavCustomization .e2-option > .e2-btn-round {
        width: 26px;
        height: 26px;
    }
}

/** Sur tous types d'écrans inférieurs à 360px (360 x 640)**/
@media all and (max-device-width: 360px) and (max-height: 640px) and (orientation: portrait) {
    #e2CustomArrowPrev {
        left: 25px;
    }

    #e2CustomArrowNext {
        right: 25px;
    }

    #e2NavModels.e2Nav-open {
        height: 150px;
    }
}

/** Sur tous types d'écrans de 1366px (1366 x 1024 -- iPad Pro HZN) **/
@media all and (min-width: 1366px) and (min-height: 1024px) and (orientation: landscape) {
    #e2NavCustomization .e2-option {
        height: 11vh;
    }

    #e2NavModels.e2Nav-open {
        height: 200px;
    }
}

/** Sur tous types d'écrans de 1440px à 1599px (1440 x 768/900) **/
@media all and (min-width: 1440px) {
    #e2NavCustomization .e2-option {
        height: 14vh;
    }
}

/** Sur tous types d'écrans de 1600px à 1919px (1600 x 900) **/
@media all and (min-width: 1600px) {
    #e2NavCustomization .e2-option {
        height: 12vh;
    }
}

/** Sur tous types d'écrans de 1920px min (1920 x 1080) **/
@media all and (min-width: 1920px) {
    #e2NavCustomization .e2-option {
        height: 10.5vh;
    }

    #e2NavModels .e2-tab {
        width: 200px;
    }
}

/** ------------------------------------------------------- **/
/** ---------------------- Animations --------------------- **/
/** ------------------------------------------------------- **/

@keyframes openList {
    0% {
        height: 0;
        opacity: 0;
    }

    50% {
        height: 20vh;
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes e2Arrows {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.2);
    }
}
