/* Custom CSS */

#jupiterx-main {
  overflow-x: hidden;
}
/* -- Header --*/
/* Menu */
#menu-1-42387486 .menu-item a, #menu-1-1e990bb .menu-item a {
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.2, 1, 0.8, 1);
    font-weight: 400;
}
#menu-1-42387486 .menu-item a::before,
#menu-1-42387486 .menu-item a::after {
    position: absolute;
    width: 100%;
    height: 1px;
    background: #796025;
    top: 100%;
    left: 0;
    pointer-events: none;
}
#menu-1-1e990bb .menu-item a::before,
#menu-1-1e990bb .menu-item a::after {
    position: absolute;
    width: 100%;
    height: 1px;
    background: #fff;
    top: 100%;
    left: 0;
    pointer-events: none;
}
#menu-1-42387486 .menu-item a::before, #menu-1-1e990bb .menu-item a::before {
    content: '';
    transform-origin: 50% 100%;
    transition: clip-path 0.3s, transform 0.3s cubic-bezier(0.2, 1, 0.8, 1);
    clip-path: polygon(0% 0%, 0% 100%, 0 100%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%, 100% 100%, 100% 0%);
}
#menu-1-42387486 .menu-item a:hover::before, #menu-1-1e990bb .menu-item a:hover::before {
    transform: translate3d(0, 2px, 0) scale3d(1, 2, 1);
    clip-path: polygon(0% 0%, 0% 100%, 50% 100%, 50% 0, 50% 0, 50% 100%, 50% 100%, 0 100%, 100% 100%, 100% 0%);
}
#menu-1-42387486 .menu-item a:hover, #menu-1-1e990bb .menu-item a:hover {
    transform: translate3d(0, -2px, 0);
}
#menu-1-42387486 .menu-item a.elementor-item-active, #menu-1-1e990bb .menu-item a.elementor-item-active {
    font-weight: 500;
}
.menu-hamburger svg{
    transition: all 0.3s ease;
}
.menu-hamburger svg:hover #psi-copy{
    fill: #796025; 
}
.menu-hamburger svg:hover {
    transform: translateY(-2px);
}
.menuhamburger-link3 a:hover{
    color: #a3becb !important;
	transition: all 0.2s ease-in-out;
}
.mh-bateauaquai .post-thumbnail:hover{
    border: 3px solid #FFF !important;
}
.portsi-posts .post-meta {
    pointer-events: none;
    cursor: default;
}
/* language switcher */
.lsfe-item.lsfe-item__active{
	display: none;
}


/* Footer */
footer .elementor-icon-list-item a span {
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.2, 1, 0.8, 1);
}
footer .elementor-icon-list-item a span::before,
footer .elementor-icon-list-item a span::after {
    position: absolute;
    width: 100%;
    height: 1px;
    background: #796025;
    top: 100%;
    left: 0;
    pointer-events: none;
}
footer .elementor-icon-list-item a span::before {
    content: '';
    transform-origin: 50% 500%;
    transition: clip-path 0.3s, transform 0.3s cubic-bezier(0.2, 1, 0.8, 1);
    clip-path: polygon(0% 0%, 0% 100%, 0 100%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%, 100% 100%, 100% 0%);
}
footer .elementor-icon-list-item a span:hover::before{
    transform: translate3d(0, 2px, 0) scale3d(1, 2, 1);
    clip-path: polygon(0% 0%, 0% 100%, 50% 100%, 50% 0, 50% 0, 50% 100%, 50% 100%, 0 100%, 100% 100%, 100% 0%);
}
footer .elementor-icon-list-item a span:hover{
    transform: translate3d(0, -2px, 0);
}
footer .elementor-text-editor a{
    transition: all 0.3s ease;
}
footer .elementor-text-editor a:hover{
    font-weight: 600;
    color: #796025 !important;
    transform: translateY(-1px);
}

/* -- General -- */
.niveau1-title-section {
    margin: 20px !important;
}
.psi-image-blocdecal{
    transition: all 0.3s ease !important;
    cursor: pointer;
    margin-left: 8%;
    margin-right: 8%;
}
.psi-image-blocdecal:hover{
    transform: translateY(-20px);
}

.beforefooter-section1 svg,
.beforefooter-section2 svg,
.beforefooter-section3 svg,
.beforefooter-section1 .elementor-widget-image,
.beforefooter-section2 .elementor-widget-image,
.beforefooter-section3 .elementor-widget-image,
.beforefooter-section1 .elementor-widget-heading,
.beforefooter-section2 .elementor-widget-heading,
.beforefooter-section3 .elementor-widget-heading,
.beforefooter-section1 .elementor-widget-text-editor,
.beforefooter-section2 .elementor-widget-text-editor,
.beforefooter-section3 .elementor-widget-text-editor
{
    transition: all 0.3s ease !important;
}
.beforefooter-section1:hover svg,
.beforefooter-section2:hover svg,
.beforefooter-section3:hover svg{
     transform: translate(0px, -8px);
     outline: none !important;
}
.beforefooter-section1:hover .elementor-widget-image,
.beforefooter-section2:hover .elementor-widget-image,
.beforefooter-section3:hover .elementor-widget-image{
    transform: translate(0, -42px);
}
.beforefooter-section1:hover .elementor-widget-heading,
.beforefooter-section2:hover .elementor-widget-heading,
.beforefooter-section3:hover .elementor-widget-heading,
.beforefooter-section1:hover .elementor-widget-text-editor,
.beforefooter-section2:hover .elementor-widget-text-editor,
.beforefooter-section3:hover .elementor-widget-text-editor{
    transform: translate(0, -42px);
}
.beforefooter-section1 .elementor-widget-image::before,
.beforefooter-section2 .elementor-widget-image::before,
.beforefooter-section3 .elementor-widget-image::before
{
    content: '';
    position: absolute;
    top: -44px;
    right: 0;
    width: 0%;
    height: calc(100% + 44px) ;
    background-color: #00567d99;
    transition: all .3s;
    z-index: 1;
    pointer-events: none;
}
.beforefooter-section1:hover .elementor-widget-image::before,
.beforefooter-section2:hover .elementor-widget-image::before,
.beforefooter-section3:hover .elementor-widget-image::before
{
    width:100%;
}
.beforefooter-section1 .elementor-jet-inline-svg svg{
    background-color: #003b4a; 
    padding: 17px;
    outline: 17px solid #fff;
    height: 75px;
}
.beforefooter-section2 .elementor-jet-inline-svg svg{
    background-color: #796025; 
    padding: 17px;
    outline: 17px solid #fff;
    height: 75px;
}
.beforefooter-section3 .elementor-jet-inline-svg svg{
    background-color: #a7c1cd; 
    padding: 17px;
    outline: 17px solid #fff;
    height: 75px;
}
/* Elementor counter */
.elementor-counter .elementor-counter-number-prefix {
    display: none;
}
.elementor-counter .elementor-counter-number-suffix {
    font-size: 2rem;
    font-weight: 100;
    display: contents;
}
.elementor-counter .elementor-counter-title{
    margin-top: 15px;
    text-align: left !important;
}
@media screen and (max-width: 768px) {
    .elementor-counter .elementor-counter-title{
        text-align: center !important;
    }
   .elementor-counter .elementor-counter-number-wrapper{
       text-align: center !important;
       justify-content: center;
   }
    
}
@media only screen and (min-width: 601px) {
.grey-wave-section .elementor-column-wrap{
    background-size: 70% 100% !important;
}
}
@media only screen and (max-width: 600px) {
.grey-wave-section .elementor-column-wrap{
    background-size: 100% 100% !important;
}
}
.container360:hover svg #text{
    animation: opacity360 1s ease;
}
.container360:hover svg {
    animation: rotate360 1s linear;
}
@keyframes rotate360{
    0%{
        transform: rotate(0deg);
    }
    50%{
        transform: rotate(180deg);
    }
    100%{
        transform: rotate(360deg);
    }
}
@keyframes opacity360{
    0%{
        opacity: 0;
    }
    50%{
        opacity: 0.1;
    }
    100%{
        opacity: 1;
    }
}

.wave-after-boat svg{
    width: 100vw;
    height: auto;
}

.menu-port-section {
    margin: 0px 20px 0px 20px!important;
}


.menu-port-items span.elementor-icon-list-text:hover {
    font-weight: 700;
}
.menu-port-items span.elementor-icon-list-text:hover::before {
    content: '-';
    margin: 5px;
	color: #796025;
}
.menu-port-items span.elementor-icon-list-text:hover::after {
    content: '-';
    margin: 5px;
	color: #796025;
}
.menu-port-items span.elementor-icon-list-text::before {
    content: "-";
    margin: 5px;
	color: #fff;
}
.menu-port-items span.elementor-icon-list-text::after {
    content: "-";
    margin: 5px;
	color: #fff;
}

@media only screen and (min-width: 768px) {
 .compteur-port .elementor-counter {
    display: flex;
    align-items: flex-end;
    justify-content: space-evenly;
}
}

/* LAYOUT DE PAGE - PADDING */
@media only screen and (min-width: 426px) and (max-width: 767px) {
.container {
    padding-right: 10px !important;
    padding-left: 10px !important;
}
}
@media only screen and (max-width: 425px) {
.container {
    padding-right: 0px !important;
    padding-left: 0px !important;
}
}

/* GÉNÉRAL */
sup {
	text-transform: lowercase;
}
.compteur-psi .elementor-counter-number-suffix, .compteur-psi-2  .elementor-counter-number-suffix {
    font-weight: 400;
    font-size: 2.7rem;
}
.stats-suffix {
	font-weight: 400;
}
@media screen and (max-width: 767px), screen and (min-width: 1025px) {
	.stats-suffix { 
		font-size: 2.7rem;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.stats-suffix { 
		font-size: 2rem;
	}
}
.compteur-psi .elementor-counter-number-wrapper {
	margin-right: 20px;
    margin-left: 20px;
}
::selection { 
	color: #fff;
	background-color: #06587a;
}
.elementor-widget-text-editor p a, .elementor-widget-text-editor li a, .elementor-widget-jet-accordion .jet-toggle__content p a, .single-post .elementor-widget-container p a, .single-emplois .elementor-widget-container p a {
	color: #00597d;
	text-decoration: underline;
}
.elementor-widget-text-editor p a:hover, .elementor-widget-text-editor li a:hover, .elementor-widget-jet-accordion .jet-toggle__content p a:hover, .single-post .elementor-widget-container p a:hover, .single-emplois .elementor-widget-container p a:hover {
	color: #796025;
}
.txt-sur-fond a {
	color: #FFFFFF !important;
	text-decoration: underline !important;
}
.txt-sur-fond a:hover {
	color: #A3BECB !important;
}
.lien-or a:hover {
	color: #00597D !important;
	transition: all 1s ease;
}

/* terminaux - 2 colonnes liens */
@media only screen and (min-width: 600px) {
	.terminaux-cols2 {
		display: inline-block;
		width: auto !important;
	}
}
/* .terminaux-tabs .terminaux-cols2 .jet-inline-svg path {
	fill: #7d5e00;
} */
.carousel-notitle .jet-carousel__item-title {
	display: none;
}
.menu-port-items a .elementor-icon-list-text::before, .menu-port-items a .elementor-icon-list-text::after {
	color: #fff0;	
}
.menu-port-items a .elementor-icon-list-text:hover {
	transition: all 0.2s ease-in-out;
}
.title-separator .elementor-divider-separator::after {
	width: 100px;
	flex-grow: initial !important;
}
.title-separator-2 .elementor-divider-separator::after {
	width: 150px;
	flex-grow: initial !important;
}
/* .jet-carousel__item:hover img{
    background-color: #00597d;
    background-image: url(/wp-content/uploads/2021/04/etoils.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 50% auto;
}
.jet-carousel__item:hover img::after{
    content:"\1F63B";
    font-size:larger;
    margin:-1em;
} */
.iconbox-docs .elementor-icon-box-title a:hover {
	color: #796025;
	transition: ease-in-out all 0.3s;
}
/* Page équipe - Personnel dans la même colonne, disposition ordi */
.rangee-equipe > .elementor-container, .rangee-equipe > .elementor-container > .elementor-row {
	flex-wrap: wrap;
}
@media (min-width: 1025px) {
	.rangee-equipe .elementor-row .elementor-column {
	width: 33.3% !important;
}
}

.employee-portsi .elementor-icon-box-description a {
	color: #00597d;
}
.employee-portsi .elementor-icon-box-description a:hover {
	color: #796025;
	transition: ease-in-out all 0.3s;
}
.soustitre-bloc-accueil {
font-size: 0.7em;
    font-weight: 400;
}

/* Pages dynamiques */
.single-post .jupiterx-main-header, .error404 .jupiterx-main-header, .single-emplois .jupiterx-main-header  {
	display: none !important;
}
.single-post .type-post p strong, .single-post .elementor-widget-theme-post-content h2, .single-emplois .type-emplois p strong, .single-emplois .elementor-widget-theme-post-content h2 {
	color: #00597D;
}
.single-post .elementor-widget-theme-post-content h3, .single-emplois .elementor-widget-theme-post-content h3 {
	color: #796025;
}
.single-emplois .elementor-widget-theme-post-content h2, .single-emplois .elementor-widget-theme-post-content h3 {
	font-size: 1.5em;
}
@media (max-width: 640px) {
.single-post .elementor-widget-theme-post-content .alignright, .single-emplois .elementor-widget-theme-post-content .alignright {
	float: initial;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}
}
.portsi-posts-2 .elementor-pagination > span {
	color: #00597D;
}
.portsi-posts-2 .elementor-pagination > a {
	background-color: #fff;
	color: #00597D;
	padding: 5px 15px;
	border: solid 2px #00597D;
}
.portsi-posts-2 .elementor-pagination > a:hover {
	background-color: #00597D;
	color: #fff;
	transition: all ease-in-out 0.3s;
}
.timeline-sans-titre .timeline-item__card-title {
	display: none;
}
.carousel-terminal .elementor-swiper-button {
    color: hsla(0,0%,85%,.9);
	font-size: 35px;
}
.carousel-terminal .elementor-image-carousel-caption {
	color: #585858;
	margin-top: 8px;
}
.listing-carrieres .elementor-widget-wrap .elementor-widget-icon {
	padding-top: 7px;
}
.listing-carrieres .emploi-box:hover .elementor-element-populated {
	transition: all ease-in-out 0.3s;
}
.icon-voltaire-outline i{
font-size: 40px;
}

/* Bouton en mobile */
@media (max-width: 640px) {
	.btn-twolines-wave #right-line,.btn-twolines-wave #left-line {
	 	display: none;
	}

	.btn-twolines-wave {
		text-align: center;
	}
	.btn-twolines-wave a span {
		text-decoration: underline;
	}
}

/* Agencement flex 4 colonnes */
@media only screen and (min-width: 1025px) {
	.flex-space4-portsi .iconbox-docs {
		width: 25% !important;
	}
	.flex-space3-portsi .iconbox-equipe3 {
		width: 33% !important;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.flex-space4-portsi .iconbox-docs, .flex-space3-portsi .iconbox-equipe3 {
		width: 50% !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.flex-space4-portsi .iconbox-docs, .flex-space3-portsi .iconbox-equipe3 {
		width: 50% !important;
}
}
@media only screen and (max-width: 767px) {
	.flex-space4-portsi .iconbox-docs, .flex-space3-portsi .iconbox-equipe3 {
		width: 100% !important;
}
}


/* Job listings: let long titles wrap within their card. */
.emploi-box .emploi-title.elementor-widget-heading {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.emploi-box .emploi-title .elementor-heading-title,
.emploi-box .emploi-title .elementor-heading-title a {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
