* {
	box-sizing: border-box;
	max-width: 100%;
}

html,body
{
  width: 100%;
  margin: 0px;
  padding: 0px;
  overflow-x: hidden; 
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-smooth: always;
}

body {
	font-family: 'Nunito', sans-serif;
	margin: 0;
	background-color: white;
	max-width: 100%;
}
.clear {
  clear: both;
}

.no-wrap {
  text-wrap: nowrap;
}
#header {
	background-image: url("../images/background.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	height: 700px;
	position : relative;
	padding-bottom: 50px;
	/* z-index: 50; */
}

header {
	float: left;
	padding: 5px 0 0 0;
	width: 100%;
	margin: 40px 0 30px 0;
	background: rgba(105,83,237,.5);
}

.main-nav {
	text-align: right;
	list-style: none;
	padding: 0 15px;
	margin: 30px 0 5px 0;
	height: 2.5em;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;
}

ul.main-nav li {
		margin-right: 30px;
	}

ul.main-nav a {
	font-weight: 500;
	font-size: 1.6em;
	text-decoration: none;
	color: #f8f3c4;
  line-height: 1.2em;
}

ul.main-nav a:hover {
	color: #fff679;
}

.section-title {
	font-size: 3em;
	text-align: center;
	text-decoration: underline;	
	color:#7100fa;
}

.selected {
	color: #fbc49e;
}

#logo {
	text-align: center;
	margin: 0;
	text-decoration: none;
}

.logo-text {
  font-family: 'Lora', serif;
  font-size: 4em;
  font-weight: 600;
  text-decoration: none;
  margin-bottom: 20px;
  overflow-wrap: break-word;
}

.logo-char {
	color: #2F4595;
}

.logo-name {
	background-image: linear-gradient(90deg, #008ede 0%, #FC00FF 50%, #f8f3c4 93%);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; 
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
}
.tagline {
	font-weight: 600;
	color: #f8c3f4;
	font-size: 2.5em;
	text-align: center;
	margin-bottom: 0;
	margin-top: 10px;
  line-height: 1em;
}

.natalie-photo {
	text-align: center;
}

.natalie-photo p{
	font-size: 2.5em;
	color: grey;
}

.natalie-photo img{
	border-radius: 50%;
	width: 15em;   
	max-width: 15.5em;
	box-shadow: 5px 5px 5px rgba(0,0,0,.9);
  position: relative;
	z-index: 100010;
}

.wrap {
	min-height: calc(100vh - 52px);
}

.wave-container {
  position: relative;
  /* height: 20vh; */
  /* z-index: 30; */
}

.wave {
  position: absolute;
  height: 115px;
  width: 100%;
  background-color: #dfe6f7;
}

.gradient {
	height: 50px;
	width: 100%;
  background: linear-gradient(180deg, rgba(12, 12, 38, 0) 0%, rgba(12, 12, 38, 0.8) 70%, rgba(12, 12, 38, 1) 90%, rgba(12, 12, 38, 1) 100%);
	z-index: 100;
	margin-top: -40px;
	position: absolute;

}

#social {
  text-align: center;
  margin-bottom: 1em;
}
#social .github {
  margin-left: .8em;
}
#social a {
  color: #74379f;
}

#social a i:hover {
  color: #f8c3f4;
  scale: 1.2;
}

@media only screen and (min-width: 721px) {
  #social {
    margin-top: -3em;
    padding: 0 0 0em 3em;
    text-align: left;
  }
}

/************
End of Header
*************/
#toTop {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 20px; /* Place the button at the bottom of the page */
  right: 30px;
  z-index: 199; 
  cursor: pointer; 
  font-size: 18px; 
  background: none;
  border: none;
  opacity: 70%;
}

#toTop i {
	font-size: 2.3em;
}

#toTop i:hover {
  color: #77d0d5; 
}

#intro {
  background: #dfe6f7;
  text-align: center;
  padding-top: 7em;
}

#intro h3 {
  color: #b04e7b;
  padding: 0 1em;
  font-family: "Libertinus Math", system-ui;
  font-weight: 600;
  font-style: normal;
}

#intro .container {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

#intro .col {
  width: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

#intro .col-icon {
  width: 100px;
  height: auto;
  margin-bottom: 1em;
}

#intro .col h3 {
  margin: 0;
}

#intro .squiggly {
  height: 350px;
  width: auto;
  align-self: center;
  margin: 0 1rem;
  position: absolute;
  left: calc(50% - 18.2em);
}

#intro .squiggly:nth-of-type(2) {
  left: calc(50% + 2.7em);
}

#intro img.real-people {
  float: unset;
  margin: unset;
  max-height: 35px;
  width: auto;
  filter: drop-shadow(.01em .01em #000) drop-shadow(.01em -.01em #000) drop-shadow(-.01em .01em #000) drop-shadow(-.01em -.01em #000);
}
#intro span.creative {
  width: fit-content;
  display: inline-block;
  animation-duration: 2s;
  animation-delay: 1s;
  background: linear-gradient(90deg, #814de7, #2ba89b, #e5739c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-weight: bold;
}
#intro span.frustrated {
  width: fit-content;
  display: inline-block;
  padding: 0 .5em;
  color: red;
}

#intro .waves {
  max-height: 300px;
  margin-bottom: -6em;
}

#portfolio, #skills, #about, #contact, .footer {
	padding-top: 40px;
}

#portfolio {
	padding-bottom: 40px;
  padding-top: 0;
  background: linear-gradient(0deg, rgba(255, 255, 227, 0) 0%, rgba(255, 255, 227, 1) 100%);
}

#portfolio h1 {
  padding-top: 3em;
}

.job-title {
  padding-left: 20px;
}

.job-title span {
  font-size: .9em;
  font-weight: bold;
}

.first-letter{
	font-family: 'Princess Sofia', cursive;
	font-size: 1.5em;
}

.container, #portfolio {
	font-family: 'Nunito', sans-serif;
}

.container {
	width: 85%;
	margin: 0 auto;
	}

h1 {
	color: #7c4c9f;
	font-size: 2.4em;
	text-align: center;
}

h2 {
	font-size: 2em;
	color: #7851c8;
}

h3 {
	color: #9370db;
	font-size: 1.6em;
	text-align: center;
}

a {
	color: #7c4c9f;
	font-size: inherit;
	text-decoration: none;
  font-weight: 700;
}
#about a {
  color: #5c2b80;
}

.skill-button-title {
	text-align: center;
  margin: 0;
  color: #D57AA2;
}

.skill-button {
  border: 3px #d92b7759 solid;
  border-radius: 0 0 25px 25px;
  border-top: none;
  padding-bottom: .5em;
}

.skill-button, .other-skills-button {
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
  max-width: 400px;
  margin: auto;
}

.skill-button button {
	font-size: 1.4em;
	margin: 5px;
	background: #D57AA2;
	color: #f8f3c4;
	cursor: pointer;
	padding: 10px;
  border: none;
  border-radius: 5px 25px;
}

.skill-button button:hover, .skill-button button:focus {
	background: #801946;
}

.skill-button .most-button, .other-skills-button .other-button {
  border-radius: 5px 25px;
}

.skill-button .less-button, .other-skills-button .all-button {
  border-radius: 25px 5px;
}

.skill-button .none-button {
  border-radius: 5px 5px 25px 25px;
}

.other-skills-button {
	text-align: center;
	margin-top: 10px;
}

.other-skills-button button {
	font-size: 1.4em;
	margin: 5px;
	background: #2BD93E;
	color: #f8f3c4;
	cursor: pointer;
	padding: 10px;
  border: none;
  border-radius: 25px 5px;
}

.other-skills-button button:hover, .other-skills-button button:focus {
	background: #1C9729;
}

.all-button {
  position: relative;
  top: 1.5em;
}

.stem {
  border-right: 3px #2bd93e7a solid;
  position: relative;
  bottom: 4.3em;
  right: calc(50% - 1.1em);
  height: 150px;
  z-index: -1;
}

.app-outer {
	align-items: center; 
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 0 20px 0;
	width: 100%;
	height: 450px;
	margin-bottom: 40px;
  margin-top: -4em;
}

.app-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-width: 100%;
	width: 100%;
}

.tag-cloud {
	flex: 1;
}

.tag-cloud > div {
	transition: 1.4s;
}

div.contact h2 {
	text-align: center;
}

div.contact p {
	text-align: center;
}

p {
	color: #1c1414;
	font-size: 1.2em;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
}

.indent {
  padding-left: 35px;
}

li {
	color: #153535;
	font-size: 1.1em;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
}

br {
  margin-bottom: .5em;
}

.container img {
	float: left;
	margin: 0 20px 10px 0;
	width: 13em;
	max-width: 13.5em;
  border-radius: 5%;
}



.accordion__section {
  display: flex;
  flex-direction: column;
  margin: auto;
  max-width: 75%;
}

/* These are the buttons that are used to open and close the accordion panel */
.accordion {
	background: radial-gradient(circle, rgb(245, 233, 249) 0%, rgb(247, 228, 229) 22%, rgb(193, 240, 242) 100%);
  cursor: pointer;
  padding: 18px 18px 18px 30px;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  border: 1px solid #9370db;
  outline: none;
  transition: background-color 0.6s ease;
  border-radius: 0;
  margin: 0;
}

.accordion:hover,
.active {
	background: #b0a3e2;
	color: #f8f3c4;
}

.accordion:hover h2,
.active h2 {
	color: #f8f3c4;
}

.accordion:hover .accordion__icon path,
.active .accordion__icon path {
  fill: #f8f3c4;
}

.accordion__title {
  text-align: left;
}

.accordion__title h2 {
	margin: 0 0 0 25px;
	font-weight: normal;
}

.accordion__icon {
  transition: transform 0.6s ease;
  font-weight: 400;
  flex: 0 0 20px;
  transform: rotate(-180deg);
}

.rotate {
  transform: rotate(-90deg);
}

/* the accordion content panel is hidden by default */
.accordion__content {
  background-color: #f6e7ef;
  overflow: hidden;
  transition: max-height 0.4s ease;
  max-width: 90%;
  margin: auto;
  min-width: 90%;
}

.accordion__text {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  padding: 18px;
}

.iNoticed-img {
	display: block;
	width: 300px;
	float: right;
	margin: 10px 10px 20px 0;
}

#gallery {
	list-style: none;
	margin: 0 auto;
	display: block;
	text-align: center;
	padding-left: 0;
}

#gallery li {
	display: inline-block;
	padding: 8px 8px 20px 8px;
	max-width: 100%;
	text-align: left;
}

.bitlathe #gallery li {
	text-align: left;
}

.bitlathe #gallery #video-gif {
	width: 300px;
}

#gallery li img {
	display: block;
	width: 175px;
	float: left;
	margin: 0 20px 10px 0;
}

#gallery a {
	text-decoration: none;
}

#overlay {
	background: rgba(0,0,0,0.7);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	text-align: center;
	overflow: scroll;
	z-index: 10;
}

#overlay img {
	margin-top: 10px;
	max-width: 100%;
}

#overlay p {
	font-family: 'Nunito', sans-serif;
	font-size: 1.2em;
	color: white;
	text-decoration: none;

}

div .demo {
	text-align: center;
	padding: 15px 0 15px 0;
}

#flex-container {
	display: flex;
    flex-direction: row;
    max-width: 100%;
}

#flex-div-left {
	max-width: 50%;
}

#flex-div-right {
	max-width: 50%;
}

#about {
  background-image: url("../images/flowers.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom left;
}
#about .container {
  width: 90%;
  padding-bottom: 1em;
}

#about .container p {
  padding: 1.5em 1em 2em 1.5em;
  background-color: #ffc0cbd9;
  color: #1a4d27;
  line-height: 1.2em;
  font-weight: 700;
}
@media only screen and (min-width: 721px) {
  #about .container p {
    border-radius: 3em;
    padding: 1em 1em 2em 1em;

  }
}
#about .conclude {
  font-size: 1.3em;
  display: block;
  color: #142b60;
  padding-top: 1em;
}
@media only screen and (min-width: 800px) {
  #about .container {
    margin: 0 auto;
    width: 77%;
  }
}

@media only screen and (min-width: 1024px) {
  #intro .container {
    /* max-width: 750px; */
  }
  #about {
    background-size: contain;
  }
  #about .container {
    margin: 0 5em 0 auto;
    width: 65%;
  }
  #about .container p {
    padding: 3em;
  }
}

#contact, footer {
  background-color: #c5d9c5;
}

#contact .contact {
  margin: 2em;
}

#contact .left {
  /* display: inline-block; */
  background: #a18fd4;
  /* width: 50%; */
  padding: 2em 1em;
  background-image: url("../images/abstract.jpg");
  background-size: cover;
  border-radius: 1.5em 0 0 1.5em;
}
#contact .left .logo-text {
  font-size: 3em;
  margin: 0;
}
#contact .left h3 {
  margin-bottom: 5px;
}

#contact .left p {
  color: #fff;
}

#contact a {
  color: #162660;
}
@media only screen and (max-width: 500px) {
  #contact .left .logo-text {
    font-size: 9vw;
  }
  #contact a {
    font-size: 5vw;
  }
}

#contact .left .social {
  text-align: center;
}

#contact .left .social a {
  display: inline-block;
  margin: 0 10px;
  font-size: 2em;
  text-align: center;
}

#contact .left p {
  margin: 10px;
}

#contact .right {
  background-image: url("../images/map.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
  border-radius: 0 1.5em 1.5em 0;
}
/* 
#contact .right img {
  height: 100%;
} */
#contact p {
  text-align: center;
}
#contact .row {
  display: flex;
}

@media only screen and (max-width: 1079px) {
  #contact .row {
    display: block;
  }
  #contact .right {
    min-height: 300px;
  }
  #contact .left, #contact .right {
    border-radius: 1.5em;
  }
}
#contact .col {
  flex: 1;
}
.footer {
	text-align: center;
  margin-top: -2em;
  padding-top: 1em;
}

.footer p {
	margin: 0 auto;
	color: #9d7878;
	padding-bottom: 5px;
	font-size: 1.1em;
}

.footer .attribute {
  font-size: .8em;
  color: #a7bba7;
}

@media only screen and (min-width: 680px) {
  .footer {
    padding-top: 2.5em;
  }
  .footer .attribute {
    position: relative;
    bottom: -1.8em;
    display: block;
    width: 100vw;
    text-align: left;
    margin-top: -3em;
  }
}


/************************************************ Browser/Device Width Section *************************************/
@media only screen and (max-width: 950px) {
	.app-outer {
		height: 510px;
	}
	.accordion__section {
	  max-width: 80%;
	}
  #intro .container {
    flex-direction: column;
    align-items: center;
  }

  #intro .squiggly {
    display: none;
  }

  #intro .col {
    width: 100%;
    max-width: 400px;
  }

}

@media only screen and (max-width: 1134px) {
  #intro .squiggly {
    left: calc(50% - 8em);
    top: 2em;
  } 

  #intro .squiggly:nth-of-type(2) {
    display: none;
  }
}

@media only screen and (max-width: 895px) {
	.app-outer {
		height: 570px;
	}
}

@media only screen and (max-width: 720px) {
	.main-nav {
			justify-content: center;
		}

	.app-outer {
		height: 670px;
	}
  .accordion__section {
	  max-width: 100%;
	}
  #about .container {
    width: 100%;
  }
}

@media only screen and (max-width: 680px) {
	.container {
		width: 95%;
	}
	#toTop {
		right: 10px;
	}
	.app-outer {
		height: 720px;
	}
}

@media only screen and (max-width: 570px) {
	.app-outer {
		height: 850px;
	}
}

@media only screen and (max-width: 522px) {
	.main-nav {
			justify-content: space-evenly;
		}

	ul.main-nav li {
			margin-right: 0;
		}
}

@media only screen and (max-width: 514px) {
	.gradient {
		display: none;
	}
	#toTop {
		right: 5px;
	}
	.iNoticed-img {
		float: none;
		margin: auto;
	}
}

@media only screen and (max-width: 480px) {
	header.main-header {
		padding-left: 8px;
		padding-right: 8px;
	}

	.logo-text {
		font-size: 13vw;
	}

	.tagline {
		font-size: 2.2em;
	}

  .main-nav {
		height: 5em;
	}

  ul.main-nav a {
    font-size: 1.4em;
  }
  
	ul.main-nav li {
    max-width: 7em;
	}
  
  ul.main-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  ul.main-nav > li {
    flex: 50%;
    margin-bottom: .7em;
    text-align: center;
  }

	.app-outer {
		height: 900px;
	}
}

@media only screen and (max-width: 428px) {
	.container {
		width: 100%;
		padding-left: 5px;
		padding-right: 5px;
	}

	.container img {
		float: none;
	}

	/* ul.main-nav a {
		font-size: 1.2em;
		padding: 2px 4px;		
	} */

	#gallery li img {
		float: none;
		margin: auto;
	}

	.app-outer {
		height: 950px;
	}

	.other-skill {
		overflow-wrap: break-word;
		word-wrap: break-word;
	}

	#about, #contact {
		padding-left: 5px;
		padding-right: 5px;
	}

	#about img {
		float: left;
	}
}

@media only screen and (max-width: 410px) {
	.app-outer {
		height: 1000px;
	}
}

@media only screen and (max-width: 385px) {
	/* .logo-text {
			font-size: 3.2em;
		} */

		.tagline {
			font-size: 2em;
		}

	#about img {
		display: block;
		float: none;
		margin: auto;
		padding-bottom: 5px;
	}	
}

@media only screen and (max-width: 349px) {
	

	/* .logo-text {
			font-size: 2.8em;
		} */

	/* ul.main-nav a {
		border: solid;
	} */
}	

