/* v2501.02 */

/*
--
-- 3DS
--
*/
:root {
    --color-button-bg: rgba(0, 104, 168, .9);
    --color-descr-bg1: rgba(0, 83, 133, .6);
    --color-descr-bg2: rgba(0, 104, 168, .9);
    --color-error: #ee5f5b;
    --color-error1: #a6d3e9;
    --color-form-txt: #c4d8f1;
    --color-form-pld: #8a95a1;
    --field-fg-color: #8a95a1;
}

/*
--
-- font
--
*/

@font-face {
    font-family: ds-font;
    src: url("../uploads/55fc64e47474a2b7694dfd77c17a895ebdb30329/127bb98c12cc77fb6efdd8752290d3b1fbd477d5/3ds-Regular.otf") format("opentype");
}

#header {
    -moz-box-shadow: none;
    -o-box-shadow: none;
    -ms-box-shadow: none;
    box-shadow: none;
}

#background {
    opacity: 1 !important;
}

/*
--
-- main container
--
*/

body.footer-sticky #container {
    padding-bottom: 0;
}


/*
--
-- player - rounded videoplayer
-- 
------------------------------------------- 
*/

#playerIframe {
    border-radius: 16px;
}

/*
--
-- tabs - rounded tabs container 
--
------------------------------------------- 
*/

#container #widgets {
    border-radius: 8px;
}

/* 
--
-- Signin
--
*/

.form-fields.one-field {
    flex-direction: column;
}

.field-required:after,
.field-input::placeholder {
    color: var(--color-form-pld) !important;
}

.field-input {
    color: var(--field-fg-color);
}

input:-internal-autofill-selected {
    color: var(--field-fg-color);
    background-color: var(--field-bg-color);
}

.form-whitelisting {
    color: var(--color-form-txt);
}

.form-submit:hover {
    opacity: .95;
}

.form-submit[disabled] {
    opacity: .75 !important;
}


body.signin #footer div.wrap,
body.signin #header div.wrap {
    max-width: 1580px;
}

#chat .tabTitle,
#main div#right ul#tabs li.active,
#container #widgets ul#tabs li.active {
    border-color: transparent;
}

.form-whitelisting {
    padding: 1em 2.5em;
    border-radius: 8px;
    width: 480px;
    max-width: calc(100% - 4px)
}

.signin .signin-content .signin-form label.submit_signin_label {
    display: none;
}

.field,
.field .field-input {
    border-radius: 4px;
    padding-top: .5em;
}

.field-input {
    padding: 1em;
}

.signin .type-submit,
.signin .signin-content .signin-form input.type-submit {
    font-size: 1.2em;
    padding: 1.2em;
    border-radius: 4px;
}



/* 
--
-- Header 
--
*/

#logo {
    margin-top: -.5em;
}

#header {
    background: transparent;
    display: flex;
}

#header .wrap {
    padding: 20px 0;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
}

#header .header-lang-switch {
    display: none;
}

body * {
    font-family: ds-font, sans-serif;
}


.header-text,
.header-logo {
    display: flex;
    align-items: center;
    vertical-align: middle;
    height: 100%;
    width: 98%;
}

h1.header-logo {
    width: 20%;
}

.header-title {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    align-content: space-around;
}


.header-title .title {
    font-weight: unset;
    margin-left: auto;
    margin-right: 0;
}

.header-title .subtitle {
    font-size: 26px;
    text-align: left;
    padding-left: 10px;
    margin-left: 0;
    margin-right: auto;
}


/* 
--
-- Description
-- 
*/

#container .wrap .left div#description {
    background-color: var(--color-descr-bg1);
    display: block;
    border-radius: 8px;
}

#container .wrap .left div#description #descriptionScroll {
    padding: 1em 3%;
    height: auto;
    max-height: 450px;
    /*
    height: -moz-fit-content;
    max-height: -moz-fit-content;
    overflow: unset;
*/
}

div#descriptionScroll h2 {
    background: transparent;
    /*padding-top: 10px;*/
    padding-left: 10px;
    color: white;
    /*border-bottom: unset;*/
}

p.desc-content1 {
    background: transparent;
    padding-top: 5px;
    padding-left: 10px;
}

.desc-flex-Links {
    display: flex;
    margin-top: 25px;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}

.desc-flex-Links .tpl-row,
.desc-flex-Links .tpl-col {
    justify-content: unset;
    text-align: unset;
    box-sizing: unset;
}

.desc-flex-Links .tpl-container {
    flex: 0 0 24%;
    font-size: 1rem;
    background: var(--color-descr-bg2);
    border-radius: 8px;
    color: white;
    padding-top: 0;
    padding-bottom: 10px;
}

.tpl.tpl-speaker.tpl-container a {
    color: white !important;
}

.tpl.tpl-speaker.tpl-container a:hover {
    text-decoration: none;
}

.desc-flex-Links .tpl-row {
    justify-content: center;
    margin-top: unset;
    text-align: unset;
}

.desc-flex-Links .tpl-description {
    font-size: 0.8em;
    width: 100%;
    flex: unset;
    padding: 0 5% 0 5%;
    min-height: 117px;
}

.desc-flex-Links p {
    position: realtive;
    padding: 1em 0;
    margin: 0;
    text-align: center;
}

.desc-link {
    width: 100%;
}

/*
--
-- TAB CONTENT
--
*/

#container #widgets ul#contents {
    background: transparent;
}

#tab1Content,
#tab2Content,
#tabTwitterContent {
    padding: 0 10px;
    background: var(--color-tabs1-bg);
}

#tab1Content,
#tab2Content {
    padding-top: 1em;
}

.tabContent::-webkit-scrollbar-thumb {
    background-color: var(--color-button-bg);
}

.tabContent::-webkit-scrollbar-button:vertical:increment {
    height: 4px;
}

.tabContent.show {
    display: flex !important;
}

.tabContent {
    flex-wrap: wrap;
    box-sizing: border-box;
    justify-content: center;
    align-items: flex-start;
}

/*
--
-- TABS TPL 
--
*/

.tpl-container {
    justify-content: center;
}

.tpl-time * {
    padding: 0;
    text-align: center;
}


.tpl-agenda,
.tpl-speaker {
    color: #fff;
    padding: 1em;
    border-radius: 8px;
    background-color: var(--color-button-bg);
}

/*
--
--  Agenda 
--
*/

.tpl-agenda {
    margin-bottom: 2em;
}

.tpl-agenda .session-title {
    margin-bottom: 1em;
    font-size: 1.2em;
}

.tpl-agenda .session-title:last-child {
    margin-bottom: 0;
}

.tpl-agenda .session-topic,
.tpl-agenda .session-speaker {
    font-size: 1.1em;
    margin-bottom: .25em;
}

.tpl-agenda .session-speaker .speaker-title {
    font-size: .9em;
}

.tpl-agenda .tpl-nowrap {
    justify-content: initial;
}

.tpl-agenda .tpl-description {
    padding-left: 5%;
    padding-right: 5%;
    width: 75%;
    align-self: flex-start;
    max-width: calc(100% - 110px);
}

.tpl-agenda .tpl-time {
    font-size: 1.3em;
    width: 18%;
    min-width: 110px;
    min-height: 3em;
    padding-right: 4px;
    padding-bottom: .4em;
}

.tpl-time * {
    line-height: 1.1em;
}

.tpl-agenda .tpl ul {
    margin-top: 5px;
}

.compact .compact-hide {
    display: none !important;
}

.compact .tpl-agenda {
    flex-wrap: wrap;
}

.compact .tpl-agenda .tpl-description {
    padding: 0 5%
}

.compact .tpl-agenda .tpl-description,
.compact .tpl-agenda .tpl-time {
    width: 100%;
}

.compact .tpl-agenda .tpl-time {
    min-height: unset;
    min-height: none;
}

.compact .tpl-agenda .session-topic {
    padding: 0 0 .25em 10%;
}

.compact .tpl-agenda .session-speaker,
.compact .tpl-agenda .session-title {
    text-align: center;
}

/* 
--
-- Speaker 
--
*/

.tpl-speaker .speaker-name {
    font-size: 1em;
}

.tpl-speaker .tpl-img {
    align-items: flex-start;
    align-self: stretch;
}

.tpl-speaker .img {
    border-radius: 8px;
}

.speaker-job {
    font-size: .9em;
}

.speaker-company {
    font-size: 0.9em;
    margin-top: 5px;
    margin-bottom: 5px;
}

.tpl-speaker .speaker-bio {
    display: none;
}

.tpl-speaker.with-bio .speaker-bio {
    display: inherit;
    font-size: 1em;
    padding: 0 5%;
    height: auto;
    max-height: 0;
    transition: max-height .5s ease-out;
    overflow: hidden;
}

/* 
--
-- Speaker fixed height
--
*/
.tpl-speaker .tpl-description {
    justify-content: left;
}

.tpl-speaker.with-bio {
    cursor: pointer;
}

.tpl-speaker.with-bio.tpl-container {
    margin-bottom: 1em;
}

.tpl-speaker.with-bio>.tpl-row:first-child {
    position: relative;
}

.tpl-speaker.with-bio>.tpl-row:first-child:after {
    content: 'more ...';
    text-decoration: underline;
    display: block;
    line-height: .5em;
    text-align: left;
    position: absolute;
    bottom: -.25em;
    opacity: 1;
    transition: opacity .5s;
}

.tpl-speaker.with-bio:hover>.tpl-row:first-child:after,
.tpl-speaker.with-bio.expand>.tpl-row:first-child:after {
    opacity: 0;
}

.tpl-speaker.with-bio:hover>.tpl-row:after {
    text-decoration: underline;
}

.tpl-speaker.with-bio:hover .speaker-bio,
.tpl-speaker.expand .speaker-bio {
    max-height: 20em;
}


/* 
--
-- footer 
--
*/

body.footer-sticky #footer {
    /*position: absolute;*/
    position: relative;
    display: initial;
}

#footer .wrap.footer-credits {
    width: 98%;
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    box-sizing: border-box;
}

#footer .text {
    text-align: center;
    display: flex;
    justify-content: center;
    padding: 0;
    max-width: 34%;
}

@media only screen and (max-width: 1180px) {
    #footer .text {
        max-width: none;
    }

    #footer .wrap.footer-credits {
        justify-content: center;
    }
}

#footer .credits {
    color: #cacaca;
    display: flex;
    /*flex-direction: column;*/
    /*/!\IE11*/
}

.signin .dassault-footer-link-container {
    display: none;
}

.dassault-footer-link-container {
    height: 50px;
    /*width: auto;*/
    /*align-self: end;*/
    background: #004E7E;
    border-radius: 8px;
    padding: 15px 30px;
    margin-bottom: 20px;
    margin-top: 12px;
    display: flex;
    /*flex-direction: column;*/
    /*/!\IE11*/
    justify-content: center;
    align-items: center;
    /*
    box-shadow: 0px 0px 5px 1px rgb(0 0 0 / 75%) inset;
    -webkit-box-shadow: 0px 0px 5px 1px rgb(0 0 0 / 75%) inset;
    -moz-box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.75) inset;
*/
}


.dassault-footer-link-container a {
    color: white !important;
}

.dassault-footer-link-container a:hover {
    text-decoration: none;
}

@media (max-width: 1500px) {
    .header-logo {
        width: 30% !important;
    }

    .header-title {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-around;
        align-items: center;
        align-content: space-around;
    }

    /*
    .dassault-footer-link-container {
        align-self: center;
    }
*/
}

@media (max-width: 650px) {
    .header-logo {
        width: 40% !important;
    }

    #header .header-text .subtitle,
    #header .header-text .title {
        font-size: 12px;
    }

    .desc-flex-Links .tpl-description {
        font-size: 10px;
        /*height: 130px;*/
    }
}


/*
--
-- fix cookies banner
--
*/
#cookies_banner span.i-agree {
    display: inline-block;
}

/* 
--
-- banner ZH
-- 
-----------------------------------------------------------
*/
.banner-close {
    top: 0;
    bottom: auto !important;
    display: block !important;
}

@media only screen and (max-width:632px) {
    #cookies_banner .banner_cgv_rgdp {
        margin-top: 10px;
    }
}

/*
--
-- langswitch list (fr)
--
-------------------------------------------------------------*/
.lang-list-flags>*:nth-child(4) {
    display: none;
}


/*
--
-- bs-privacy-policies
--
-------------------------------------------------------------
*/
#footer .credits {
    flex-wrap: wrap;
}

.privacy-policies-banner-anchor {
    margin: 20px 0;
    height: 2em;
    width: 100%;
}

.bs-privacy-policies-banner {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 96vw;
    max-width: 1580px;
    font-size: 12px;
}

body.signin .bs-privacy-policies-banner {
    position: relative;
}

body.signin #footer .wrap.footer-credits {
    justify-content: center;
}

/*
--
-- SLIDO
--
*/

@keyframes curtain {
    0% {
        width: 50%;
    }

    70% {
        width: 50%;
    }

    100% {
        width: 30%;
    }
}

body.embedContent:not(.synchroslide).widgets #container .wrap #tabsWidgetsWrapper,
body:not(.synchroslide).widgets #container .wrap #tabsWidgetsWrapper {
    min-height: 480px;
}

body.global {
    overflow-x: hidden;
}

#container #widgets {
    min-height: 100%;
}

.slido-container {
    position: relative;
    padding: 0 !important;
    overflow-y: hidden;
}

.slido-container:before,
.slido-container:after {
    opacity: 0;
    background-color: var(--color-tabs1-bg);
    width: 50%;
    height: 6px;
    position: absolute;
    z-index: 2;
    top: 0;
    display: block;
    content: '';
}

.slido-container:before {
    left: 0;
}

.slido-container:after {
    right: 0;
}

.slido-container iframe {
    top: -56px;
    position: absolute;
    z-index: 1;
    min-height: calc(100% + 56px);
}

#tabsWidgetsWrapper {
    position: relative;
}

@media only screen and (min-width: 1181px) {

    #tabTwitterContent:hover {
        max-height: calc(100% - 39px) !important;
    }

    .slido-container {
        right: 0;
        max-width: 100%;
        width: 538px;
        transition: width .4s ease-out, height .4s ease-out, right .6s ease-out;
        x-transition: width .5s ease-out, right .5s .5s, border-radius .5s .2s ease-in;
    }

    .slido-container:hover {
        max-width: 590px;
        width: 590px;
        position: absolute;
        right: -15px;
        border-radius: 12px;
    }
}

@media only screen and (min-width: 1581px) {

    .slido-container:hover {
        x-right: 50%;
        x-transform: translate(50%, 0);
    }
}

/**/


/*
--
-- FIX - signin form 
--
*/

.field-alert {
    line-height: 1.1;
    top: auto;
    bottom: calc(100% - .5em - 1px);
    /*100% - padding - border*/
    border-bottom-left-radius: 0;
    /*border-bottom-right-radius: 0;*/
    border: 1px solid var(--err-color);
    border-bottom: none;

}

.placeholder-label .field-label {
    bottom: 100%;
    top: auto;
}

/*
--
-- rmp-error 
--
*/

.rmp-error-ui .rmp-error {
    font-family: inherit;
}

.rmp-error-ui .rmp-error-overlay::before,
.rmp-error-ui .rmp-error-overlay {
    background: transparent;
}

.rmp-error-ui .rmp-error-text-wrapper {
    position: static;
    transform: none;
}

.rmp-error-ui .rmp-error-text-header {
    line-height: 2em;
    position: absolute;
    bottom: 1em;
    left: 1em;
    font-size: 1em;
    opacity: .5;
}

.rmp-error-ui .rmp-error-output {
    display: none;
}

.player-container>.rmp-error-ui .rmp-loading-spin {
    display: block !important;
}

.player-container>.rmp-container:not(.rmp-chrome) .rmp-control-bar,
.player-container>.rmp-error-ui .rmp-control-bar {
    opacity: 0 !important;
}