/* fonts */

@font-face {
  font-family: 'Avenir';
  src: url('fonts/Avenir-Medium.woff2') format('woff2'),
       url('fonts/Avenir-Medium.woff')  format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Avenir';
  src: url('fonts/Avenir-MediumOblique.woff2') format('woff2'),
       url('fonts/Avenir-MediumOblique.woff') format('woff');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: 'Avenir';
  src: url('fonts/Avenir-Heavy.woff2') format('woff2'),
       url('fonts/Avenir-Heavy.woff')  format('woff');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Avenir';
  src: url('fonts/Avenir-HeavyOblique.woff2') format('woff2'),
       url('fonts/Avenir-HeavyOblique.woff')  format('woff');
  font-weight: bold;
  font-style: italic;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset !important;
}

/* document */

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, p {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

* {
  outline: 0;
  box-sizing: border-box;
}

/* header */

#header {
  width: 100%;
  padding: 50px 20px 0 20px;
  overflow: hidden;
}

#header-row {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  white-space: nowrap;
}

#header-title {
  margin: 0 50px;
  font: bold 60px Avenir;
  text-align: center;
  white-space: nowrap;
  align-self: center;
}

#header-title a {
  color: #000;
  text-decoration: none;
}

.header-login-controls {
  width: 350px;
  flex-shrink: 1;
  font: 15px Avenir;
  align-self: center;
}

.header-login-controls-spacer {
  width: 350px;
}

@media only screen and (max-width: 1100px) {
  .header-login-controls-spacer {
    display: none;
  }
  #header-row {
    justify-content: space-between;
  }
}

.header-login-greeting {
  margin-bottom: 5px;
  word-wrap: normal;
}

.header-login-button {
  margin-right: 10px;
  padding: 10px;
  color: #000;
  text-decoration: none;
  background: #ffe366;
  transition: 0.3s;
}

@media only screen and (min-width: 900px) {
  .header-login-button {
    display: inline-block;
  }
}

@media only screen and (max-width: 899px) {
  .header-login-button {
    display: block;
    margin-bottom: 20px;
  }
}

.header-login-button:last-child {
  margin-right: 0;
}

.header-login-button:hover {
  background: #ffeea3;
}

.header-login-button-dim {
  background: #d8d8d8;
}

.header-login-button-dim:hover {
  background: #e8e8e8;
}

.header-mobile-menu-button {
  display: none;
}

#header-links {
  display: flex;
  justify-content: center;
}

#header-links a {
  margin: 25px 50px 25px 0;
  color: #4a4a4a;
  font: 18px Rubik;
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.3s;
}

#header-links a:last-child {
  margin-right: 0;
}

#header-links a:hover {
  color: #4679b0;
}

#christmas-lights {
  position: absolute;
  top: 197px;
  left: 0;
  width: 100%;
  height: 20px;
  background: url('images/lights.png');
  z-index: 1;
  transition: 0.3s;
}
.christmas-lights-2 {
  background: url('images/lights2.png') !important;
}

#christmas-tree {
  position: absolute;
  top: 4px;
  left: 130px;
  width: 200px;
  height: 200px;
  background: url('images/tree.png');
  z-index: -1;
}

/* footer */

#footer {
  width: 100%;
  padding: 50px;
}

#footer-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

#footer-links {

}

#footer-links a {
  display: block;
  margin-bottom: 18px;
  color: #4a4a4a;
  font: 18px Rubik;
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.3s;
}

#footer-links a:last-child {
  margin-bottom: 0;
}

#footer-links a:hover {
  color: #4679b0;
}

#footer-newsletter {
}

#footer-newsletter-title {
  color: #4a4a4a;
  font: bold 35px Avenir;
}

#footer-newsletter-body {
  color: #4a4a4a;
  font: 20px Avenir;
  max-width: 700px;
}

#footer-newsletter-body a {
  color: #4a4a4a;
}

#footer-newsletter-body a:hover {
  color: #4679b0;
}

#footer-newsletter-form {
  margin-top: 15px;
}

#footer-newsletter-input {
  display: block;
  width: 360px;
  padding: 10px;
  border: 1px solid #d8d8d8;
  outline: 0;
  background: #d8d8d8;
  color: #fff;
  font: 18px Rubik;
  text-transform: uppercase;
  transition: 0.3s;
}

#footer-newsletter-input::placeholder {
  color: #fff;
}

#footer-newsletter-button {
  cursor: pointer;
  width: 200px;
  border: 0;
  outline: 0;
  margin-top: 15px;
  padding: 10px;
  color: #4a4a4a;
  background: #ffe366;
  font: 18px Rubik;
  text-align: left;
  text-transform: uppercase;
  transition: 0.3s;
}

#footer-newsletter-button:hover {
  background: #ffeea3;
}

.footer-newsletter-confirmation {
  height: 101px;
  font: 25px Avenir;
  color: #4a4a4a;
}

#footer-social {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 94px;
}

#footer-social a {
  display: block;
  width: 50px;
  height: 50px;
  margin-bottom: 18px;
  background-size: cover;
  transition: 0.3s;
  cursor: pointer;
}

#footer-social a:last-child {
  margin-bottom: 0;
}

#footer-social a:hover {
  opacity: 0.6;
}

.footer-mobile-links {
  display: none;
}

#footer-copyright {
  margin-top: 70px;
  color: #4a4a4a;
  font: 18px Avenir;
  text-align: center;
}

.footer-links-mobile {
  display: none;
}

/* special */

.uppercase {
  text-transform: uppercase;
}

.crop {
  display: block;
  overflow: hidden;
}

@keyframes beat {
  30% {
    transform: scale(1.2);
  }
  50% {
    transform: scale(1);
  }
  80% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes rotate90 {
  100% {
    transform: rotate(90deg);
  }
}

@keyframes jiggle {
  33% {
    transform: rotate(-20deg);
  }
  66% {
    transform: rotate(+20deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

body {
  -webkit-font-smoothing: antialiased;
}
