@font-face {
  font-family: 'Summer Loving Regular';
  src: url('../fonts/SummerLoving-Regular.otf')  format('opentype'); /* Safari, Android, iOS */
}
@font-face {
  font-family: 'Eveleth Slant Regular';
  src: url("../fonts/evelethslant/EvelethSlantRegular-Bold.woff2") format("woff2"),
       url("../fonts/evelethslant/EvelethSlantRegular-Bold.woff") format("woff"),
       url('../fonts/evelethslant/EvelethSlantRegular-Bold.ttf')  format('truetype'),
       url('../fonts/evelethslant/EvelethSlantRegular-Bold.eot')  format('embedded-opentype'); 
}

@font-face {
  font-family: 'jose_cuervo_gothic_vectorface';
    src: url('../fonts/josecuervogothicvector-face-webfont.woff2') format('woff2'),
         url('../fonts/josecuervogothicvector-face-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'jose_cuervo_script_vector_rRg';
    src: url('../fonts/jose_cuervo_script_vector-regular-webfont.woff2') format('woff2'),
         url('../fonts/jose_cuervo_script_vector-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'mega_brushregular';
    src: url('../fonts/mega_brush-webfont.woff2') format('woff2'),
         url('../fonts/mega_brush-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

:root {
  --colour-black: #1e1e1e;
  --colour-white: #ffffff;
}

body{
	/*background-color:#ffffff;*/
	color: var(--colour-white);
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 400;
	background-image: url(../imgs/background.jpg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}
header{
	/*background-image: url(../images/background-left.png), url(../images/background-right.png);
	background-position: left top, right top;
	background-repeat: no-repeat;
	background-size: auto;*/
}


.font-main{ font-family: 'Roboto', sans-serif; }
.font-summerloving{ font-family: 'Summer Loving Regular', serif; }
.font-evelethslant{ font-family: 'Eveleth Slant Regular', serif; }

.jose-cuervo-gothic { font-family: 'jose_cuervo_gothic_vectorface', sans-serif; }
.jose-cuervo-regular { font-family: 'jose_cuervo_script_vector_rRg', sans-serif; }
.brush { font-family: 'mega_brushregular'; letter-spacing: 3px; }

.logo{ max-width: 300px; }

.title{ font-weight: 700; font-size: 18px; } /* privacy policy */ 
/*.container{ padding: 0; }*/
/*#main-content{ padding-left: 15px; padding-right: 15px; }*/
#main-content p{ font-size: 14px; margin-bottom: 20px; }
h1{ font-weight: 400; letter-spacing: 8px; }
h2{ margin-bottom: 20px; line-height: 1.2; }
h3{ margin-bottom: 20px; }
img.banner-text { width: 900px; height: auto; margin-top: 30px; margin-bottom: 30px; }
.title1{ font-size: 90px; color: #fff; text-shadow: 4px 4px 2px rgba(0,0,0,0.6); }
.title2{ font-size: 70px; color: #ffffff; }
.title3{ font-size: 50px; color: #fff; }
.title4{ font-size: 25px; line-height: 1.4; color: #242f40; }
.title5{ font-size: 22px; line-height: 1.4; color: #dab63e;  }
.uppercase{ text-transform: uppercase; }
.medium{ font-weight: 500; }

#thankyou .title1{ font-size: 120px; line-height: 0.8; }
#thankyou .title2{ font-size: 40px; letter-spacing:6px; line-height: 40px; }
#thankyou .title4{ font-size: 30px; }

.yellow{ color: #d2db4d;}
.red{font-size: 13px;}
.legal{ color: #252525; font-size: 10px; font-family: 'Roboto', sans-serif; }
a{ color: #252525; text-decoration: underline; }
a:focus, a:active {
    outline: none;
    -moz-outline-style: none;
}
a:hover{ color: #252525; }
img.map, map area{
    outline: none;
    -moz-outline-style: none;
}
label{
	font-weight: normal;
	color: var(--colour-white);
	font-size: 20px;
}
.red{ color: #ff0000;}
.btn{ background: #0d51a2; font-size: 20px; color: #ffffff; border: none; border-radius: 25px; padding: 15px 30px; }
.btn:hover{ color: #fff; }
.submit{ 
	border-radius: 5px;
	background-color: #831a2c;
	font-size: 20px;
	font-weight: 700;
	border: none;
	color: #ffffff;
	padding: 12px 30px;
	letter-spacing: 1px;
	outline: none;
}
button:focus {outline:0;}
/*.btn:hover{ background: #231f20; color: #fff; }*/

#header { 
	background-image: url(../imgs/banner.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	height: 1390px;
}
#header-form { 
	background-image: url(../imgs/banner.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	height: 1200px;
}
#thank-you { 
	background-image: url(../imgs/banner.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	height: 1250px;
}
/*#agepage, #thankyou{
	background-image: url(../imgs/background.jpg);
	background-repeat: no-repeat;
	height: 957px;
}*/

/*#form{
	background-image: url(../imgs/background-short.jpg);
	background-repeat: no-repeat;
	height: 900px;
}*/

#main-header{
	/*background: url(../images/formpage-background.jpg) center top no-repeat;
	background-size: 100% auto;
	width: 635px;
	height: 570px;
	margin: 0 auto;*/
}

#footer{
	/*background-image: url(../images/footer-background-left.png), url(../images/footer-background-right.png);
	background-position: left bottom, right bottom;
	background-repeat: no-repeat;
	background-size: auto;*/
	padding: 0px 0 40px;
	/*height: 450px;*/
	/*background-color: #fff;*/
}
#footer ul{ list-style: none; display: inline-block; margin-left: -20px; margin-bottom: 15px;}
#footer li{display: inline; list-style: none;}
#footer a{ color: var(--colour-white); padding-bottom: 2px; text-decoration: underline; }
#footer p, .copyright{ /*margin-bottom: 15px;*/ font-size: 13px; }

.form-group{ margin-bottom: 30px; }
input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
select, select:focus, select option,
textarea {
  font-size: 16px !important; 
  color: #303030 !important;
  /*padding-left: 15px;*/
  border-color: #252525 !important;
}
select option{ line-height: 2rem; padding-top: 5px !important; }
/*select{ padding-left: -10px !important;}*/
.select2-container .select2-search--inline .select2-search__field{ padding-left: 8px; }
.select2-container--default .select2-selection--multiple .select2-selection__choice{ margin-top: 10px; }
.select2-container .select2-search--inline{  }
.select2-container--default .select2-selection--multiple, .form-control{ border: 1px solid #252525; }

select.form-control{ padding-left: 8px; color: #303030; }
::placeholder{ 
	color: #303030 !important; opacity: 0.4 !important; 
}
::-webkit-input-placeholder {
	color: #303030 !important; opacity: 0.4 !important;
}
::-moz-placeholder {
	color: #303030 !important; opacity: 0.5 !important;
}
:-ms-input-placeholder {
	color: #303030 !important; opacity: 0.5 !important;
}

input[type="date"]{ padding: 0px 12px; -webkit-appearance: none; }
input[type="date"]::-webkit-datetime-edit-month-field { color: blue; }
::-webkit-datetime-edit-day-field { color: green; }
::-webkit-datetime-edit-year-field { color: purple; }

.hidden{ display: none; }

/* preloader */
#preloader {
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
     background: #242f40; 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    height: 100%;
    z-index:99; /* makes sure it stays on top */
}

#status {
    width:50px;
    height:30px;
    position:fixed;
    left:50%; /* centers the loading animation horizontally one the screen */
    top:50%; /* centers the loading animation vertically one the screen */
   margin:-25px 0 0 -15px; /* is width and height divided by two */
}

.spinner {
  margin: 0px auto;
  width: 50px;
  height: 30px;
  text-align: center;
  font-size: 10px;
}

.spinner > div {
  background-color: #fff;
  height: 100%;
  width: 6px;
  display: inline-block;
  
  -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
  animation: stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }  
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes stretchdelay {
  0%, 40%, 100% { 
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }  20% { 
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}
/* preloader end */


@media (min-width: 1900px) and (max-width: 1999px) {
	.custombr{ display: inline !important; }
}
@media (max-width: 2000px) {
	#header { background-image: url(../imgs/banner2000.png); height: 1050px; }
	#header-form { background-image: url(../imgs/banner2000.png); height: 1050px; }
	#thank-you { { background-image: url(../imgs/banner2000.png); height: 1050px; } }

	img.banner-text { width:700px; height: auto; }
	
	.title3{ font-size: 43px; }
	.title4{ font-size: 25px; }
	.title5{ font-size: 20px; }
}
/*@media (min-width: 2000px) {
	.show2500{ display: block !important; }
}*/

@media (max-width: 1680px) {
	#header { background-image: url(../imgs/banner1680.png); height: 1000px; }
	#header-form { background-image: url(../imgs/banner1680.png); height: 1000px; }
	#thank-you { background-image: url(../imgs/banner1680.png); height: 1000px; }

	img.banner-text { width:640px; height: auto; }

	.title3{ font-size: 40px; }
	.title4{ font-size: 23px; }
	.title5{ font-size: 18px; }

	.checkbox-xl .custom-control-label { padding-top: 20px !important; }
}

@media (max-width: 1500px) {
	.logo { width: 200px !important; }
	#header { background-image: url(../imgs/banner1440.png); height: 884px; }
	#header-form { background-image: url(../imgs/banner1440.png); height: 884px; }
	#thank-you { background-image: url(../imgs/banner1440.png); height: 884px; }

	img.banner-text { width:560px; height: auto; }

	.title3{ font-size: 35px; }
	.title4{ font-size: 20px; }
	.title5{ font-size: 16px; }

	.enter { width: 150px !important; }

	/*#agepage, #thankyou{ background-image: url(../imgs/background-1500.jpg); }
	#form{ background-image: url(../imgs/background-1500-short.jpg); }*/
}

@media (max-width: 1380px) {
	#header { background-image: url(../imgs/banner1380.png); height: 760px; }
	#header-form { background-image: url(../imgs/banner1380.png); height: 760px; }
	#thank-you { background-image: url(../imgs/banner1380.png); height: 760px; }

	img.banner-text { width:480px; height: auto; margin-bottom: 20px; }

	.title3{ font-size: 30px; margin-bottom: 10px; }
	.title4{ font-size: 16px; margin-bottom: 10px; }
	.title5{ font-size: 14px; margin-bottom: 10px; }

	.enter { width: 120px !important; }
}

@media (max-width: 1200px) {
	.logo { width: 150px !important; }
}

@media (max-width: 768px) {
	body{ background-image: url(../imgs/mobile-background.jpg);  }
	/*#agepage, #thankyou{ background-image: url(../imgs/banner-mobile.jpg); }*/
	/*br{ display: none; }*/
	/*#agepage, #thankyou{ height: 900px; }*/
	h1{ font-size: 50px; }
	.title1{ font-size: 44px; }
	.title2{ font-size: 33px; }
	.title3{ font-size: 50px; }
	.title4{ font-size: 25px; }
	#thankyou .title1{ font-size: 50px; }
	#thankyou .title2{ font-size: 35px; }
	#thankyou .title4{  font-size: 20px; }
	#footer{ padding-top: 40px; padding-bottom: 40px; height: auto; }
	.logo{ max-width: 300px; }
	.light{ max-width: 300px; }
	.mobile-show{ display: block !important; }
	.mobile-hide{ display: none; }
	#footer p, .copyright{ margin-bottom: 15px; font-size: 12px; }
}

/* --- */
.checkbox-xl .custom-control-label::before, 
.checkbox-xl .custom-control-label::after {
  top: 1.2rem;
  width: 1.85rem;
  height: 1.85rem;
}

.checkbox-xl .custom-control-label {
  padding-top: 21px;
  padding-left: 15px;
  border-color: #fff !important;
}
.custom-control-input-blue{ border-color: #fff !important; }
.custom-control-input-blue:focus~.custom-control-label::before {
  border-color: #fff !important;
  /*box-shadow: 0 0 0 0.2rem rgba(13, 81, 162, 0.25) !important;*/
  box-shadow: none;
}

.custom-control-input-blue:checked~.custom-control-label::before {
  border-color: #000 !important;
  background-color: #000 !important;
}

.custom-control-input-blue:focus:not(:checked)~.custom-control-label::before {
  border-color: #fff !important;
}

.custom-control-input-blue:not(:disabled):active~.custom-control-label::before {
  background-color: #000 !important;
  border-color: #000 !important;
}

/* */
.wordbox{
	width: 90%;
	border-radius: 20px;
	background-color: #0d51a2;
	color: #ffffff;
	padding: 30px 0 40px;
	margin-bottom: 10px;
}

input.box:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, .form-control:focus {
  /*border: 1px solid #0d51a2;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(13, 81, 162, 0.25);
  -moz-box-shadow: 0 0 0 0.2rem rgba(13, 81, 162, 0.25);
  box-shadow: 0 0 0 0.2rem rgba(13, 81, 162, 0.25);
  outline: none;*/
  box-shadow: none;
  outline: none;
  /*background: #c5c5c5;*/
}

.cs-skin-border .cs-options{
	font-size: 16px;
	color: #303030;
	background: #eeeff1;
}
div.cs-skin-border {
	background: transparent;
	font-size: 16px !important;
	font-weight: 500;
	max-width: 700px;
}
.cs-skin-border > span {
	border:1px solid #252525 !important;
	border-radius: 0.25em;

	height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
}
.cs-skin-border.cs-active > span {
	/*background: #fff;
	border-color: #fff;*/
	color: #1650a1;
}
.cs-skin-border .cs-options li span:hover, .cs-skin-border li.cs-focus span{
	background: #1650a1;
	color: #fff;
}
.cs-skin-border ul span{
	padding: .50em 1em;
}
.cs-skin-border .cs-selected span::after{
	color:#303030;
}

/* WORD GAMES */
input.box {
  height: calc(2em + .75rem + 2px);
  padding: .375rem .75rem;
  width:60px;
  text-align: center;
  border-radius: .25rem;
  border: 1px solid #252525;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 2em !important;
}
input.box.error{
	background: rgba(255,0,0,0.8);
}
input.box::selection{
	background: none;
	color: blue;
}
@media (max-width: 768px) {
	.wordbox{ width: 100%; }
	input.box {
		width: 8%;
		height: calc(1.5em + .75rem + 2px);
		font-size: 16px !important;
		padding: .15rem .3rem;
	}
}
/* END WORD GAMES */

.select2-container{
	width: 100% !important;
}
.select2-container .select2-selection--single{
	height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
}

.select2-container--default .select2-selection--single{
	border:1px solid #252525 !important;
	border-radius: 0.25em;
}

.select2-container--default .select2-selection--single:focus{
	outline: none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
	color: #303030;
}
.select2-results__option{ color: #303030; }


.select2-container .select2-selection--single .select2-selection__rendered{
	padding-left: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
	top: .375rem;
}


.form-group {
  position: relative;
}
.custom-control-input.is-valid~.custom-control-label, .was-validated .custom-control-input:valid~.custom-control-label{
	color: var(--colour-white);
	/*border: 1px solid red;*/
}

.form-control.is-invalid, .was-validated .form-control:invalid, .form-control.is-valid, .was-validated .form-control:valid{
	background-image: none;
}

#checkbox-error.invalid-tooltip{ top: 50px; }



button,
.button {
  --button: hsl(0, 0%, 12%);
  --button-hover: hsl(0, 0%, 20%);
  --button-active: hsl(0, 0%, 30%);
  --button-visited: hsl(0, 0%, 20%);
  --button-colour: var(--colour-white);
  --button-border: var(--colour-black);
}

.button--primary {
  --button: hsl(346, 100%, 60%);
  --button-hover: hsl(346, 100%, 70%);
  --button-active: hsl(346, 100%, 80%);
  --button-visited: hsl(346, 100%, 70%);
  --button-colour: var(--colour-black);
  --button-border: var(--colour-black);
}

.button--secondary {
  --button: hsl(0, 0%, 79%);
  --button-hover: hsl(0, 0%, 89%);
  --button-active: hsl(0, 0%, 69%);
  --button-visited: hsl(0, 0%, 89%);
  --button-colour: var(--colour-black);
  --button-border: var(--colour-black);
}

.button--tertiary {
  --button: hsl(0, 100%, 90%);
  --button-hover: hsl(0, 100%, 94%);
  --button-active: hsl(0, 100%, 84%);
  --button-visited: hsl(0, 100%, 94%);
  --button-colour: var(--colour-black);
  --button-border: var(--colour-black);
}

a.button, button {
  padding: 0.9rem 1.7rem;
  color: #fff;
  font-weight: 500;
  font-size: 20px;
  transition: all 0.3s ease-in-out;
  background: #a60c0b;
  border: solid 5px #a60c0b;
  box-shadow: inset 0 0 0 1px #fff;
  margin-right: 1em;
  text-decoration: none;
  letter-spacing: 2px;
}

a.button:hover, button:hover {
  /*text-decoration: underline;*/
  background: #a60c0b;
  box-shadow: inset 0 0 0 4px var(--colour-white);
}

a.button:active, button:active {
  background: var(--button-active);
}

a.button:visited, button:visited {
  background: #a60c0b;
}


.checkbox {
	 display: grid;
	 grid-template-columns: min-content auto;
	 grid-gap: 0.5em;
	 font-size: 20px;
	 color: #252525;
}
 .checkbox--disabled {
	 color: grey;
}
 .checkbox__control {
	 display: inline-grid;
	 width: 1em;
	 height: 1em;
	 border-radius: 0.25em;
	 border: 0.1em solid currentColor;
}
 .checkbox__control svg {
	 transition: transform 0.1s ease-in 25ms;
	 transform: scale(0);
	 transform-origin: bottom left;
}
 .checkbox__input {
	 display: grid;
	 grid-template-areas: "checkbox";
}
 .checkbox__input > * {
	 grid-area: checkbox;
}
 .checkbox__input input {
	 opacity: 0;
	 width: 1em;
	 height: 1em;
}
 .checkbox__input input:focus + .checkbox__control {
	 box-shadow: 0 0 0 0.05em #fff, 0 0 0.15em 0.1em currentColor;
}
 .checkbox__input input:checked + .checkbox__control svg {
	 transform: scale(1);
}
 .checkbox__input input:disabled + .checkbox__control {
	 color: grey;
}



.parallax {
  position: absolute;
  width: 100%;
  height: 1390px;
  overflow: hidden;
  top: 0;
  left: 0;
}
.parallax div {
  /*enable 3D rendering*/
  transform: translateZ(0);
  will-change: transform;
}
.layer {
  position: absolute;
  width: 100%;
  height: 1390px;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 90% auto;
  z-index: -20;
}

/*.source-layer4 {
  background-image: url(../imgs/tree.png);
}*/
