f@charset "utf-8";
/* Mainstrait
OCT 23
local version
for z-index - isolation:isolate

*/
@font-face {
  font-family: 'FontAwesome';
  src: url("css/fontawesome-webfont.ttf");
  src: url("css/fontawesome-webfont.woff");
  src: url("css/fontawesome-webfont.woff2");
}

/*Universal classes*/
:root {

--blue2: rgba(29, 81, 110, 1);
--blue1: rgba(36,99,135, 1);
--blue3: rgba(43,122,166, 1);
/*--blueHighlight: rgba(63,169,245, 1);*/
--blueHighlight: #fff;

--gold1: rgba(177,157,96, 1);
--gold2: rgba(148,131,80, 1);

--green: rgba(140,198,63, 1);
	
--darkGrey: #8c8b8b;
--lightGrey: #e6e6e6;
--lightGrey1: #e1dddd;
--lightGrey2: #f4f4f4;
 
--bannerHeight:min(40vh, 25rem);
}

* {box-sizing: border-box}
html {
	scroll-behavior: smooth!important;
	height:100%;
}
body {
	height:100%;
	padding-top:8vh;
	font-family: 'Open Sans', Arial, 'Helvetica', sans-serif;
	font-size:1.2rem;
 	/*fix to align footer*/
	display:flex;
	flex-direction: column;
	 }

/* skeleton exceptions*/
.row {width:100%;padding:0 1%}

header .container {width:100%}
header	.col-xs-3 {margin:0;padding:0}
h1,h2,h3,h4 {	font-family: 'Poppins', "Helvetica Neue", Helvetica, sans-serif;
				margin-bottom:1rem;
				}

.de h1,.de h2,.de h3,.de h4 { 
			hyphens: auto;
			-webkit-hyphens: auto; /* For WebKit-based browsers */
			-moz-hyphens: auto;    /* For Firefox */
			-ms-hyphens: auto;     /* For older IE versions */
			word-wrap: break-word; /* Fallback for unsupported browsers */
			overflow-wrap: break-word; /* Additional fallback */
			}

h1 {font-size:2.5rem;font-weight:500;margin-bottom:1.5rem;letter-spacing: 0.1rem;}
h2 {font-size:1.8rem;}
h2, h3{line-height:2.5rem;}
h2, h3, h4 {color:rgb(34, 34, 34);font-weight:500;
			letter-spacing: 0.02rem;
			}
h4 {font-size:1.2rem}

a {	text-decoration-color:var(--blue1);
	color:#000;
	text-decoration: none;
	transition:all 0.5s ease-out;
	}

main a {border-bottom:1px solid var(--gold1);}
main a:hover {color:var(--blue2);}

h2, h3 {max-width:45ch}
p,li{max-width:85ch}
.noul {list-style:none}
.hideMob {display:none}
.hideDesk {display:block}

/*les boutons ---------------------------*/

button {line-height:normal}
.bouton, .fauxBouton {
		position:relative;
	display:inline-block;	
	font-size:1rem;
		font-weight:600;
		line-height:1.8rem;
		border-radius:5px;
 		margin-top:1rem;
		padding:0 3rem 0 1rem;
		transition:padding 0.4s ease-in!important;
		}
.bouton:after, .fauxBouton:after 
				{	content:'\f054';
				font-family: 'FontAwesome';
				color:#fff!important;
				position:absolute;
 				border-top-left-radius:45%;
				border-bottom-left-radius:45%;
				right:-0.5rem;
				padding: 0 0.5rem 0 0.5rem;
				border-top-right-radius:45%;
				border-bottom-right-radius:45%;
				transition:all 0.3s ease-in;color:var(--gold1);
}

.bouton:hover:after,  .fxBtn:hover .fauxBouton:after {
				right:5rem;padding: 0 0.5rem 0 0.5rem;
				border-top-right-radius:45%;
				border-bottom-right-radius:45%;
				color:#fff;
}
body.de .bouton:hover:after, 
body.de .fxBtn:hover .fauxBouton:after
{right:6rem;}


.bouton:hover, .fxBtn:hover .fauxBouton {padding:0 1rem 0 3rem;color:#fff;}


/*Assign colours -----------------------*/

.lightBlue {color:var(--blueHighlight);}
.blue {color:var(--blue1);}
.darkBlue {color:var(--blue2);}
.bg-blue {background-color:var(--blue1);color:#fff;}
.bg-darkBlue {background-color:var(--blue2);color:#fff;}

.bouton.blue:after {background-color:var(--blue2);}

.gold, .fxBtn .fauxBouton.gold {background-color:var(--gold1); color:#fff!important}
.bouton.gold:after, .fxBtn .fauxBouton.gold:after {background-color:var(--gold2);}

/*main navigation -----------------------------------------------------------------------------------------*/

header {  background:var(--blue1);
  		text-align: left;
		top:0;
  		position: fixed;
  		width: 100%;
		height:3rem;
		min-height:40px;
		font-size:1rem;
		z-index: 2; 
		}
header .container {height:95%}
a#brand-logo {position:absolute;top:0;left:0;
			display:block;
			width:10rem;
 			font-size:1rem;
			z-index:5
			}
#brand-logo img {width:205px;height:auto;margin:0 0 0 0em;z-index:20;}


/*menu button*/
.toggleNav {
  	position: absolute !important;
  	top: -9999px !important;
  	left: -9999px !important;
	display:inline;
 }

.toggleNav:focus ~ .toggleNav-label {outline: 3px solid rgba(lightblue, .75);}


.toggleNav-label { 
	cursor:pointer;
  	position: absolute;
	bottom: 0;
  	right: 0.5em;
  	margin:0 0em 0 0;
	padding:0 0rem 0 0.7rem;
  	height: 100%;
  	display: flex;
  	align-items: center; 
	color:#fff;
}

.toggleNav-label p {display:none}


.toggleNav-label span,
.toggleNav-label span::before,
.toggleNav-label span::after {
  display: block;
  background: white;
  height: 2px;
  width: 1.5em;
  border-radius: 2px;
  position: relative;
}

.toggleNav-label span::before,
.toggleNav-label span::after {
  content: '';
  position: absolute;
}

.toggleNav-label span::before {
  bottom: 7px;
}

.toggleNav-label span::after {
  top: 7px;
}


/*menu pop down */
header nav { 
  	position: absolute;
  	text-align: left;
	top: 2.5rem;
  	left: -0.5rem;
 	padding-left:10px;
 	background:var(--blue1);
  	width: 110%;height:100vh; 
  	transform: scale(1, 0);
  	transform-origin: top;
  	transition: transform 500ms ease-in-out;
}
.mainMenuTop {box-sizing: border-box;}

header nav ul {
  margin: 21% 0 0 3rem;
  padding: 0;
  list-style: none;
	height:77%;
}

header nav li {
	margin:  0;
	padding-left:3rem;
	font-family: 'Poppins', "Helvetica Neue", Helvetica, sans-serif;
	font-size:2rem;
 	font-weight:600;
	color: white;
	height:20%;

}

nav li .mod-menu__separator {  color: white;
    text-transform: uppercase;
	opacity: 0;
  	transition: opacity 250ms ease-in-out, color 3s ease;
}
header nav a {
	display:block;
	font-size:2rem;
  	font-weight:600;
  	color: white;
	text-decoration: none; 
  	opacity: 0;
	transition: opacity 250ms ease-in-out, color 3s ease;
}
.de header nav {line-height:2.3rem}

header nav ul li a {
					width:100%;
					height:100%; 
					padding-left:2rem; 
					position:relative;
					}

header nav a:hover {color:lightgray}

nav ul li a:before {content:""; 
					position:absolute;
					top:0rem;left:0; 
					height:4rem;
					display:block;
					border-left:0.5rem solid var(--gold1);
					}
.de nav ul li a:before {top:0.5rem; }

nav ul li a:after {	display:block;
					margin-top:0.5rem; 
					color:var(--blueHighlight);
					padding-left:0;
					transition:padding 800ms ease-out;
	
					}
.de nav ul li a:after {	margin-top:0rem; }

nav ul li a:hover:after {padding-left:0.5rem}

/*English services blue words*/

.item-105 a:after {content:"Access";}
.item-106 a:after {content:"Strategy";}
.item-157 a:after {content:"Expansion";}
.item-107 a:after {content:"Services";}

.item-195 a:after {content:"dienstleistungen";}
.item-192 a:after {content:" Kapitalmärkten";}
.item-193 a:after {content:" Strategie";}
.item-194 a:after {content:"expansion";}


/*German services blue words*/

.mod-aboutContact {height:100%;}
.de .mod-aboutContact {
						height:auto;
						margin-top:21%;
						}

.mod-aboutContact  div {	height:48%;
							display:flex;align-items: center;
							padding-left:10%;
						}

.de .mod-aboutContact  div {display:block;}

.de .mod-aboutContact  div:first-child {height:20%;margin-bottom:39%}
.de .mod-aboutContact  div:last-child {height:20%}
.de .mod-aboutContact  div:last-child p {margin:0}

.mod-aboutContact  p {line-height:2.2rem}
.de .mod-aboutContact p {margin:0;}
a.menu-about:hover {color:var(--blueHighlight);}

span.break {display:block}

a.menu-about  span.break {padding-left:0;transition:padding 800ms ease-out;	}
a.menu-about:hover span.break {padding-left:0.5rem;color:#fff;}

a.contactTxt {	display:block;
				width:100%;
				line-height:2rem;
				}
a.contactTxt {transition:opacity 0.5s ease-in;}
a.contactTxt span.CTA-action1,
a.contactTxt span.CTA-action2 {display:block;transition:margin-left 0.5s ease-in} 
a.contactTxt:hover {color:var(--blueHighlight);}
a.contactTxt:hover .CTA-action1 {margin-left:0.5rem;color:#fff;}
a.contactTxt:hover .CTA-action2 {margin-left:1rem;color:#fff;}


header nav .item-101 a:before { 
	-webkit-font-feature-settings: 'liga';
	font-size:1.2rem;
	opacity:0.4; 
	margin-left:-30px;
}

header nav .item-101 a {padding-top:5px;}

.toggleNav:checked ~ nav {
	background:url('../../tpl-mainstrait/i/menu-parabola.png') no-repeat var(--blue1);
	background-size:60% 100%;
	background-position:top right;
  transform: scale(1,1);
}

.toggleNav:checked  ~  label {}

.toggleNav:checked ~ nav a, .toggleNav:checked ~ nav .mod-aboutContact  a.bouton,
.toggleNav:checked ~ nav li .mod-menu__separator {
  opacity: 1;
  transition: opacity 0.4s ease-in-out 0.4s, color 0.5s ease;
}
.toggleNav:checked ~  label span,
.toggleNav:checked ~  label.toggleNav-label::before,
.toggleNav:checked ~  label.toggleNav-label::after {background: #fff;}

 
.mod-languages {position:absolute;top:0;right:2.8rem;margin:0.6rem 0 0 0;padding:0}
.mod-languages p {display:none}
.mod-languages ul li {display:inline;color:white;margin:0;padding:0}

.mod-languages ul li a{color:var(--blueHighlight);font-weight:600;margin:0;padding:0}
div.mod-languages ul li.lang-active {background: transparent}
.mod-languages ul li.lang-active a{color:white}
.mod-languages  li:first-child {margin-right:5px}
.mod-languages  li:first-child:after {content:'|';padding-left:5px;}



/*Content -----------------------------------------------------------------------------------------*/

/*main content general*/
body:not(.home) .mainCont { margin-top:10vh}
body:not(.hero),body:not(.home)   {	
				background:url("../i/bg-disclaimer-parabola.png")no-repeat;
				background-position:top center;
				background-size:min(90%,1300px);
				padding-top:10vh;
				}
body.home, body.hero {background:transparent;padding-top:0}
.mainCont .row {padding:0}

/*left right modules ------------------*/
#left, #right {margin-top:7.2rem;}
#right ul {padding:1rem;border:1px solid var(--gold1);}
#right ul li {margin:1rem}
.mainCont  > .row .col-xs-9 {padding-right:5%}
#right.col-xs-3 {padding:0}
#right h3 {margin:1rem 0 0.5rem 0;font-size:1.5rem}
#left ul, #right ul {margin:0;padding:0; list-style:none}

#left ul {text-align:right}
#left ul li a, #right ul li a{ color:var(--blue1); display:block;}
#left ul li a {padding-right:1rem;
				 border-right:5px solid var(--gold1);}
#right ul li a {padding-left:1rem;
				 border-left:5px solid var(--gold1);
				}
#right ul li a:after {padding-left:1rem;}
.de #right ul li a:after {padding-left:0!important;}
#left ul li a:hover{color:var(--gold1); border-right:5px solid var(--blue1);}
#right ul li a:hover{color:var(--gold1); border-left:5px solid var(--blue1);}
#left ul li.current  a, #right ul li.current  a{color:var(--blue1);font-weight:600}

/*content window/article/post*/

.page-header {	display:flex;
				align-items:flex-end;
				height:6rem;
}
.page-header h1 {
				font-family: 'Poppins', "Helvetica Neue", Helvetica, sans-serif;
				color:var(--blue1);
				margin:0; 
					}

body:not(.home) .mainCont h2 {color:var(--blue1)}


/*BANNER ------------------------------*/

#banner {padding:0;margin:0;
		background: var(--blue1);
		color:#fff;
			}
.breakOut {	position:relative;
			max-width:1450px;
			margin: 0 auto;
			width:90%;
			height:var(--bannerHeight);
			isolation:isolate;
			}
 
/*home*/ 
.home main.cols {margin-bottom:0}

.bannerHome.breakOut {   position:relative;
				height:min(98vh, 60rem);
				overflow:hidden;
				isolation: isolate; 
				}
.bannerHome #bg-circle {
					position:absolute;
					/*align vertically only*/
					top:50%;
					transform: translateY(-50%);	
					right:-25%;
					width:70%;
					height:auto;
					z-index:1;
					}
.bannerHome #bg-banner-photo {	
					mask-image:url('../i/bg-home-banner-mask.svg');
					mask-size:100% 100%;
					mask-repeat:no-repeat;
					mask-position:top;	 	
 					position:absolute;
					/*centrally align*/
					inset:0;margin:auto;
					width:100%; 
					z-index:2;
					}
.bannerHome #bg-banner-lines {	
					position:absolute;
					inset:0;margin:auto;
					width:100%;
					z-index:3;
					}

.home #slide1.container { 
					height:100%;
					color:#fff;
					display:flex;align-items: center;
 					margin-bottom:0;
 					padding-bottom:0;
					border:0;
					overflow:hidden;
					width:100%;
		 			}


.home #slide1 a#bannerPanel  {
					display:block;
					position:absolute;
					top:48%;left:0;
					transform: translateY(-50%);
					width:auto;				
					padding-top:min(5vh, 2.8rem);
					padding-bottom:min(5vh,3rem);
					padding-inline:2rem;
					border-radius:1rem;
					z-index:4;
					}


.de.home #slide1 a#bannerPanel h1 {max-width:21ch}
.home #slide1 a#bannerPanel h1 {
					font-size:clamp(1.5rem, 4vw, 2.5rem);
					font-weight:600;
					display:block;
					text-align:left;
					letter-spacing: normal;
					line-height:3rem;
					color:#fff;
					margin:0
					}

.home #slide1 a#bannerPanel h1:after  {
				content:'\f078';
				font-family: 'FontAwesome';
				line-height:2rem;
				position:absolute;
				bottom:1rem;
				left:45%;
				color:var(--gold1);
				font-size:2rem;
				padding:  0;
				transition:all 500ms ease-out; 
				transition:all, 0.5s ease-in;
					}

.home #slide1 a#bannerPanel:hover h1 {color:#fff}
.home #slide1 a#bannerPanel:hover h1:after {color:#fff;margin-bottom:0.5rem}

#slide2 {padding:3rem 0 6rem 0 }
#slide2 h2 {
		margin-bottom:2rem;
	font-size:2.2rem;
	font-weight:500;
	color:var(--blue2);
}

#slide2 ul {margin:0;padding:0;
			list-style:none;
			display:grid;
			grid-template-columns: 1fr 1fr 1fr 1fr;
			grid-gap: 2rem; 
			grid-auto-rows: 1fr;	
			height:250px;
}

#slide2 ul li {margin:0; }
 

#slide2 ul li a {display:block;		 
				width:100%;height:100%;
				position:relative;
				border:2px solid var(--gold1);
				border-radius:1rem; 
				font-family: 'Poppins', "Helvetica Neue", Helvetica, sans-serif;
				font-size:1.6rem;
				font-weight:600;
				line-height:2.4rem;
				color:var(--blue1);
				text-decoration:none;
				background:#fff;
				overflow:hidden;
				isolation: isolate;
	 
				}
#slide2 ul li a:after {content:'\f054';
				font-family: 'FontAwesome';
				position:absolute;
				bottom:1rem;
				right:1rem;
				padding: 0;
				transition:all 500ms ease-out;
				}

#slide2 ul li a img.bg-pnl-circle {
					position:absolute;
					top:-50%;
					right:-60%;
					width:auto;	height:150%;
					opacity:0.1;
					transition:all 500ms ease-out;
					}

 

#slide2 ul li a p {display:block;
					padding:0;margin:0;
					position:absolute;
					bottom:1rem;
					left:1rem;
					line-height:1.8rem;
					transition:all 500ms ease-in-out;
					}

/*mouseovers */

#slide2 ul li a:hover:after {right:90%;color:var(--gold1);}
#slide2 ul li a:hover .bg-pnl-circle {
			 		top:-10%;
					right:0%;
	 				height:220%;
					}
#slide2 ul li:nth-child(3) a:hover .bg-pnl-circle, 
#slide2 ul li:nth-child(4) a:hover .bg-pnl-circle {
					top:-60%;
					right:-0%;
				 	height:350%;
					}
#slide2 ul li a:hover p {bottom:4rem}



.home-pnl-bio {	position:relative;
				padding:0rem 0;
				background:url('../i/bg-bio-parabola.png') var(--lightGrey) no-repeat;
				background-size:contain;
				background-position:center;
				height:70vh;
		 		isolation: isolate; 
				}
#slide3 .row {width:100%;padding:0 0%} 
#slide3 .row .col-xs-6 {padding-inline:0}
.curvedBorderTop, .curvedBorderBottom, .home-pnl-bio > p:first-child {display:none;}

.home-pnl-bio .container {z-index:1	}
.home-pnl-bio .row {margin:4rem 0 4rem 0}
.home-pnl-bio .cols {margin-bottom:0;}
.home-pnl-bio #bioPhoto img{
					/*mask-image:url('../i/bg-bio-mask.svg');
					mask-size:100% 100%;
					mask-repeat:no-repeat;
					mask-position:bottom left;*/
					border-radius:1rem;
					filter: brightness(85%);
					transition:filter  0.5s ease-in;
}

.home-pnl-bio #bioPhoto:hover img { filter: brightness(110%);}

.home-pnl-bio h2 {	color:var(--blue1);
					font-size:2.2rem;
					font-weight:500;
					}
.home-pnl-bio p {font-size:1rem;}

.home-testimonials {padding:1rem 0 1rem 0;}
.home-testimonials p {font-size:1rem}
 
/*banner ---------------------------------------*/
.hero #banner .breakOut {overflow:hidden}
 #bg-banner-about-photo {	
	 		position:absolute;
			top:-15%;left:0;
			z-index:1;
 					}
  #bg-banner-about-parabola {	
	 		position:absolute;
			top:0;left:0;
 			z-index:2;
 					}
.hero #banner .breakOut .bannerInner {
		position:absolute;
		width:90%;
		max-width:1250px;
		/*align absolute centrally*/
		inset:0;
		margin:auto;
		padding-top: calc(var(--bannerHeight) - 8rem);
		background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, 
              rgba(0, 0, 0, 0.11) 36%, rgba(0, 0, 0, 0) 46%);

		z-index:3;
	}
.hero #banner .breakOut .bannerInner h1 {margin-top:0;	margin-bottom:0.5rem;}
.hero #banner .breakOut .bannerInner p {margin-block:0}
					
/*Services pages ---------------------------------------*/		 

.services #right {margin-top:1.5rem}
.services main h3:first-child {width:100%; max-width:100%}
.services main ul {list-style:none;padding:0}
.services main ul li {padding-left:2rem;position: relative}
.services main ul li::before {position: absolute;left:0;content:"✽";color:var(--gold1)}

.services #right ul li a:after {padding-left:0.4rem}

/*About page ---------------------------------------*/		 

body.hero .mainCont {margin-top:2rem}

.about .mainCont .com-content-article .row {margin-right:0}
.about .mainCont .com-content-article  .row .col-xs-9 {padding-right:0}

.about .com-content-article__body .cols h2:first-child {border-bottom:1px solid var(--gold1);
										padding-bottom:1rem;
											max-width:100%}
.about .com-content-article__body a {color:var(--blue1);}
.about .com-content-article__body a:hover {color:var(--gold1);}

.about #aboutPhoto {border:5px solid var(--gold1);border-radius:50%}

.about ul.mandateList {columns:2;padding-left:0}
.about main ul {list-style:none}
.about main ul li {padding-left:2rem;position: relative}
.about main ul li::before {position: absolute;left:0;content:"✽";color:var(--gold1)}


#mandates {		border-top:1px solid var(--gold1);
				border-bottom:1px solid var(--gold1);
				margin-bottom:3rem;
				}
#mandates h2 {margin-block:4rem 1rem;padding:0}

#mediaTable td:first-child {color: var(--gold2);}
 
.about .pnl-cta .cols h2 {margin:3rem 0 1rem 0}
.about .pnl-cta p {margin:0;padding:0;}
.about .pnl-cta p a{margin-block:0;}

/*pagination*/
#pagination {margin-top:4rem}

	ul.pagiNav {list-style:none}
	ul.pagiNav,
	ul.pagiNav  li a {
	  display: flex;
	  flex-wrap: wrap;
	  justify-content: center;
	  align-items: center;
	}

ul.pagiNav  li {margin:0 1rem}
ul.pagiNav  li a {	border:1px solid #ccc;
					border-radius:5px;
					background:#fff;
					display:inline-block;
					padding:0.5em 1em;
					text-decoration:none;
					font-size:1rem;
					transition:all 0.4s ease-in;}
ul.pagiNav  li a:hover {background-color:var(--blue3); color:#fff}
ul.pagiNav  li a.page-link.active {background-color:var(--white); color:#fff}
ul.pagiNav  li.disabled {opacity:0.3}

ul.pagiNav  li:nth-child(2),
ul.pagiNav  li:nth-last-child(2) {display:none}
 
 
/* Contact---------------------------------------- */
.contact .mainCont.container {margin-block:4rem}
.contact .mainCont .cols {margin-bottom:0}
.contact .mainCont p:first-child {margin-top:0}
.contact .mainCont p:last-child {margin-bottom:0}

.map.breakOut 	{height:auto!important}
#mapLocation 	{width: 100%; height: 350px;margin-bottom:4rem}

/* Disclaimer menu ---------------------------------------- */

.leftMenu .item-197,
.leftMenu .item-201,
.leftMenu .item-162,
.leftMenu .item-160 {display:none}

 /*disclaimer*/
.counters {counter-reset:counter-name;}
h2.counter {position:relative;margin-top:2rem}
h2.counter::before {counter-increment:counter-name;
					content:counter(counter-name) '.';
					position:absolute;
					left:-4rem;
					width:3rem;
					text-align: right; 
 					}

.disclaimer ul.bullets,ol.bullets {margin:1rem 0 1rem 2rem;}
.disclaimer ul.bullets {list-style-type:disc;}
.disclaimer ul.bullets li { list-style-type:disc;margin-bottom:0.5rem}
.disclaimer ol.bullets {margin:1rem 0 1rem 1.2rem;}
.disclaimer ol.bullets li {list-style-type:lower-alpha;margin-bottom:1rem}
.disclaimer ol.bullets li ul li {list-style-type:disc;}

.pnl-bottomPhoto {background:url("../../../images/bg-banner-bottom.jpg") no-repeat center;
					background-size: 100% auto;
	 				background-attachment: fixed;
					}
	#cta-photo-mob {display:none}

 
.pnl-cta {background-color:var(--blue1);color:#fff}
.pnl-cta .container {padding-block:3rem;background:url("../i/bg-parabola-cta.png") no-repeat center left;background-size:100% 100%; background-color:var(--blue1);}
.de .pnl-cta .container {padding-block:4rem; }
.pnl-cta .row {align-items:center}
.pnl-cta .cols {margin-bottom:-12px}
.de .pnl-cta .cols {margin-bottom:0px}
.pnl-cta img#cta-photo {
					/*mask-image:url('../i/bg-cta-mask.svg');
					mask-size:100% 100%;
					mask-repeat:no-repeat;
					mask-position:bottom left; */
					}
.pnl-cta .cols:last-child {padding:2rem 0}
.pnl-cta .cols a h2 {font-size:2.2rem;
					font-weight:500;
					color:#fff;
					transition:all 0.4s ease-in;
					margin-left:0;
					}
.pnl-cta .cols a h2 span {transition:inherit;}
.pnl-cta .cols a h2:hover { color:#fff;}
.pnl-cta .cols a h2:hover .CTA-action1 {margin-left:0.5rem;color:#fff;}
.pnl-cta .cols a h2:hover .CTA-action2 {margin-left:1rem;color:#fff;}
.pnl-cta .cols a h2:hover span.turnToBlue {color:var(--blueHighlight);}

.de .pnl-cta h3 {max-width:42ch;color: white;line-height:normal;margin:0}

.pnl-cta .bouton {margin-top:1.5rem}
.de .pnl-cta .bouton {margin-top:0rem;margin-left:1.5rem}

/*Swiper ----------------------------------------*/
  .swiper {
      width: 100%;
      height: 100%;
    }
    .swiper-slide {
      text-align: center;
      background: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

.swiper-button-prev, .swiper-button-next {color:var(--gold1);background:#fff}


/*Footer ----------------------------------------*/
footer {	background:var(--blue2);
	/*fix to align footer*/
			margin-top:auto;
		}
footer .container {	 
 	border-top:1px solid var(--blue0a);
	font-size:0.8rem
		}
footer ul {	position:relative;
				margin-top:3rem;
			padding:1rem 0;
			list-style:none;
			text-align: right;
			border-top:1px solid var(--blueHighlight);
			}
footer ul li {line-height:1rem;display:inline;margin-right:1rem;}
footer ul li:last-child {margin-right:0rem;}
footer, footer a,footer ul li a {text-decoration: none;color:#fff}
footer a:hover,footer ul li a:hover {color:var(--blueHighlight);}

footer ul li.item-197 a,
footer ul li.item-162 a {position:absolute;
						left:0;
						visibility:hidden;
						}
footer ul li.item-197 a:before,
footer ul li.item-162 a:before {content:'\f08c';
				font-family: 'FontAwesome';
				font-size:2rem;
				color:var(--blueHighlight);
				visibility:visible;
	transition:all 500ms ease-in;
					}
footer ul li.item-97 a:hover:before,
footer ul li.item-162 a:hover:before {color:#fff;}

footer .mod-custom div{text-align:center}
footer .mod-custom   a#topTag {float:right;margin-right:25%}
footer .mod-custom div img {margin:0 auto;height:auto}

.footerCopyright {color:var(--blueHighlight);font-size:0.8rem;width:100%;text-align:center;grid-column: 1/ -1}
.footerCopyright ul {list-style: none;margin:0;padding:0}

/*POPUPS----------------------------------------------------------------------------------*/
#cpnb {width:100%;}
.cpnb-inner {
			min-width:300px;
			margin:0 auto;
			font-size:0.8rem;
			}

/*
.cpnb-message {width:50%}
.cpnb-buttons {width:50%}
.cpnb-button {display:block;width:60%;float:right;margin-bottom:15px}
*/

.cpnb-modal-wrap {font-size:1rem;}

.cpnb-button-decline {color:#fff!important}
.cpnb-m-enableAllButton {color:#000}


/*MEDIA QUERIES ----------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 800px) { 
	#w357_cpnb_outer {height:80vh!important}
	.cpnb-inner {width:100%;}	
	.cpnb-message {width:100%}
	.cpnb-buttons {width:100%}
	.cpnb-button {display:inline-block!important;width:60%;float:none;margin-bottom:15px}

	body {font-size:1rem;line-height:1.4rem;padding-top:30px}
	h1 {font-size:1.6rem;margin-top:2rem;margin-bottom:1rem}
	h2 {font-size:1.4rem;line-height:2.2rem}
	h3 {font-size:1.2rem;line-height:1.8rem}
	
	.hideMob{display:block}
.hideDesk  {display:none}
	
.mainCont  > .row .col-xs-9 {padding-right: 0}
	
	/*main content general*/
body:not(.home) .mainCont { margin-top:10vh}
body:not(.hero), body:not(.home)   {	
				background:url("../i/bg-disclaimer-parabola.png")no-repeat;
				background-position: center 30px;
				background-size:140% auto;
				padding-top:10vh;
				}
body.home, body.hero {background:transparent;padding-top:0}
.mainCont .row {margin-inline:0;}
 .com-content-article	.page-header {margin-bottom:1rem;height:auto}
	
#banner .breakOut {width:100%;
			height:45vh;
			isolation:isolate;
			}
	
	#bg-banner-about-photo {	
	 		position:absolute;
			top:-0dvh;left:-65%;
			width:290%;
 					}
#bg-banner-about-parabola {	
	  		top:10%;left:-100%;width:300%;
 			z-index:3;
 					}
.hero #banner .breakOut .bannerInner {
 	display:flex;align-items: flex-end;  flex-direction: column;
	padding-top: calc(54vh - 11rem);
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, 
               rgba(0, 0, 0, 0.11) 36%, rgba(0, 0, 0, 0) 46%);
	 	}	
	
.hero #banner .breakOut .bannerInner h1 {display:block;width:100%;margin:0 0 0.5rem 0.5rem; }	
	
/*left right modules ------------------*/
#left, #right {margin-top:0rem;margin-bottom:2rem}
#right.col-xs-3 {padding:0}  
#left ul {text-align:left}
#left ul li a,
#right ul li a {padding-left:1rem;
				 border-left:5px solid var(--gold1);border-right:0;}
#left ul li a:hover{ border-left:5px solid var(--blue1);border-right:0;}
#right ul li a:hover{ border-left:5px solid var(--blue1);border-right:0;}
	
	/*navbar */
	header {height:28px}
	
	#brand-logo img {width:auto;height:56px}

	.toggleNav:checked ~ nav {
	background:url('../../tpl-mainstrait/i/menu-parabola.png') no-repeat var(--blue1);
	background-size:50% 50%;
	background-position:top right;
 	}
	
	.toggleNav-label {background-image:none;
						  }
	.toggleNav-label p {display:none;}
	.toggleNav-label span {top:0rem}
	.toggleNav-label span,
	.toggleNav-label span::before,
	.toggleNav-label span::after {	display: block;}
	
	.mod-languages   {margin-top:0.5rem}
	.mod-languages, ul.langMenu  {right:3rem}
	header nav {display:block}
 	header nav a {	font-size:1.8rem;}
	
	header nav li.item-101 {margin-top:0.5em} 
	header nav ul {
			margin: 14% 0 0 0rem;
			padding: 0;
			list-style: none;
			height:100%;
	}
	header nav li {margin: 1.5rem 0;padding:0;}
	header nav li:last-child {margin: 2rem 0 0rem 0;}
	
	header nav ul li a {
					width:100%;
					height:100%;
					display:block;align-items: center;
		margin-left:1rem;
		padding-top:0rem;
					}
	nav ul li a:before {height:2rem;}

.de header nav li {margin: 1rem 0.5rem;padding:0;}
.de	header nav a {	font-size:1.8rem;}
.de	nav ul li a {;margin:0 0 0 1rem;padding:0 0 0 2rem;}
.de	nav ul li a:after {margin:0;padding:0;}
	
.mod-aboutContact  {width:100%;height:100%}
.mod-aboutContact div{height:10%;
				font-weight:700;
				display:block;align-items: center;
				padding-left:3rem;
				}
	
.pnl-bottomPhoto {background:transparent;
			 	height:350px;
				overflow: visible
				}
	.pnl-bottomPhoto .container{width:100%;margin:0;padding:0}
	
	#cta-photo-mob {display:block;height:100%; }
	#cta-photo {display:none}
	
	
	.mod-custom.pnl-cta{padding:0}
	.pnl-cta .container {width:100%; 
							padding:1.5rem;margin:1.5rem 0 0 0;
							background-position: bottom right;
						background-size:150% 150%;
								}
	.pnl-cta .cols.col-xs-6 {margin:0;padding:0}
	.pnl-cta .cols a h2 {font-size:1.5rem;margin:0;padding:0}	
	.pnl-cta .cols p {margin:0 0 1rem 0;padding:0}

		.de .pnl-cta .bouton {margin:1.5rem 0 0 0.5rem}
	
	a.contactTxt span.CTA-action1,
a.contactTxt span.CTA-action2,
.mod-aboutContact  div:last-child span
	{display:none;}	
	

	
.de .mod-aboutContact  {margin-top:0.5rem;margin-left:0}
.de	.mod-aboutContact div{padding-left:3.5rem;
				}
.de .mod-aboutContact  p {margin-block:0}
.de .contactTxt {margin-top:1rem}

	/*banner home*/
#banner .bannerHome.breakOut {   position:relative;
				height:88vh;
				overflow:hidden;
				isolation: isolate; 
				}
.bannerHome #bg-circle {
					position:absolute;
					/*align vertically only*/
					top:50%;
					transform: translateY(-50%);	
					right:-125%;
					width:200%;
					height:auto;
					z-index:1;
					}
.bannerHome #bg-banner-photo {	
					mask-image:url('../i/bg-home-banner-mask-mob-old.svg');
					mask-size:100% 100%;
					mask-repeat:no-repeat;
					mask-position:top;	 	
 					position:absolute;
					/*centrally align*/
					left:-100%;margin:auto;
					width:auto; 
					height:100vh;
					z-index:2;
					}
.bannerHome #bg-banner-lines {	
					position:absolute;
					left:-50vh;top:0;
					width:auto;
					height:100vh;
					z-index:3;
					}
	
.home #slide1 a#bannerPanel  {
					top:35vh;left:0;
					transform: translateY(-30%);
					width:auto;				
					padding-inline:1rem;
	 				padding-bottom:min(15vh,3rem);
		  			}
.de.home #slide1 a#bannerPanel  { width:80%;}	
.home #slide1 a#bannerPanel h1 {line-height:2rem;}
.home #slide1 a#bannerPanel h1:after  {
			}
	
	.row {width:100%;padding:0 0%}
	#right {margin-top:0}

	.home .row,.home .cols {margin-right:0; }
	.home .col-xs-1.spacer {display:none}
	
 	.home main h1 {margin-top:10px} 
	.home main p {font-size:.8rem; }

	.com-content-article__body > p:first-child {margin:0}	
	
#slide2 { padding-bottom:3rem}	
#slide2 h2 {font-size:1.8rem;padding-top:0;margin-top:0}	
	
.home #slide2 ul {
	display:block;
 height:100%;
}
	
#slide2 ul li:nth-child(1),
#slide2 ul li:nth-child(2),
#slide2 ul li:nth-child(3),
#slide2 ul li:nth-child(4) {margin-bottom:1.5rem;height:150px}
				
#slide2 ul li a img.bg-pnl-circle {
					top:-50%;
					right:-20%;
					width:auto;	height:120%;
					}

 
	
#slide2 ul li:nth-child(1) a .bg-pnl-circle, 
#slide2 ul li:nth-child(2) a .bg-pnl-circle,
#slide2 ul li:nth-child(3) a .bg-pnl-circle, 
#slide2 ul li:nth-child(4) a .bg-pnl-circle {
					top:-150%;
					right:-10rem;
					width:auto;	height:250%;
							}

#slide2 ul li a p {  
					bottom:1rem;
					left:1rem;
					line-height:1.8rem; 
 					font-size:1.5rem;
					}

.home-pnl-bio {	 
				background-size:200% auto; 
				height:auto;
		 		}	
.home-pnl-bio .row {margin-block:2rem}
	.home-pnl-bio h2 {font-size:1.8rem}
	
.home-testimonials {padding:1rem 0 1rem 0;}
.home-testimonials .container {width:100%}
	.swiper-slide {padding-inline:3rem}
.home-testimonials p {font-size:1rem}

/* Services pages ---------------------------------------*/		
	.services main h3:first-child {margin-top:1.5rem}
	.services #right {margin-top:2rem}
	
/*About page ---------------------------------------*/		 

body.hero .mainCont {margin-top:0rem}


.about .com-content-article__body a {color:var(--blue1);}
.about .com-content-article__body a:hover {color:var(--gold1);}

 
.about #aboutPhoto {
					width:50%;
					border:5px solid var(--gold1);
					border-radius:50%;
						margin-block:2rem 1rem;
					}
	.about .col-xs-3 p {margin:0}
	.about .col-xs-9 {padding-bottom:1rem}
.about .col-xs-9 h2:first-child {border-bottom:1px solid var(--gold1);margin-block:0 1.3rem;padding-bottom:1rem}
#mandates {border-top:1px solid var(--gold1);
					border-bottom:1px solid var(--gold1);
				margin-bottom:2rem;
				}

#mandates h2 {margin-block:2rem 1rem}
.about ul.mandateList {columns:1}

	
/*Disclaimers*/	
	
	.disclaimer.privacy	.mainCont  > .row .col-xs-9 {padding-inline:1rem 0}
	.disclaimer ul.bullets,.disclaimer ol.bullets {margin-left:0;padding-left:1rem}
	 
.mod-custom.pnl-cta img{display:none}	
.pnl-cta .cols:last-child {padding-block:0 1rem}
	
	.disclaimer.privacy .mainCont.container {width:85%}
	.disclaimer.privacy .mainCont.container h2 {font-size:1.2rem;line-height:1.8rem}
	.disclaimer .mainCont.container p,
	.disclaimer .mainCont.container ul,  
	.disclaimer .mainCont.container ol {font-size:0.9rem;line-height:1.2rem}
	
	footer .container {margin: 0;width:100%}
	footer ul {text-align:center;}
	footer ul li {display:block}
	footer ul li:nth-child(2) {margin-top:3rem}
	footer ul li.item-162 a,footer ul li.item-197 a {left:45%;top:1.5rem}
	.home .cpnb-m-cookies-floatButton {bottom:-250px;position:absolute;}
	
}

@media screen and (min-width: 800px) and  (max-width: 1100px) {
	
	.home main ul#mainNavigation {grid-template-columns: 1fr 1fr;}
	.home main ul#mainNavigation li:nth-child(2)  {padding:0;}
	body:not(.home) .mainCont {margin-top:3vh;}
	body.LegalDisclosure ul {	grid-template-columns: 1fr 1fr 1fr;}
}
	
@media screen and (min-width: 800px) and  (max-width: 1355px) {
	
	/*german services boxes, names too long */
	
#slide2 ul {
			grid-template-columns: 1fr 1fr;
			grid-gap: 2rem; 
			grid-auto-rows: 1fr;	
			height:250px;
}
	
	#slide2 ul li:nth-child(1) a .bg-pnl-circle, 
#slide2 ul li:nth-child(2) a .bg-pnl-circle,
#slide2 ul li:nth-child(3) a .bg-pnl-circle, 
#slide2 ul li:nth-child(4) a .bg-pnl-circle {
					top:-110%;
					right:-15%;
					width:auto;	height:210%;
							}
.pnl-bottomPhoto {background-position:top 100% center;background-size: 140% auto;}	
	.mod-custom.breakOut {margin-inline:0;width:100%}
	.mod-custom.breakOut #bg-banner-about-photo {top:0}
	.hero #banner .breakOut .bannerInner {width:auto;height:100%;padding-left:2rem }
}

@media screen and (min-width: 800px) {
	
	body {padding-top:3rem}
	header .container {height:100%}
	header nav {	width:100%;
			min-height:425px;
			max-height:680px;
			text-align: left; 
		  	line-height:1.7rem
  	}

   header nav  { display: grid;
	 	  		grid-template-columns: 1fr 1fr;
  				}
 
 
	}
	@media screen and (min-width: 1250px) {


	}
