:root {
	--bg: #111111;
  --btn: #ffd812;
  --btnText: #111111;
  --primaryText: #ffffff;
  --secondaryText: #d3d3d3;
}

html, body {
	background: #f3f2ee;
	height: 100%;
}

h1,h2,h3,h4,h5,h6 {
  font-family: "Gotham", sans-serif;
}

.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  outline: auto;
}

.button {
	background-color: var(--btn);
	color: var(--btnText);
	border: 2px solid var(--btn) !important;
}
.button:hover,
.button:focus {
	color: var(--btnText);
	filter: brightness(1.2);
	outline: revert;
}
.button.cancel {
	background-color: unset;
	color: var(--btn);
}

.button.smaller {
	line-height: normal;
}

.button.fixed {
	width: calc(100% - 40px);
	bottom: 20px;
	left: 20px;
	position: absolute;
	max-width: 560px;
	width: calc(100% - 40px);
	margin: auto;
	border-radius: 90px;
	z-index: 8;
}
.button-group.fixed {
    width: calc(100% - 40px);
    bottom: 20px;
    left: 20px;
    position: absolute;
    max-width: 560px;
    z-index: 8;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.button-group.fixed a,
.button-group.fixed button {
    margin: 0;
}

.viewport {
	padding: 20px;
	height: 100%;
}

.quick-action-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: -1;
  opacity: 0;
}
  .quick-action-overlay.active {
    z-index: 90;
    opacity: 1;
    transition: all 0.2s;
  }
  .quick-action-modal {
    width: 90%;
    max-width: 550px;
    border-radius: 15px;
    background: var(--bg);
    color: var(--primaryText);
    border: 1px solid var(--primaryText);
    padding: 30px;
    max-height: 95%;
    overflow: auto;
  }
  	.quick-action-modal.main-menu {
  		width: 100%;
  		max-width: none;
  		border-radius: 0;
  		padding-bottom: 10px;
  		top: -100vh;
  		position: absolute;
  		left: 0;
  		transition: all 0.2s;
  		z-index: 9;
  		background-color: #f9f9f9;
  	}
  	.quick-action-modal.main-menu.active {
  		top: 0;
  	}
  .quick-action-modal input {
    border: solid 1px var(--primaryText) !important;
  }
  .quick-link {
  	list-style: none;
  	margin: 20px 0 0;
  	padding: 0;
  }
  	.quick-link li {
  		border-top: solid 1px rgba(0,0,0,0.08);
  		margin: 0;
  		padding: 0;
  	}
  	.quick-link li:first-child {
  		border-top: none;
  	}
  	.quick-link a {
  		display: block;
  		font-weight: 600;
  		color: #111;
  		text-decoration: none;
  		padding: 15px 10px 15px 0;
  	}

.card {
	width: 100%;
	height: 100%;
	background: var(--bg);
	color: var(--primaryText);
	border-radius: 15px;
	max-width: 600px;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	-webkit-box-shadow: 0px 0px 15px 3px rgba(0,0,0,0.08); 
	box-shadow: 0px 0px 15px 3px rgba(0,0,0,0.0.08);
	position: relative;
}
	.card #glyph {
		width: 30px;
		position: absolute;
		top: 20px;
		left: 25px;
		z-index: 9;
	}
	.card #menuToggle {
		position: absolute;
		top: 10px;
		right: 10px;
		z-index: 10;
		width: 50px;
		height: 50px;
		background: rgba(0,0,0,0.6);
		border-radius: 100%;
	}
	.card .credit {
		padding: 20px;
		text-align: center;
		margin: 50px auto 0;
		font-size: 11px;
		color: var(--secondaryText);
	}
		.card .credit img {
			width: 80px;
			display: block;
			margin: 0 auto 10px;
		}
		.card .credit .links {
			text-align: center;
			margin: 8px 0 0;
		}
		.card .credit .links a {
			color: var(--primaryText);
			font-size: 12px;
			display: inline-block;
			padding: 3px 10px;
			text-decoration: none;
		}

		.card .ft-leadgenerator {
		padding: 20px;
		text-align: center;
		margin: 50px auto 0;
		font-size: 11px;
		color: var(--primaryText);
	}

	.scrollable {
		height: calc(100% - 80px);
		overflow: auto;
		position: relative;
		z-index: 8;
	}
	.cover {
		background-size: cover;
		background-position: 50% 50%;
		background-repeat: no-repeat;
		width: 100%;
		height: 300px;
		overflow: hidden;
	}
		.cover img {
			display: block;
			width: 100%;
			height: auto;
		}
	.profile-pic {
		width: 150px;
		height: 150px;
		overflow: hidden;
		border-radius: 20px;
		margin: -90px 0 20px 20px;
		background-size: cover;
		background-position: 50% 50%;
		background-repeat: no-repeat;
	}
		.profile-pic img {
			display: block;
			width: 100%;
			height: auto;
		}
	.name {
		text-align: left;
		font-size: 30px;
		font-weight: 500;
		line-height: 1.2em;
		margin: 0 auto 30px;
	}
		.name span {
			display: block;
			font-size: 13px;
			margin: 5px auto 0;
			color: var(--secondaryText);
			line-height: 17px;
		}

	.card-body {
		padding: 0 20px 20px;
	}

	.stats-wrap {
		float: right;
	  display: flex;
	  justify-content: flex-end;
	  align-items: center;
	  margin: 20px 0 40px;
	  padding-right: 10px;
	  gap: 10px;
	}
    .stats-wrap .button-group {
        display: flex;
        align-items: center;
        gap: 10px;
    }
		span.stats {
		  font-size: 12px;
		  display: inline-block;
		  background: var(--bg);
		  font-weight: 600;
		  color: var(--primaryText);
		  padding: 4px 12px;
		  border-radius: 5px;
		  border: solid 2px var(--primaryText);
		  height: 28px;
		  line-height: normal;
		}

		button.exchange {
		  background: var(--btn);
		  color: var(--btnText);
		  margin-bottom: 0;
		  height: 28px;
		  line-height: normal;
		  font-size: 12px;
		}
		button.share {
		  width: 28px;
		  height: 28px;
		  display: flex;
		  justify-content: center;
		  align-items: center;
		  padding: 3px;
		  background: var(--btn);
		  border-radius: 100%;
		  margin-bottom: 0;
		}
        button.linked-profiles {
          width: 28px;
          height: 28px;
          display: flex;
          justify-content: center;
          align-items: center;
          padding: 0px;
          background: var(--btn);
          border-radius: 100%;
          margin-bottom: 0;
        }
		a.edit {
		  width: 28px;
		  height: 28px;
		  display: flex;
		  justify-content: center;
		  align-items: center;
		  padding: 4px;
		  background: var(--btn);
		  border-radius: 100%;
		}
		a.edit img,
		span.share img {
		  width: 80%;
		}

			.socials {
	  margin: -5px 0 30px;
	}
		.socials .social {
		  margin: 0 0 8px;
		  border-bottom: solid 1px rgba(255,255,255,0.1);
		  padding: 10px 0 15px;
		  position: relative;
		  font-size: 12px;
		}
/*		.socials .social:after {
		  border-style: solid;
			border-width: 0.25em 0.25em 0 0;
			content: '';
			position: absolute;
			display: block;
			width: 10px;
			height: 10px;
			top: 50%;
			right: 0;
			margin: -9px 0 0;
			vertical-align: top;
			transform: rotate(45deg);
		}*/
		.socials .social a {
		  display: flex;
		  justify-content: flex-start;
		  align-items: center;
		  color: var(--primaryText);
		  text-decoration: none;
		}
		.socials .social span {
		  display: block;
		  width: calc(100% - 50px);
		}
		
	.social-icon {
    height: 30px;
    width: 30px;
    margin: 0 8px 0 0;
  }
  .social-icon svg {
    height: 100%;
  }

	.snapshots {
	  margin-top: 15px;
      margin-bottom: 30px;
	}
		.snapshots .snapshot {
		  margin: 0 0 15px;
		  font-size: 13px;
		  padding: 0;
		  line-height: 1.3em;
		}
		.snapshots .snapshot span.question {
		  margin: 0 0 3px;
		  display: block;
		  font-weight: 600;
      font-size: 12px;
      text-transform: uppercase;
		}		


.vcard-details {
	margin: 0 auto 30px;
}
.vcard-details p {
	margin: 0;
}
.vcard-details span {
	display: inline-block;
}
.vcard-details .prefix {
	width: 1.5em;
}

.vcard-details a {
	color: var(--primaryText);
}

span.error {
	color: var(--primaryText);
	margin-bottom: 0;
}

/** RESPONSIVE **/

@media (max-width: 600px) {
	.viewport {
		padding: 0;
	}
	.card {
		border-radius: 0;
	}
	.profile-pic {
		margin: -200px 0 70px 20px;
	}
	.stats-wrap {
		float: none;
		justify-content: space-between;
		padding: 0 20px 0 20px;
		margin: 40px auto 0;
	}
	.cover {
		background-size: 100% auto;
		background-position: 0;
		height: 210px;
	}
}

/** HAMBURGER **/

#menuToggle span {
  display: block;
  width: 31px;
  height: 4px;
  position: absolute;
  top: 13px;
  left: 9px;
  background: #fff;
  border-radius: 3px;
  z-index: 1;
  transform-origin: 4px 0px;
  transition: all 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

#menuToggle span:first-child {
  transform-origin: 0% 0%;
}

#menuToggle span:nth-last-child(1) {
  top: 23px;
}

#menuToggle span:nth-last-child(2) {
  top: 33px;
}

#menuToggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, -5px);
}
#menuToggle.active span:nth-child(2) {
	opacity: 0;
  left: -80px;
}
#menuToggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(-4px, 9px);
}

/** new menu **/
#menu-toggle {
    color: white;
    background-color: black;
    border-radius: 100%;
    border: none;
    height: 48px;
    width: 48px;
    font-size: 42px;
    font-weight: bold;
    padding: 0;
    float: right;
    text-align: center;
    position: absolute;
    top: 10px;
    right: 10px;
    opacity: 0.7;
}

.image-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    padding: 5px 15px;
    background-color: black;
    color:white;
    border-radius: 25px;
    margin-bottom: 20px;
    font-family: "Gotham", sans-serif;
    overflow: clip;
    border: 1px solid white;
    justify-content: flex-start;
}

.image-badge img {
    margin: -5px 0px -5px -15px;
    height: 40px;
}

