.text-menu svg{
	fill:white;
	height:18px;
	display:inline-block;
	margin-right:5px;
}
.text-menu *{
	vertical-align:middle;
}
.nav-active #button-nav {
	visibility:hidden;
}
#button-close-nav {
	visibility:hidden;
}
.nav-active #button-close-nav {
	visibility:visible;
}
.dsn-slider{
	background-color:#252525;
}
a:focus{
	text-decoration:none;
}
.social-network svg {
	width:1.2em;
	height:1.2em;
	opacity:0.5
}
.social-network svg:hover {
	opacity:1
}
.swiper-button-disabled {
	opacity:0.3
}
.nav-slider, .control-num {
	display:none
}
.overlay-effect{
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	top:0;
	width:0;
}
.dsn-active .overlay-effect{
	animation:expand-and-collapse 2s;
	animation-delay:0.25s;
	background-color:#fff;
}
.v-light .dsn-active .overlay-effect{
	background-color:#000;
}
@keyframes expand-and-collapse {
	0% {
		width: 0;
		left: 0;
	}
	50% {
		width: 100%;
		left: 0;
	}
	100% {
		width: 0;
		left: 100%;
	}
}
.title-text-header {
	position:relative;
	margin-top:10px;
}
.title-text-header-inner a:hover {
	cursor:default;
}
span.header {
	text-transform:uppercase;
	font-family:Poppins,sans-serif;
	margin-bottom:3px;
	margin-top:3px;
}
.dsn-chars-wrapper, span.header{
	position:relative;
}
span.stroke-text{
	-webkit-text-stroke: 2px white;
	color:transparent;
}
.v-light span.stroke-text{
	-webkit-text-stroke: 2px black;
}
.dsn-active-cat span.stroke-text, .dsn-active-cat span.no-stroke-text, .dsn-active span.stroke-text, .dsn-active span.no-stroke-text{
	opacity:0;
	-webkit-animation:appear 0s 1.25s forwards;
	animation:appear 0s 1.25s forwards;
}
@keyframes appear {
	to { opacity: 1; }
}
.wrap-mobile{
	display:none;
}
@media only screen and (max-width: 575px) {
	.wrap-mobile{
		display:inline;
	}
}
.arrow-down {
	display:block;
	max-width: fit-content;
	margin-left:auto;
	margin-right:auto;
	width: 100px;
	height: 150px;
	animation: scroll-down-hint 2s infinite;
	animation-delay:36s;
	opacity:0;
	position:relative;
}
@keyframes scroll-down-hint {
	0% {
		opacity:0;
		top:-20px;
	}
	50% {
		opacity:1;
	}
	100% {
		opacity:0;
		top:40px;
	}
}
.slide-content-inner p {
	height:150px;
}
.numb-ex{
	font-family:Poppins,sans-serif;
	line-height:1;
}
.numb-ex .word{
	width:130px;
	text-align:center;
}
.icon svg{
	fill:white;
	width:100px;
	height:100px;
}
.services-item{
	cursor:pointer;
}
.services-item-summary{
	display:block;
}
.services-detail{
	height:0px;
	overflow:hidden;
	padding-top:1em;
	transition:height 2s cubic-bezier(.14,1,.56,.98);
	line-height:1.6;
}
.services-arrow-down{
	height:50px;
	transition:transform 0.5s ease-out 1.5s;
}
.services-detail ul{
	padding-top:1em;
}
.services-detail li{
	list-style:square outside;
	margin-left:1em;
	text-align:left;
}
.services-detail li::marker{
	color:white;
}
.services-detail li b{
	color:white;
}
#skills b{
	color:white;
}
.v-light #skills b{
	color:black;
}
.cv-button-container{
	position:absolute;
	left:8px;
	top:-15%;
	height:115%;
	width:100%;
	overflow:hidden;
}
.cvs-container{
	position:relative;
}
@media only screen and (max-width: 575px) {
        .cvs-container{
                margin-top:40px;
        }
}
.my-button,input,textarea,input:focus,textarea:focus{
	border-radius:7px;
	border:2px solid white;
	padding:9px;
	color:white;
	font-size:15px;
	font-weight:500;
	background-color:rgba(255,255,255,0.3);
}
.my-button, .my-button:hover{
	cursor:pointer;
	display:inline-block;
	vertical-align:middle;
	text-align:center;
	position:relative;
	transition:opacity 0.4s ease-out,top 0.2s ease-out;
	z-index:1000;
	white-space:nowrap;
	top:0px;
	opacity:1;
}
.my-button-disabled{
	opacity:0.5;
}
.my-button svg{
	height:14px;
	margin-bottom:3px;
	vertical-align:middle;
	fill:white;
}
.my-button:active{
	top:2px;
}
.v-light .my-button, .v-light input, .v-light textarea{
	color:#0009;
	background-color:white;
	border:2px solid #0009;
}
.v-light .my-button svg{
	fill:#333;
}
.cv-connector{
	display:block;
	position:absolute;
	background:white;
	top:50%;
}
.cv-connector{
	height:1px;
	left:100%;
	right:100%;
	opacity:0.3;
}
.dsn-active .cv-connector{
	transition:right 0.5s ease-in-out;
	right:-40px;
}
.cv-item:nth-child(1){animation-delay:1.50s;transition-delay:1.50s;}
.cv-item:nth-child(2){animation-delay:1.75s;transition-delay:1.75s;}
.cv-item:nth-child(3){animation-delay:2.00s;transition-delay:2.00s;}
.cv-item:nth-child(4){animation-delay:2.25s;transition-delay:2.25s;}
.cv-item:nth-child(5){animation-delay:2.50s;transition-delay:2.50s;}
.cv-item:nth-child(6){animation-delay:2.75s;transition-delay:2.75s;}
.cv-item:nth-child(7){animation-delay:3.00s;transition-delay:3.00s;}
.cv-item:nth-child(8){animation-delay:3.25s;transition-delay:3.25s;}
.cv-item:nth-child(9){animation-delay:3.50s;transition-delay:3.50s;}
.cv-item:nth-child(1) .cv-connector{animation-delay:1.50s;transition-delay:1.50s;}
.cv-item:nth-child(2) .cv-connector{animation-delay:1.75s;transition-delay:1.75s;}
.cv-item:nth-child(3) .cv-connector{animation-delay:2.00s;transition-delay:2.00s;}
.cv-item:nth-child(4) .cv-connector{animation-delay:2.25s;transition-delay:2.25s;}
.cv-item:nth-child(5) .cv-connector{animation-delay:2.50s;transition-delay:2.50s;}
.cv-item:nth-child(6) .cv-connector{animation-delay:2.75s;transition-delay:2.75s;}
.cv-item:nth-child(7) .cv-connector{animation-delay:3.00s;transition-delay:3.00s;}
.cv-item:nth-child(8) .cv-connector{animation-delay:3.25s;transition-delay:3.25s;}
.cv-item:nth-child(9) .cv-connector{animation-delay:3.50s;transition-delay:3.50s;}
.cv-item h6, .cv-employer, .cv-period{
	margin-top:0;
	padding-right:10px;
	position:relative;
}
.cv-item{
	padding:10px;
	padding-right:40px;
	text-align:right;
	position:relative;
	opacity:0;
	top:20px;
	transition:top 0.5s ease-out,opacity 0.5s ease-out;
}
.dsn-active .cv-item{
	top:0px;
	opacity:1;
}
.cv-period{
	font-size:12px;
	text-transform:uppercase;
	margin-top:8px;
}
#cv-time-axis{
	border-right:2px solid white;
	height:100%;
	top:100%;
	position:absolute;
	width:100%;
	right:8px;
	visibility:hidden;
}
.dsn-active #cv-time-axis{
	transition:top 2s ease-out;
	top:8px;
	visibility:visible;
}
.contact-ways{
	margin-bottom:30px;
}
.contact-ways a{
	margin-right:20px;
	position:relative;
}
.contact-ways a:active{
	top:2px;
}
.contact-ways svg{
	fill:rgba(255, 255, 255, 0.69);
	height:32px;
}
.contact-ways svg:hover{
	fill:white;
}
.v-light .contact-ways svg{
	fill:#0009;
}
.v-light .contact-ways svg:hover{
	fill:black;
}
.contact-form input, .contact-form textarea{
	width:100%;
}
.contact-form p{
	margin-bottom:1em;
}
.do-validate input:invalid,.do-validate textarea:invalid {
	animation:shake-invalid-input 0.2s ease-in-out 0s 2;
	background-color:#f99;
}
@keyframes shake-invalid-input {
	0%{margin-left:0}
	25%{margin-left:-5px}
	75%{margin-left:5px}
	100%{margin-left:0}
}
#message-status{
	margin-left:10px;
}
.message-success{
	color:#0c0;
}
.message-failure{
	color:#c00;
}
footer svg{
	fill:white;
	height:12px;
	position:relative;
	top:2px;
}
.v-light footer svg{
	fill:black;
}
body.legal{
	font-family:Montserrat, sans-serif;
	padding:0;
	margin:0;
	background:#333;
	color:rgba(255,255,255,0.69);
}
body.legal div.header{
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
	padding:30px;
	font-size:65px;
	font-family:Poppins,sans-serif;
	text-transform:uppercase;
	font-weight:600;
	color:white;
}
body.legal .go-back{
	float:right;
}
body.legal .go-back a{
	font-family:Montserrat,sans-serif;
	font-weight:600;
	text-transform:uppercase;
	text-decoration:none;
	vertical-align:middle;
	font-size:18px;
}
body.legal .go-back svg{
	display:inline-block;
	fill:white;
	height:18px;
}
body.legal .go-back a *{
	vertical-align:middle;
}
span.stroke-text{
	-webkit-text-stroke:2px white;
	color:transparent;
}
body.legal h1{
	font-family:Poppins,sans-serif;
	font-size:32px;
	font-weight:800;
	letter-spacing:0.01em;
	text-transform:uppercase;
	color:white;
	margin-top:96px;
}
body.legal div.content{
	margin-top:96px;
	margin-bottom:96px;
	width:40%;
	margin-left:15%;
}
@media only screen and (max-width: 991px) {
	body.legal div.header{
		padding:15px;
		font-size:48px;
	}
	body.legal div.content{
		width:90%;
		margin-left:5%;
	}
}
body.legal a{
	color:white;
}
body.legal ul{
	margin-top:0;
	padding-top:0;
}
body.legal li{
	list-style-type:square;
}
body.legal li::marker{
	color:white;
}
body.legal p, body.legal li{
	text-align:justify;
}
.obf{
	visibility:hidden;
}
.flag-icons a{
	text-decoration:none;
}
.flag-icons svg{
	height:40px;
	width:auto;
	margin-right:20px;
}
