:root {
    /* fonts */
    --font-family-primary: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    --font-size-xs: 14px;
    --font-size-sm: 15px;
    --font-size-md: 20px;
    --font-size-lg: 31px;
    --font-size-xl: 49px;

    /* colors */
    --header-color-primary-onlight: #0057a4;
    --text-color-primary-onlight: #191919;
    --header-color-primary-ondark: #fff;
    --text-color-primary-ondark: #fff;
    --text-color-primary-ondark-hover: #fe7600;
    --text-color-primary-onlight-hover: #000;
    --text-color-secondary-ondark: #fce067;
    --button-color-primary-bg: #fe7600;
    --button-color-primary-text: #fff;
    --offcanvas-bg: #fff;
    --offcanvas-close: #000;
    

}

html,body,.wrapper {
    min-height: 100vh;
}

body {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-md);
  color: var(--text-color-primary-onlight);
}

a {
  transition: all .6s;
}
a:hover {
  text-decoration: none;
}

.uk-checkbox:checked, .uk-checkbox:indeterminate, .uk-radio:checked {
	background-color: var(--button-color-primary-bg) !important;
}

.uk-input {
	border-radius: 5px;
  filter: drop-shadow(2.5px 4.33px 6.5px rgba(0,0,0,0.1));
  background-color: #f7f7f7;
  border: 1px solid #d0d0d0;
}
.uk-input:focus {
	outline: 0;
	border-color: var(--button-color-primary-bg);
}
.uk-form-danger, .uk-form-danger:focus {
	color: #f0506e !important;
	border-color: #f0506e !important;
}

.uk-sticky {
  transition: background-color .6s;
}
.uk-sticky-fixed.uk-active {
  background-color: var(--offcanvas-bg);
  padding-bottom: 5px;
  border-bottom: 1px solid #868686;
}
.uk-sticky.uk-active a {
  color: var(--text-color-primary-onlight);
}
.uk-sticky a:hover {
  color: var(--text-color-primary-ondark-hover);
}
.uk-sticky-fixed.uk-active a:hover {
  color: var(--text-color-primary-ondark-hover);
}

.offcanvas-trigger {
  margin-top: 35px;
  color: var(--text-color-primary-ondark);
}
.uk-offcanvas-close {
  top:30px;
}
.offcanvas-menu {
  height: 100%;
}
.offcanvas-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  height: 100%;
}
.offcanvas-menu ul li {
  margin-bottom: 30px;
}

.logo {
  margin: 0;
}
.top-menu {
  display: none;
}

main {
  margin-top: -106px;
  padding-top: 120px;
  background: url(../images/bg-sm.webp) top center no-repeat;
}

.intro {
  margin-top: 30px;
}
.intro h2.orange {
  font-size: 46px;
  font-weight: bold;
  color: var(--text-color-primary-ondark);
  position: relative;
  z-index: 1;
  width: 350px;
}
.intro h2.orange::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: -13px;
  width: 350px;
  height: 135px;
  background:url(../images/shape-sm.webp) center no-repeat;
  z-index: -1;
}
.intro h2.empty {
  font-size: 50px;
  font-weight: bold;
  color: var(--text-color-primary-ondark);
  text-align: right;
  width: 342px;
}
.intro h2.empty span {
  font-size: 40px;
}

.anim {
  height: 220px;
}
.anim > * {
  display: none;
}

h1 {
  margin: 60px 0 0 0;
  font-size: 30px;
  font-weight: bold;
  color: var(--header-color-primary-onlight);
  text-align: center;
}

.triada {
  padding: 60px 0;
  overflow: hidden;
}
.triada figure {
  position: relative;
  width: 308px;
  height: 312px;
  margin-left: auto;
  margin-right: auto;
}
.triada figure img {
  position: absolute;
}
.triada p {
  margin: 0 auto 45px auto;
  max-width: 350px;
  text-align: center;
}
.triada p.green-field {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}
.triada p.green-field::before {
  content: "";
  position: absolute;
  width: 383px;
  height: 231px;
  top: -95px;
  left: -36px;
  background: url(../images/green-shape.webp) center no-repeat;
  z-index: -1;
}
.triada p.green-field {
  color: var(--text-color-primary-ondark);
  width: 290px;
  font-size: 18px;
  padding-left: 10px;

  text-align: left;
  margin: 0;
}
.triada p.green-field span {
  display: block;
  text-align: center;
  color: var(--text-color-secondary-ondark);
  font-size: 24px;
  font-weight: bold;
  padding-right: 70px;
}
.triada p.green-field span a {
  color: #fff;
  text-decoration: underline;
}

.form {
  margin: 60px 0;
}
.form .selections {
  margin: 60px 0 0 0;
  position: relative;
  background: url(../images/pattern.jpg) repeat;
  padding-bottom: 70px;
}

.form .questions {
  margin-top: 90px;
}
.form .questions label {
  font-size: var(--font-size-md);
  color: var(--text-color-primary-ondark);
  margin-bottom: 15px;
}
.form .questions label.uk-form-label {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
  position: relative;
}
.form .questions label.uk-form-label::after {
  content: attr(data-num);
  font-size: var(--font-size-lg);
  font-weight: bold;
  position: absolute;
  top: -46px;
  left: calc(50% - 23px);
  width: 45px;
  height: 42px;
  background: url(../images/numbers.webp) center no-repeat;
  text-align: center;
}

.form .tc {
  color: var(--text-color-primary-ondark);
  font-size: var(--font-size-sm);
}
.form .tc a {
  color: var(--text-color-primary-ondark);
  font-weight: bold;
  text-decoration: underline;
}
.form .submit button {
  font-size: 30px;
  font-weight: bold;
  color: var(--button-color-primary-text);
  background-color: var(--button-color-primary-bg);
  padding: 30px 50px;
  text-align: center;
  border: none;
  cursor: pointer;
}

.form .santa, .form .skier {
  display: none;
}

.subheading {
  font-size: 21px;
  color: #0056a3;
  font-weight: bold;
  text-align: center;
  background: #fff;
  padding: 5px 10px;
  margin-top: 40px;
}

/*
*
*  Thank you
*
*/
.ty main {
  background: url(../images/ty-bg.webp) top center no-repeat;
  margin-bottom: 150px;
}
.ty h1 {
  width: 100%;
  font-size: 48px;
  color: var(--text-color-primary-ondark);
  font-weight: bold;
  margin-top: 100px;
  text-align: center;
}
.ty h2 {
	width: 100%;
	font-size: 40px;
	color: var(--text-color-primary-ondark);
	margin-top: 40px;
	text-align: center;
}

.ty .ty-orange {
	position: relative;
	z-index: 1;
	width: 350px;
	text-align: center;
	height: 80px;
	font-size: 35px;
	color: #ffffff;
	font-weight: bold;
	margin: 90px auto 150px;
}
.ty .ty-orange::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: -6px;
	left: 7px;
	background: url(../images/ty-shape-sm.webp) top center no-repeat;
	z-index: -1;
}

.ty .visit {
	display: block;
	padding: 15px 20px;
	text-align: center;
	font-size: 20px;
	color: #ffffff;
	font-weight: bold;
	background: #0057a3;
}

.ty h2.uk-modal-title {
	font-size: 2rem;
	color: inherit;
	margin-top: inherit;
	text-align: left;
}

/*
*
*  FOOTER
*
*/

footer .footernav a {
  color: var(--text-color-primary-onlight);
  font-size: var(--font-size-sm);
  font-weight: bold;
}
footer p {
  font-size: var(--font-size-sm);
}

footer .lastline {
  border-top: 1px solid #eee;
  padding-top: 20px;
}
footer .lastline div {
  margin-bottom: 10px;
}
footer .lastline a {
  margin-right: 10px;
  color: #868686;
  font-size: 11px;
}
footer .lastline a:hover {
  color: var(--text-color-primary-onlight-hover);
}

@media only screen and (min-width: 414px) {

  .triada p.green-field {
    margin: auto;
  }

}

@media only screen and (min-width: 640px) {

  main {
    background: url(../images/bg-md.webp) top center no-repeat;
  }

  .anim {
    position: relative;
    height: 330px;
  }
  .anim > * {
    display: block;
  }
  .anim .shadows {
    position: absolute;
    right: 20%;
  }
  .anim .couch {
    position: absolute;
    right: 20%;
  }
  .anim .christmas-tree {
    position: absolute;
    right: 2%;
  }
  .anim .tv {
    position: absolute;
    left: 0;
  }

}

@media only screen and (min-width: 1024px) {

  .offcanvas-trigger {
    display: none;
  }

  .top-menu {
    display: block;
    margin-top: 51px;
  }
  .top-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .top-menu a {
    font-size: var(--font-size-sm);
    font-weight: bold;
    color: var(--text-color-primary-ondark);
    margin: 0 0 0 24px;
  }
  .top-menu li:last-child {
    margin: 0;
  }

  .intro h2.orange {
    margin-left: auto;
  }

  .anim .tv {
    position: absolute;
    left: 10%;
  }

  h1 {
    width: 70%;
    font-size: 49px;
  }

  .ty h1 {
    width: 100%;
    font-size: 55px;
    margin-top: 160px;
  }

  .ty .ty-orange {
    width: 700px;
    height: 170px;
    font-size: 79px;
    line-height: 33px;
    margin: 90px auto 200px;
  }
  .ty .ty-orange::before {
    top: -16px;
    left: 23px;
    background: url(../images/ty-shape.webp) top center no-repeat;
  }

  .ty .visit {
    padding: 30px 50px;
    font-size: 30px;
  }

  .subheading {
    font-size: 30px;
    width: 50%;
    background: transparent;
    padding: 0;
    margin-top: 0;
  }

}

@media only screen and (min-width: 1200px) {

  main {
    background: url(../images/bg-lg.webp) top center no-repeat;
  }

  .top-menu a {
    margin: 0 0 0 34px;
  }

  .intro {
    margin-top: 30px;
  }
  .intro h2.orange {
    font-size: 69px;
    width: 506px;
    line-height: 4.2rem;
    margin-top: 14px;
  }
  .intro h2.orange::before {
    width: 506px;
    height: 199px;
    left: -40px;
    top: -20px;
    background:url(../images/shape-lg.webp) center no-repeat;
  }
  .intro h2.empty {
    width: 590px;
    font-size: 85px;
    color: var(--text-color-primary-ondark);
    text-align: right;
    line-height: 6rem;
  }
  .intro h2.empty span {
    font-size: 62px;
  }

  .anim {
    height: 430px;
  }

  .form .selections {
    background: url(../images/selections-lg.webp) top center no-repeat;
    background-attachment:inherit;
    padding-bottom: 0;
  }
  .form .questions {
    margin-top: 120px;
  }

  
  

}

@media only screen and (min-width: 1366px) {

  .intro {
    margin-top: 90px;
  }

  .triada p {
    text-align: left;
  }

  .form .questions label.uk-form-label::after {
    top: 0;
    left: -60px;
  }

  .form .santa {
    display: block;
    position: absolute;
    bottom: 53%;
    right: 30%;
  }

  .form .skier {
    display: block;
    position: absolute;
    bottom: 14%;
    right: -77px;
  }
  
}

@media only screen and (min-width: 1680px) {

  main {
    background: url(../images/bg-lg.webp) top center no-repeat;
  }

  .anim {
    height: 600px;
  }
  .anim .shadows {
    position: absolute;
    right: 0%;
  }
  .anim .couch {
    position: absolute;
    right: 0%;
  }
  .anim .christmas-tree {
    position: absolute;
    right: -20%;
  }
  .anim .tv {
    position: absolute;
    left: -6%;
  }

  .form .skier {
    right: 130px;
  }

}