:root {
  --color-bg: #f0f0fa;
  --color-copy: #000000;

  --color1: #ffffff;
  /*FONT-COLOR FOR DARK COLOR*/
  --color1a: rgba(255, 255, 255, 0.8);
  /*FONT-COLOR FOR DARK COLOR OPACITY*/

  --color2: #FFDA1A;
  /*LIGHT COLOR*/

  --color3: #0051BA;
  /*DARK COLOR*/
  --color3a: rgba(0, 81, 186, 0.8);
  /*DARK COLOR OPACITY*/


  --anim-ease: ease-out;
  --anim-duration: 0.3s;
}



@font-face {
  font-family: "regular";
  src: url("../font/regular/Lato-Regular.woff2"),
    url("../font/regular/Lato-Regular.woff");
}

@font-face {
  font-family: "light";
  src: url("../font/light/Lato-Light.woff2"),
    url("../font/light/Lato-Light.woff");
}

@font-face {
  font-family: "bold";
  src: url("../font/bold/Lato-Bold.woff2"),
    url("../font/bold/Lato-Bold.woff");
}



body {
  margin: 0;

  background-color: var(--color-bg);

  font-family: "regular";
  color: var(--color-copy);
}

p {
  margin: 0
}

.is-hidden {
  width: 1px;
  height: 1px;
  position: absolute;
  margin: -1px;
  padding: 0px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.center {
  text-align: center;
}

.text--info {
  padding-top: 30px;
  text-align: center;
}

input.makeRed {
  background-color: #ffdddd;
}


.is-selected {
  background-color: var(--color3)!important;
  transition: var(--anim-duration) var(--anim-ease)!important;
}


.main {
  display: grid;

  grid-template-rows: 50px auto 10px auto 10px 300px auto 100px auto;
  grid-template-columns: 15% auto 15%;
}

@media only screen and (max-width: 1000px) {

  .main {
    grid-template-rows: 50px auto 50px auto 50px 500px auto 50px auto;
    grid-template-columns: 10% auto 10%
  }

}

@media only screen and (max-width: 700px) {

  .main {
    grid-template-columns: 10px auto 10px;
  }

}



.hero__bgImage {
  grid-column-start: 1;
  grid-column-end: end;
  grid-row-start: 1;
  grid-row-end: 7;

  background-image: url(../img/header-bg.jpg);
  background-size: cover;
  background-position: center;
}



.wrapper--headline {
  grid-column-start: 1;
  grid-column-end: end;
  grid-row-start: 2;
  grid-row-end: 2;

  padding: 40px 0;

  background-color: var(--color3a);
}

.wrapper--title {
  grid-column-start: 2;
  grid-column-end: 2;
  grid-row-start: 2;
  grid-row-end: 2;

  padding: 10px 0;

  text-align: center;
}

.wrapper--form {
  grid-column-start: 2;
  grid-column-end: 2;
  grid-row-start: 6;
  grid-row-end: 8;

  height: auto;
  padding: 40px;
  border-radius: 20px;
  width:50%;

  background-color: var(--color1);

}

.wrapper--image {
  grid-column-start: 2;
  grid-column-end: 2;
  grid-row-start: 3;
  grid-row-end: 3;
  padding-left: 5%;

  text-align: center;
}

.wrapper--footer {
  grid-column-start: 2;
  grid-column-end: 2;
  grid-row-start: 9;
  grid-row-end: end;

  padding: 20px 0;
}

@media only screen and (max-width:1000px) {

  .wrapper--title {
    padding: 10px 0
  }

  .wrapper--form {
    padding: 20px;
  }

}





.title {
  color: white;

  font-size: 40px
}

.title--small {
  color: var(--color1);

  font-family: "light";
  font-size: 20px
}

.title__spot {
  font-family: "bold";
  font-size: 45px;
}

@media only screen and (max-width:1000px) {

  .title {
    font-size: 30px
  }

  .title--small {
    font-size: 16px;
  }

  .title__spot {
    font-size: 45px;
  }
  
.wrapper--image {
  grid-column-start: 2;
  grid-column-end: 2;
  grid-row-start: 3;
  grid-row-end: 6;

  text-align: center;
}

}

@media only screen and (max-width:700px) {

  .title {
    font-size: 24px
  }

  .title--small {
    font-size: 16px;
  }

  .title__spot {
    font-size: 28px;
  }

}





.image--win {
  width: 35%;
  z-index:100;
  position:absolute;
  
}

@media only screen and (max-width:1000px) {
.wrapper--form{
	width:90%;
}
  .image--win {
    width: 100%;
	padding:0;
	position:relative;
  }

}





input {
  font-family: "regular";
  font-size: 14px
}

.form__grid {
  display: grid;

  grid-template-columns: 45% 45%;
  grid-template-rows: auto auto auto;

  column-gap: 10%;
  grid-row-gap: 20px;

  justify-items: stretch;
  align-items: stretch;
}

.form__split {
  display: grid;
  grid-gap: 10px 10px;
}

.form__split--50-50 {
  grid-template-columns: 1fr 1fr;
}

.form__split--70-30 {
  grid-template-columns: 7fr 3fr;
}

.form__headline {
  margin-bottom: 40px;
  font-family: "bold";
  font-size: 26px;
  line-height: 36px;

  color: var(--color3);

}

.form__subline {
  margin: 80px 0 40px 0;

  font-family: "bold";
  font-size: 20px;
  line-height: 30px;

  color: var(--color2);

}

.form__item {
  position: relative;
  width: 100%
}

.form__button {
  padding-top: 50px;
}

.form__radioGroup {
  display: grid;
  grid-gap: 10px 10px;
  grid-template-columns: 1fr 1fr;
}

.label {
  display: flex;
  justify-content: space-between;
}

.radio {
  position: absolute;
  display: block;
  border: none;
  padding: 0;
  height: 1px;
  opacity: 0;
  width: 1em;
  top: 90%;
  left: calc(50% - 1em);
}

.radio__label {
  display: flex;
  justify-content: center;
  align-items: center;

  margin-top: 10px;
  width: 100%;
  height: 40px;

  font-size: 20px;
  text-transform: uppercase;

  color: var(--color1);
  background-color: var(--color2);

  cursor: pointer;

  transition: var(--anim-duration) var(--anim-ease);
}

.radio__label:hover {
  background-color: var(--color3);
  transition: var(--anim-duration) var(--anim-ease);
}

.input {
  line-height: calc(1em + 10px);
  appearance: none;

  margin-top: 10px;
  border: 1px solid var(--color2);
  width: calc(100% - 14px);
  padding: 7px;

  background-color: var(--color1);
}

.checkbox {
  position: relative;
  display: block;

  border: none;
  padding: 0;
  height: 1px;
  opacity: 0;
  margin-right: -1em;
  width: 1em;
  top: 10px;
}

.checkbox__label {
  position: relative;
  display: block;
  padding-left: 2em;
  text-align: left;
  font-size: 14px;
  line-height: 24px;
  cursor: pointer;
}

.checkbox__label::before {
  position: absolute;
  top: 0.15em;
  left: 0;

  width: 1.5em;
  height: 1.5em;

  display: inline-block;
  content: " ";

  border: 1px solid var(--color2);
  background-color: var(--color1);
  box-shadow: inset 0 0 0 2px white;

  transition: var(--anim-duration) var(--anim-ease);
}

.checkbox:checked + .checkbox__label:before,
.checkbox__label:hover::before {
  width: 0.625em;
  height: 1.5em;
  top: -0.15em;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid var(--color3);
  border-bottom: 2px solid var(--color3);
  border-radius: 0;

  background-color: transparent;
  box-shadow: none;

  transform: rotateZ(37deg);
  transform-origin: 100% 100%;
  transition: var(--anim-duration) var(--anim-ease);
}

.checkbox__label a, a {
  color: var(--color3);
}

.button {
  display: block;

  margin: 0 auto;
  padding: 20px;
  border: 0;
  width: 100%;
  max-width: 400px;

  text-align: center;
  font-family: "bold";
  font-size: 24px;
  text-transform: uppercase;
  text-decoration: none;

  white-space: nowrap;

  color: var(--color1);
  background-color: var(--color3);

  cursor: pointer;

  transition: var(--anim-duration) var(--anim-ease);
}

.button:hover {
  background-color: var(--color2);
  transition: var(--anim-duration) var(--anim-ease);
}


@media only screen and (max-width:1000px) {

  .form__headline {
    margin-bottom: 30px;
    font-size: 24px;
    line-height: 34px;
  }

}

@media only screen and (max-width:700px) {

  .form__grid {
    grid-template-columns: 100%;
    grid-template-rows: auto;

    grid-row-gap: 15px;
  }

  .form__headline {
    margin-bottom: 20px;
    font-size: 22px;
    line-height: 32px;
  }

  .form__subline {
    margin: 40px 0 20px 0;

    font-size: 18px;
    line-height: 28px;
  }

}





.footer {
  text-align: center;
}
