html, body {
  height: 100%;
  overflow-x: hidden;
  margin:0;
  scrollbar-width:none;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.3;
}
:root {
   --background: white;
   --card-size: 300px;
   --primary: #ed0799;
   --secondary: #1effc3;
   

}
video {
	object-fit:cover;
	width:100vw;
	height:100vh;
	position:fixed;
	top:0;
	left:0;
	opacity:.93;
}
.video-header, .video-header video, .video-header .viewport-header {
  width: 100vw;
  height: 100vw;
  position: absolute;
  top: 0;
  left: 0;
}
.video-header .viewport-header {
  display: flex;
  align-items: center;
  justify-content: center;
}
.viewport-header {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  margin-top:3vh;
}
.abs-header{
	margin-top:12rem;
	
}
p.langToggle {
  color: white;
  font-weight:500;
  text-transform: uppercase;
  letter-spacing: 1vw;
  line-height: 1.5em;
  font-size: 3.33vw;
  text-align: center;
  margin-top:4rem;
}

.span {
  display: block;
  color: white;
  font-weight:700;
  text-transform: uppercase;
  letter-spacing: 0;
  line-height: 1em;
  font-size: 8.6vw;
  text-align: center;
  text-shadow: 6px 3px 0 rgba(16,16,16,.7), -6px 3px 0 rgba(16,16,16,.7), -6px -3px 0 rgba(16,16,16,.7), 6px -3px 0 rgba(16,16,16,.7);
}
h1 {
  color: white;
  text-transform: uppercase;
  letter-spacing: 1vw;
  line-height: 1.5em;
  font-size: 3.33vw;
  text-align: center;
}
h1 span {
  display: block;
  font-size: 8vw;
  letter-spacing: 0;
  line-height:1em;
}

main {
  display:flex;
  background: white;
  position: relative;
  padding: 1rem;
  margin-top: 65vh;
}
main::before {
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(70, 70, 70, .51) 25%, rgba(166,166,166,.66) 60%, rgba(255, 255, 255, 1) 90%);
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  top: -100vh;
}
main p {
  display: block;
  font-size:1.66rem;
  color:#321f64;
  line-height:1.2em;
  text-align: center;
  max-width: 600px;
  margin: 1rem auto;
  margin-block-start: 1em;
  margin-block-end: 1em;
}

#audio-control {
	display: flex;
    padding: 7px 1px 0;
    background-color: rgba(17,17,17,.55);
    color: #4abaf6;
    border: none;
    border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
    cursor: pointer;
    font-size: .8rem;
	line-height:1.2em;
    transition: background-color 0.3s ease;
	width: 50px;
	height:1.8rem;
	text-align:center;
	margin-top:.3rem;
    
}
#audio-control:hover {
            background-color: #106ebe;
}
#audio-control:active {
            background-color: #005a9e;
}


button#langToggle{
  display: flex;
  padding: 7px 1px 0;
  background-color: rgba(17,17,17,.55);
  color: #4abaf6;
  border: none;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  cursor: pointer;
  font-size: .8rem;
  line-height:1.2em;
  transition: background-color 0.3s ease;
  width: 76px;
  height:1.8rem;
  margin-top: 3rem;
}

button#langToggle:hover {
            background-color: #106ebe;
}
button#langToggle:active {
            background-color: #005a9e;
}

.controls{
	position:fixed;
	top:10vh;
	left:0;
}


.w-fxd {
	position:fixed;
	bottom:.5vh;
	width:2rem;
	height:2rem;
	opacity:.66;
	right:1.3vw;
	background-image:url('logo-s.svg');
	background-repeat:no-repeat;
	background-size:100%;
	background-position: center;
}

.card { 
   width: 90vw;
   max-width:390px;
   height: auto;  
   border-radius: 0.75rem;
   box-shadow:  0 13px 45px 3px rgba(0,0,0,0.56), 0 0 0 1px rgba(0, 0, 0, 0.3);  
   background: #fff;
   font-family: 'Source Code Pro', monospace;
   text-rendering: optimizelegibility;
   letter-spacing:-.01em; 
   display: flex;
   color: #1e1e1e;  
   align-items: center; 
   will-change: transform;
   transition: transform 0.25s cubic-bezier(0.4, 0.0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0.0, 0.2, 1);  
   &:hover {
      transform: scale(1.1);
      box-shadow:  0 25px 60px 11px rgba(0,0,0,0.36), 0 0 0 1px rgba(0, 0, 0, 0.3);
	 }
}

.card-details {
   width:100%;
   padding: 1.4rem .7rem 1.4rem 1.1rem;
}

.name {
   font-size: 1.46rem;
   
}

.occupation {
   font-weight: 500;
   font-size: 1.277rem;
   color: var(--primary);
   word-spacing:-.18em;
}

.card-avatar {
   margin: -11rem 2rem 0 -2rem;
}

img.svg {
   max-width: 240px;

}

.card-about {
   margin-top: .85rem;
   display: grid;
   grid-auto-flow: column;
 
}

.item {
   display: flex;
   flex-direction: column;
   margin-bottom: 0.33rem;
   
   .value {
      font-size: .72rem;
	  font-weight:600;
   }
   
   .label {
      margin-top: 0.15rem;
      font-size: 0.68rem;
      font-weight: 500;
	  letter-spacing: -.05em;
	  word-spacing:-.3em;
      color: var(--primary);
	  
   }
   .label-m {
      margin-top: 0.15rem;
      font-size: 0.66rem;
      font-weight: 500;
	  letter-spacing: -.05em;
	  word-spacing:-.5em;
      color: var(--primary);
	  
   }
}

.skills {
   display: flex;
   flex-direction: column;
   margin-top: 0.55rem;
   
   .label {
      font-size: .9rem;
      font-weight: 600;
      color: var(--primary);
   }
   
   .value {
      font-size: .95rem;
      line-height: 1.2rem;
      letter-spacing:.04em;
   }
}
.main-2 {
	display:flex;
	transform:rotate(-4deg);
	margin:0 auto;
	flex-direction:column;
	align-items:center;
}
.main-3 {
	display:block;
	height:16rem;
	margin:0 auto;
}		


