.container {
  width: 100%;
  max-width: 1000px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.container .row::before,
.container .row::after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.container .row [class*='col-'] {
  float: left;
  width: 100%;
}

@media (max-width: 640px) {
  .container .row .col-m-1 {
    width: 16.66667%;
  }

  .container .row .col-m-2 {
    width: 33.33333%;
  }

  .container .row .col-m-3 {
    width: 50%;
  }

  .container .row .col-m-4 {
    width: 66.66667%;
  }

  .container .row .col-m-5 {
    width: 83.33333%;
  }

  .container .row .col-m-6 {
    width: 100%;
  }
}

@media (min-width: 640px) {
  .container .row .col-d-1 {
    width: 16.66667%;
  }

  .container .row .col-d-2 {
    width: 33.33333%;
  }

  .container .row .col-d-3 {
    width: 50%;
  }

  .container .row .col-d-4 {
    width: 66.66667%;
  }

  .container .row .col-d-5 {
    width: 83.33333%;
  }

  .container .row .col-d-6 {
    width: 100%;
  }
}

* {
  font-family: "Open Sans", sans-serif;
}

html {
  background: #050f0c;
  color: white;
}

.upButton {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid white;
  font-size: 30px;
  text-align: center;
  color: white;
  background-color: #0e3026;
  position: fixed;
  z-index: 3;
  bottom: 20px;
}

.upButton:hover {
  cursor: pointer;
}

#slider .row {
  margin-bottom: 75%;
  padding-top: 25%;
}

@media (min-width: 640px) {
  #slider .row {
    padding-top: 20vh;
  }
}

#slider .row > div {
  position: relative;
}

#slider .row > div .slide {
  position: absolute;
  top: 0;
  left: 0;
  height: 300px;
  width: 100%;
}

@media (min-width: 640px) {
  #slider .row > div .slide {
    height: 450px;
    line-height: 150px;
  }
}

#slider .row > div .slide img {
  width: 100%;
  height: 100%;
}

#slider .row > div .slide span {
  border: 2px solid #050f0c;
  box-shadow: 0 10px 10px 0 #050f0c;
  background: rgba(255, 255, 255, 0.25);
  width: 50%;
  position: absolute;
  top: 15px;
  left: 25%;
  font-size: 30px;
  font-weight: bold;
  color: black;
  text-shadow: 1px -2px 5px black;
  text-align: center;
}

@media (min-width: 640px) {
  #slider .row > div .slide span {
    height: 150px;
    vertical-align: middle;
    font-size: 35px;
  }
}

#slider .row > div .slide span a {
  text-decoration: none;
  font-weight: bold;
}

#slider .row > div .slide span a:link {
  color: white;
}

#slider .row > div .slide span a:visited {
  color: white;
}

footer {
  height: 30px;
}

@media (min-width: 640px) {
  footer {
    height: 40px;
  }
}

footer .row.col-d-6.col-m-6 {
  font-weight: bold;
}

@media (min-width: 640px) {
  footer .row.col-d-6.col-m-6 {
    padding: 1.5% 40% 1.5% 10%;
  }
}

footer .row.col-d-6.col-m-6 span {
  padding-right: 3%;
}

footer .row.col-d-6.col-m-6 span:nth-of-type(3) {
  font-weight: bold;
}

footer .row.col-d-6.col-m-6 .fa {
  color: white;
}

header {
  height: 100vh;
  width: 100%;
  background-image: url(/FinalProject/assets/tlo.jpg);
  background-color: #050f0c;
  background-position: top center;
  background-size: cover;
  color: white;
}

header.home.container {
  max-width: none;
}

header .hamburger {
  line-height: 50px;
  position: relative;
  z-index: 6;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

@media (min-width: 640px) {
  header .hamburger {
    display: none;
  }
}

header .hamburger .fa {
  position: fixed;
}

header nav {
  position: fixed;
  z-index: 6;
  background: #050f0c;
  display: none;
  text-transform: uppercase;
}

header nav ul {
  z-index: 6;
  text-align: center;
}

@media (min-width: 640px) {
  header nav ul {
    display: flex;
    flex: 1 0 auto;
  }
}

header nav ul li {
  min-height: 40px;
  font-size: 20px;
  cursor: pointer;
  text-align: center;
  padding-top: 5px;
  flex-grow: 1;
}

header nav ul li:hover {
  color: white;
  font-weight: bold;
  background-color: #12352b;
}

header nav ul li a {
  color: white;
  text-decoration: none;
}

@media (min-width: 640px) {
  header nav ul li {
    font-size: 20px;
    min-height: 50px;
    width: 13%;
  }
}

header #about h1 {
  font-weight: bold;
  color: black;
  text-shadow: 20px -3px 25px white;
  font-family: 'Dancing Script', cursive;
  font-size: 50px;
  text-align: center;
  padding-top: 18%;
  position: relative;
}

@media (min-width: 640px) {
  header #about h1 {
    font-size: 70px;
  }
}

header #about h2 {
  position: absolute;
  font-family: "Dancing Script", cursive;
  color: black;
  text-shadow: 20px -3px 25px white;
  bottom: 20%;
  left: 20%;
  font-size: 35px;
  font-weight: bold;
}

@media (min-width: 640px) {
  header #about h2 {
    font-size: 55px;
  }
}

/*
	HTML5 Reset :: style.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:

	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/

/* Let's default this puppy out
-------------------------------------------------------------------------------*/

html,
body,
body div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
figure,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video,
details,
summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
}

main,
article,
aside,
figure,
footer,
header,
nav,
section,
details,
summary {
  display: block;
}

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */

/* Responsive images and other embedded objects */

/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */

img,
object,
embed {
  max-width: 100%;
}

/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
	In fact, it *will* cause problems with Google Maps' controls at small size.
	If this is the case for you, try uncommenting the following:

#map img {
		max-width: none;
}
*/

/* force a vertical scrollbar to prevent a jumpy page */

html {
  overflow-y: scroll;
}

/* we use a lot of ULs that aren't bulleted.
	you'll have to restore the bullets within content,
	which is fine because they're probably customized anyway */

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

/* tables still need cellspacing="0" in the markup */

table {
  border-collapse: separate;
  border-spacing: 0;
}

th {
  font-weight: bold;
  vertical-align: bottom;
}

td {
  font-weight: normal;
  vertical-align: top;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */
}

input[type="radio"] {
  vertical-align: text-bottom;
}

input[type="checkbox"] {
  vertical-align: bottom;
}

.ie7 input[type="checkbox"] {
  vertical-align: baseline;
}

.ie6 input {
  vertical-align: text-bottom;
}

select,
input,
textarea {
  font: 99% sans-serif;
}

table {
  font-size: inherit;
  font: 100%;
}

small {
  font-size: 85%;
}

strong {
  font-weight: bold;
}

td,
td img {
  vertical-align: top;
}

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* standardize any monospaced elements */

pre,
code,
kbd,
samp {
  font-family: monospace, sans-serif;
}

/* hand cursor on clickable elements */

.clickable,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer;
}

/* Webkit browsers add a 2px margin outside the chrome of form elements */

button,
input,
select,
textarea {
  margin: 0;
}

/* make buttons play nice in IE */

button,
input[type=button] {
  width: auto;
  overflow: visible;
}

/* scale images in IE7 more attractively */

.ie7 img {
  -ms-interpolation-mode: bicubic;
}

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/

/* let's clear some floats */

.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}

#health {
  text-align: center;
}

#health .row {
  padding-top: 50px;
}

@media (min-width: 640px) {
  #health .row {
    padding-top: 25vh;
  }
}

#health div div {
  padding-right: 5%;
}

#health div div a {
  color: white;
  text-decoration: none;
  background-color: #0f2e24;
  -webkit-box-shadow: 0px 5px 10px 3px white;
  -moz-box-shadow: 0px 5px 10px 3px white;
  box-shadow: 0px 5px 10px 3px white;
  font-size: 15px;
  font-weight: bold;
  padding: 10px 20px 10px 20px;
  position: relative;
  z-index: 3;
}

#health div div a:hover {
  background-color: #18483a;
  cursor: pointer;
}

@media (min-width: 640px) {
  #health div div a {
    font-size: 20px;
  }
}

#health h2 {
  font-family: "Dancing Script", cursive;
  font-size: 30px;
  padding-bottom: 5%;
}

@media (min-width: 640px) {
  #health h2 {
    font-size: 40px;
    font-weight: bold;
  }
}

#health p {
  font-size: 15px;
  padding-bottom: 5%;
}

@media (min-width: 640px) {
  #health p {
    font-size: 20px;
  }
}

#health,
#products,
#perfume {
  min-height: 60vh;
}

@media (min-width: 640px) {
  #health,
  #products,
  #perfume {
    height: 600px;
  }
}

#slider {
  min-height: 50vh;
}

@media (min-width: 640px) {
  #slider {
    height: 550px;
  }
}

#contact,
#local {
  position: relative;
  z-index: 3;
  height: 650px;
}

@media (min-width: 640px) {
  #contact,
  #local {
    height: 600px;
  }
}

@keyframes showing1 {
  0% {
    transform: scale(0);
  }

  10% {
    transform: scale(0);
  }

  20% {
    transform: scale(1);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes showing2 {
  0% {
    transform: scale(0);
  }

  30% {
    transform: scale(0);
  }

  40% {
    transform: scale(1);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes showing3 {
  0% {
    transform: scale(0);
  }

  50% {
    transform: scale(0);
  }

  60% {
    transform: scale(1);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes showing4 {
  0% {
    transform: scale(0);
  }

  70% {
    transform: scale(0);
  }

  80% {
    transform: scale(1);
  }

  100% {
    transform: scale(1);
  }
}

div.slide:nth-of-type(2) {
  z-index: 2;
  animation-name: showing1;
  animation-duration: 20s;
  animation-iteration-count: infinite;
}

div.slide:nth-of-type(3) {
  z-index: 3;
  animation-name: showing2;
  animation-duration: 20s;
  animation-iteration-count: infinite;
}

div.slide:nth-of-type(4) {
  z-index: 4;
  animation-name: showing3;
  animation-duration: 20s;
  animation-iteration-count: infinite;
}

div.slide:nth-of-type(5) {
  z-index: 5;
  animation-name: showing4;
  animation-duration: 20s;
  animation-iteration-count: infinite;
}

#products {
  text-align: left;
}

#products .row {
  margin-top: 20vh;
}

@media (min-width: 640px) {
  #products .row {
    padding-top: 30vh;
  }
}

#products div div:nth-of-type(2) {
  padding-left: 8%;
}

#products div div:nth-of-type(2) ul {
  list-style: square;
}

#products div div:nth-of-type(2) ul li {
  font-size: 25px;
  padding-bottom: 5%;
}

@media (min-width: 640px) {
  #products div div:nth-of-type(2) ul li {
    font-size: 30px;
  }
}

#products h2 {
  font-family: "Dancing Script", cursive;
  font-size: 30px;
  padding-bottom: 10%;
}

@media (min-width: 640px) {
  #products h2 {
    font-size: 40px;
    font-weight: bold;
  }
}

#perfume {
  text-align: center;
}

#perfume .row {
  padding-top: 10vh;
}

@media (min-width: 640px) {
  #perfume .row {
    padding-top: 30vh;
  }
}

#perfume .row div {
  margin-bottom: 10vh;
}

@media (min-width: 640px) {
  #perfume .row div {
    padding-right: 5%;
    margin-bottom: 30vh;
  }
}

#perfume .row div a {
  color: white;
  -webkit-box-shadow: 0px 5px 10px 3px white;
  -moz-box-shadow: 0px 5px 10px 3px white;
  box-shadow: 0px 5px 10px 3px white;
  text-decoration: none;
  background-color: #0f2e24;
  font-size: 15px;
  font-weight: bold;
  padding: 20px;
  position: relative;
  z-index: 3;
}

#perfume .row div a:hover {
  background-color: #18483a;
  cursor: pointer;
}

@media (min-width: 640px) {
  #perfume .row div a {
    font-size: 20px;
  }
}

@media (max-width: 640px) {
  #perfume .row div:nth-of-type(2) {
    margin: 0 15vw 5vh 15vw;
    width: 70vw;
    height: 40vh;
  }
}

#perfume .row h2 {
  font-family: "Dancing Script", cursive;
  color: darkred;
  text-shadow: 1px -2px 5px black;
  font-size: 40px;
  padding-bottom: 5%;
}

@media (min-width: 640px) {
  #perfume .row h2 {
    font-size: 45px;
    font-weight: bold;
    padding-bottom: 10%;
  }
}

#perfume .row h3 {
  font-size: 30px;
  font-weight: bold;
  padding-bottom: 10%;
}

@media (min-width: 640px) {
  #perfume .row h3 {
    font-size: 25px;
    padding-bottom: 15%;
  }
}

#contact .row {
  padding-top: 50px;
}

@media (min-width: 640px) {
  #contact .row {
    padding-top: 10vh;
  }
}

#contact .row h2 {
  text-align: center;
  color: darkred;
  text-shadow: 1px -2px 5px black;
  font-family: "Dancing Script", cursive;
  font-size: 30px;
  padding-bottom: 5%;
}

@media (min-width: 640px) {
  #contact .row h2 {
    font-size: 50px;
    font-weight: bold;
  }
}

#contact .row form {
  font-size: 25px;
  line-height: 150%;
  width: 100%;
  height: 100%;
  text-align: center;
}

#contact .row form .error {
  color: red;
  font-size: 15px;
}

#contact .row form .right {
  color: green;
  font-size: 15px;
}

#contact .row form label {
  margin-top: 15px;
}

#contact .row form input {
  display: block;
  margin: 0 auto;
  width: 90%;
}

#contact .row form input:last-of-type {
  width: 50%;
  font-family: "Open Sans", sans-serif;
  color: white;
  background-color: #0f2e24;
  font-size: 18px;
  font-weight: bold;
  padding: 10px;
  position: relative;
  z-index: 3;
}

#contact .row form input:last-of-type:hover {
  background-color: #18483a;
  cursor: pointer;
}

@media (min-width: 640px) {
  #contact .row form input:last-of-type {
    font-size: 20px;
  }
}

#contact .row form textarea {
  width: 90%;
  height: 30vh;
}

#contact .row form input.invalid,
#contact .row form textarea.invalid {
  border: 3px solid red;
}

#contact .row form input.valid,
#contact .row form textarea.valid {
  border: 3px solid green;
}

#contact .row #social {
  width: 90vw;
  height: 20vh;
  text-align: center;
  margin: 10% 0;
  color: white;
}

@media (min-width: 640px) {
  #contact .row #social {
    width: 45%;
    height: 400px;
    margin: 5% 0 5% 5%;
  }
}

@media (min-width: 640px) {
  #contact .row #social {
    border: 5px solid white;
    border-radius: 100px 100px 100px 100px;
    -moz-border-radius: 100px 100px 100px 100px;
    -webkit-border-radius: 100px 100px 100px 100px;
  }
}

#contact .row #social h3 {
  color: darkred;
  text-align: center;
  line-height: 200%;
  font-size: 25px;
  font-weight: bold;
}

@media (min-width: 640px) {
  #contact .row #social h3 {
    font-size: 40px;
    line-height: 400%;
  }
}

#contact .row #social .fa {
  font-size: 10vh;
  padding: 0 4%;
}

@media (min-width: 640px) {
  #contact .row #social .fa {
    padding: 5% 8% 5% 8%;
    font-size: 10vh;
  }
}

#contact .row #social .fa:first-of-type {
  color: #3b5998;
}

#contact .row #social .fa:nth-of-type(2) {
  color: #00aced;
}

#contact .row #social .fa:last-of-type {
  color: #cc181e;
}

#local {
  text-align: center;
}

#local .row {
  padding-top: 50px;
}

@media (min-width: 640px) {
  #local .row {
    padding-top: 20vh;
  }
}

#local .row iframe {
  width: 90%;
  height: 350px;
  margin-left: 5%;
}

@media (min-width: 640px) {
  #local .row iframe {
    height: 400px;
  }
}

#local .row h2 {
  font-family: "Dancing Script", cursive;
  color: darkred;
  text-shadow: 1px -2px 5px black;
  font-size: 40px;
  padding-bottom: 5%;
}

@media (max-width: 640px) {
  #local .row h2 {
    padding-top: 20vh;
  }
}

@media (min-width: 640px) {
  #local .row h2 {
    font-size: 35px;
    font-weight: bold;
  }
}

#local .row h3 {
  font-family: "Dancing Script", cursive;
  font-size: 35px;
  line-height: 250%;
  font-weight: bold;
}

#local .row h4 {
  font-size: 20px;
}

#local .row h4:nth-of-type(3) {
  font-weight: bold;
  font-size: 20px;
  line-height: 250%;
}

@media (min-width: 640px) {
  #local .row h4:nth-of-type(3) {
    font-size: 25px;
  }
}

#opening {
  position: fixed;
  z-index: 7;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  animation-name: welcome;
  animation-duration: 5s;
  animation-fill-mode: forwards;
  display: block;
}

#opening #flower {
  background-image: url(/FinalProject/assets/transparent.png);
  height: 400px;
  width: 400px;
  position: relative;
  margin: 0 auto;
  background-size: 70%;
  background-repeat: no-repeat;
  background-position: center;
  animation-name: welcome, rotation;
  animation-duration: 5s, 5s;
  animation-fill-mode: forwards;
}

@media (min-width: 640px) {
  #opening #flower {
    background-size: 100%;
  }
}

#opening h3 {
  position: absolute;
  font-family: "Dancing Script", cursive;
  animation-name: moveH2;
  animation-duration: 5s;
  animation-fill-mode: forwards;
  color: darkred;
  font-weight: bold;
  font-size: 40px;
  top: 80%;
  right: 35%;
}

@media (min-width: 640px) {
  #opening h3 {
    font-size: 80px;
    top: 80%;
    right: 35%;
  }
}

@keyframes rotation {
  0% {
    transform: rotate(0) scale(1.5);
    opacity: 1;
    display: block;
  }

  99% {
    opacity: 1;
  }

  100% {
    display: none;
    transform: rotate(360deg) scale(0);
    opacity: 0;
  }
}

@keyframes welcome {
  0% {
    background-color: black;
    display: block;
    opacity: 1;
  }

  99% {
    background-color: black;
    display: block;
    opacity: 1;
    z-index: 7;
  }

  100% {
    background-color: black;
    display: none;
    opacity: 0;
    z-index: 2;
  }
}

@keyframes moveH2 {
  0% {
    transform: translateY(0) scale(1);
    display: block;
    opacity: 1;
  }

  99% {
    transform: translateY(-300px) scale(2);
    display: block;
    opacity: 1;
    z-index: 7;
  }

  100% {
    transform: translateY(-300px) scale(2);
    display: none;
    opacity: 0;
    z-index: 2;
  }
}

@media (min-width: 640px) {
  #opening .flower {
    background-size: auto;
  }
}