* { 
	box-sizing: border-box;
	margin:0;
	padding:0;
}
html, body {
	min-height: 100%;
	background: #fff;
	color: #000;
	overflow:hidden;
}
	/* sets the body height of the browser, so that backgrounds and div heights work correctly. Color and background will almost certainly be altered; they are just placeholders */
	
body {
	font-size: 1.4rem;
	text-rendering: optimizeLegibility;
	margin:0px!important;
}
	/* sets the base font size for the document; turns on kerning pairs and ligatures */

p, ul li, ul li>span {
	font-family: 'Raleway', sans-serif;
	font-size: 1.1em;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Playfair Display', sans-serif;
}

section { 
	width:100%;
}

.container {
	padding:35px 55px;
	max-width:1500px;
	width:100%;
	margin:0 auto;
}

.main {
	display:flex;
	flex-flow:column;
	height:100vh;
	background-color:#000416;
}

/** HEADER **/

section.desktop-header {
	background-color:#192841;
}

div.header-container {
	display: flex;
	justify-content: center;
	align-items: center;
}

div.header-container>div:first-child {
	width: 20%;
}

div.header-container>div:last-child {
	width: 80%;
}

h3.logo {
	color: #ffd2d2;
	font-size: 2em;
}

ul.nav-menu {
	display: none;
	list-style: none;
	flex-wrap: wrap;
	justify-content: end;
}

ul.nav-menu li:not(:last-child) {
	margin-right: 35px;
}

ul.nav-menu li>a {
	color:white;
	font-weight:500;
	letter-spacing:2px;
	text-decoration:none;
	text-transform:uppercase;
}

/** MAIN **/

section.hero {
	background-color:#192841;
}

div.hero-content-container {
	display:flex;
	justify-content:center;
	align-items:center;
	height:65vh;
	position:relative;
}

div.homepage-hero-graphic, div.homepage-hero-text {
	width:50%;
}

div.homepage-hero-text h1 {
	font-size:5em;
	color:#f4c3c3;
}

div.homepage-hero-divider-border {
	border-bottom:3px solid #ffefcb;
	margin-left:35px;
}

div.homepage-hero-text h2 {
	color:white;
	font-family: 'Raleway', sans-serif!important;
	font-size:1.1em;
	font-weight:500;
	letter-spacing:2px;
	padding:25px 0px 25px 55px;
	text-align:right;
	text-decoration:none;
	text-transform:uppercase;
}

/** FOOTER **/

section.footer {
	background-color:#000416;
}

div.sf-skyline-image {
	background:linear-gradient(to bottom, #192841 15%, 65%, #fffcd4, #f4c3c3);
}

div.footer-fill {
	height:15px;
	margin-top: -10px;
	background-color:#000416;
}

/** STARS **/


/**.background-stars {
	width:100vw;
	height:100vh;
}**/
	
.sky-container {
	transform: rotateZ(45deg)!important;
}

.star {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 2px;
  background: linear-gradient(-45deg, #ffffff, rgba(255, 255, 255, 0));
  filter: drop-shadow(0 0 6px ##ffefcb);
  animation: tail 3000ms ease-in-out infinite, shooting 3000ms ease-in-out infinite;
}

.star::before, .star::after {
  position: absolute;
  content: '';
  top: calc(50% - 1px);
  right: 0;
  height: 2px;
  background: linear-gradient(-45deg, rgba(255, 255, 255, 0), #ffefcb, rgba(255, 255, 255, 0));
  border-radius: 100%;
  transform: translateX(50%) rotateZ(45deg);
  animation: shining 3000ms ease-in-out infinite;
}

.star::after {
  transform: translateX(50%) rotateZ(-45deg);
}

.star:nth-child(1) {
  top: calc(80% - 200px);
  left: calc(80% - 300px);
  animation-delay: 650ms;
}
.star:nth-child(1)::before, .star:nth-child(1)::after {
  animation-delay: 650ms;
}

.star:nth-child(2) {
  top: calc(80% - -50px);
  left: calc(70% - 190px);
  animation-delay: 150ms;
}
.star:nth-child(2)::before, .star:nth-child(2)::after {
  animation-delay: 150ms;
}

.star:nth-child(3) {
  top: calc(75% - -290px);
  left: calc(80% - 300px);
  animation-delay: 1600ms;
}
.star:nth-child(3)::before, .star:nth-child(3)::after {
  animation-delay: 1600ms;
}

.star:nth-child(4) {
  top: calc(70% - 50px);
  left: calc(50% - 250px);
  animation-delay: 4700ms;
}
.star:nth-child(4)::before, .star:nth-child(4)::after {
  animation-delay: 4700ms;
}

.star:nth-child(5) {
  top: calc(60% - -190px);
  left: calc(50% - 200px);
  animation-delay: 2100ms;
}
.star:nth-child(5)::before, .star:nth-child(5)::after {
  animation-delay: 2100ms;
}

.star:nth-child(6) {
  top: calc(65% - -290px);
  left: calc(55% - 575px);
  animation-delay: 3200ms;
}
.star:nth-child(6)::before, .star:nth-child(6)::after {
  animation-delay: 3200ms;
}



/* Animations */
@keyframes tail {
  0% {
    width: 0;
  }
  
  30% {
    width: 100px;
  }
  
  100% {
    width: 0;
  }
}

@keyframes shining {
  0% {
    width: 0;
  }
  50% {
    width: 30px;
  }
  100% {
    width: 0;
  }
}

@keyframes shooting {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(320px);
  }
}

/** MEDIA QUERIES **/

@media screen and (max-width:1120px) {
	
	div.homepage-hero-text h1 {
		font-size:3em;
	}
	
	div.homepage-hero-text h2 {
		font-size:0.68em;
		line-height:1.3em;
	}
	
}

@media screen and (max-width:768px) {
	
	h3.logo {
		font-size:1.5em;
	}
	
	div.homepage-hero-content-container {
		flex-direction:column-reverse;
	}
	
	div.homepage-hero-content-container>div {
		width:100%;
	}
	
	div.homepage-hero-text h1 {
		font-size:3em;
		text-align:center;
	}
	
	div.homepage-hero-text h2 {
		font-size:0.8em;
		text-align:center;
		padding: 25px 15px;
		line-height:1.4em;
	}
	
	div.homepage-hero-divider-border {
		width:25%;
		margin:0 auto;
	}
	
	div.homepage-hero-graphic {
		margin-top:5%;
		margin-bottom:5%;
	}
	
}

@media screen and (max-width:420px) {
	h3.logo {
		font-size:1em;
	}
	
	div.hero-content-container {
		height: auto;
	}
	
	div.homepage-hero-text h1 {
		font-size:1.8em;
	}
	
	div.homepage-hero-text h2 {
		font-size:0.6em;
		line-height:1.3em;
	}
}