/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	box-sizing: border-box;
	transition: all 0.5s ease-in-out;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
p + p { 
margin-top: 0.5em;
}
strong {
font-weight: bold;
}

/*================================*/
/*          Colours               */
/*                                */
/*     Red:      #790217          */
/*     Burgundy: #590110          */
/*                                */
/*================================*/

/*===== Fonts =====*/
@font-face {
font-family: "cocogothicbold";
    src: url("../fonts/CocoGothic-Bold.eot");
    src: url("../fonts/CocoGothic-Bold.eot?#iefix") format("embedded-opentype"),
         url("../fonts/CocoGothic-Bold.woff") format("woff"),
         url("../fonts/CocoGothic-Bold.ttf") format("truetype"), 
         url("../fonts/CocoGothic-Bold.svg#CocoGothic-Bold") format("svg");
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: "cocogothic";
    src: url("../fonts/CocoGothic.eot");
    src: url("../fonts/CocoGothic.eot?#iefix") format("embedded-opentype"),
         url("../fonts/CocoGothic.woff") format("woff"),
         url("../fonts/CocoGothic.ttf") format("truetype"), 
         url("../fonts/CocoGothic.svg#CocoGothic") format("svg");
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: "catchymager";
    src: url("../fonts/CatchyMager.eot");
    src: url("../fonts/CatchyMager.eot?#iefix") format("embedded-opentype"),
         url("../fonts/CatchyMager.woff") format("woff"),
         url("../fonts/CatchyMager.ttf") format("truetype"), 
         url("../fonts/CatchyMager.svg#CatchyMager") format("svg");
font-weight: normal;
font-style: normal;
}

/*===== Main Styles =====*/
html, body {
margin: 0;
padding: 0;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
}

body {
background: 
  linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), /* black overlay at 50% opacity */
    url('../images/background-01.jpg') no-repeat center center fixed;
background-size: cover;
color: white;
position: relative;
}

/*===== Divs =====*/
.content {
text-align: center;
padding: 2rem;
border-radius: 10px;
min-height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
}

#header {
position: absolute;
top: 40px;
left: 0;
right: 0;
margin: 0 auto;
}

#logo {
display: block;
width: 225px;
margin: 0 auto;
padding: 0;
}

#modal-logo {
display: block;
width: 300px;
margin: 0 auto;
padding: 0;
}

/*===== Containers =====*/


#baseline-wrapper {
width: 100%;
max-width: 1600px;
padding: 0 10px;
margin: 0 auto;
overflow: hidden;
}

/*===== Columns =====*/
.one-column {
display: block;
float: left;
width: 100%;
padding: 20px;
margin: 0; 
}

.two-column {
display: block;
float: left;
width: 50%;
padding: 20px;
margin: 0; 
}

.two-column.first {
padding: 20px 10px 20px 0;
}

.two-column.last {
padding: 20px 0 20px 10px;
}

.three-column {
display: block;
float: left;
width: 33.333%;
padding: 20px;
margin: 0;
}

.three-column.first {
padding: 20px 10px 20px 0;
}

.three-column.last {
padding: 20px 0 20px 10px;
}

.inner-column {
background: #ffffff;
border-radius: 10px;
padding: 20px;
margin: 0;
}

/*===== Sections =====*/
section {
padding: 40px 0 0;
margin: 0;
overflow: hidden;
}

section.small {
padding: 10px 0 0;
margin: 0;
overflow: hidden;
}

section.short {
padding: 20px 0 0;
margin: 0;
overflow: hidden;
}

section.large {
padding: 80px 0 0;
margin: 0;
overflow: hidden;
}

section.lower {
padding: 0 0 40px 0;
margin: 0;
overflow: hidden;
}

section.sub {
padding: 0 0 20px 0;
margin: 0;
overflow: hidden;
}

/*===== General =====*/
.center {
text-align: center;
}

.left {
text-align: left;
}

.right {
text-align: right;
}

.light {
font-weight: 300;
}

.normal {
font-weight: 400;
}

.medium {
font-weight: 500;
}

.semibold {
font-weight: 600;
}

.bold {
font-weight: 700;
}

.extrabold {
font-weight: 900;
}

.italic {
font-style: italic;
}

.uppercase {
text-transform: uppercase;
}

.darkshadow {
text-shadow: 2px 2px 2px #000000;
}

.hidden {
opacity: 0;
}

.hide {
display: inline-block;
}

.noover {
overflow: visible;
}

.clear {
clear: both;
}

/*===== Spans =====*/
span.coco {
font-family: 'cocogothicbold', sans-serif;
letter-spacing: 8px;
}

span.catchy {
font-family: 'catchymager', sans-serif;
}

span.red {
color: #590110;
}

span.white {
color: #ffffff;
}

/*===== Headers =====*/
header.main {
padding: 0 0 40px 0;
margin: 0;
overflow: hidden;
}

header.sub {
padding: 0 0 20px 0;
margin: 0;
overflow: hidden;
}

header.mid {
padding: 20px 0;
margin: 0;
overflow: hidden;
}

h1 {
color: #ffffff;
font-size: 3em;
margin: 0;
padding: 0;
display: block;
line-height: 1.3em;
}

h2 {
color: #000000;
font-size: 2.5em;
margin: 0;
padding: 0;
display: block;
line-height: 1.3em;
}

h2.white {
color: #ffffff;
}

h3 {
color: #000000;
font-size: 1.6em;
margin: 0;
padding: 0;
display: block;
line-height: 1.3em;
}

h3.white {
color: #ffffff;
}

h4 {
color: #000000;
font-size: 1.2em;
margin: 0;
padding: 0;
display: block;
line-height: 1.3em;
}

h4.white {
color: #ffffff;
}

/*===== Paragraphs =====*/
p.main-text {       
color: #454545;
font-family: 'cocogothic', sans-serif;
letter-spacing: 1px;
font-size: 1.1em; 
padding: 0;
line-height: 1.3em;
}

p.main-text.white {       
color: #ffffff; 
}

p.main-text.small {       
font-size: 0.875em; 
}

p.main-text.large {       
font-size: 9em;
line-height: 0.3em;
}

p.main-text.mid {       
font-size: 4.5em;
line-height: 1.2em;
}

p.banner-text {
color: #000000;
font-size: 3.5em;
margin: 0;
padding: 0;
line-height: 1em;
}

p.error-text {       
color: #454545; 
font-size: 12em; 
font-weight: 700;
padding: 0;
line-height: 1em;
}

/*===== Form Fields =====*/
form#emailForm {
padding: 40px 0 0;
margin: 0 auto;
}

form.cmxform {
width: 100%;
color: #454545; 
padding: 0;
}

form.cmxform legend {
padding-left: 0;
}

form.cmxform legend, form.cmxform label {
color: #454545;
}

form.cmxform fieldset {
border: none;
background: none repeat scroll 0 0 transparent;
background-color: transparent;
margin: 0;
padding: 10px 0 0;
}

form.cmxform fieldset fieldset {
background: none;
}

form.cmxform fieldset p, form.cmxform fieldset fieldset {
padding: 0 0 20px;
background: none repeat scroll 0 0 transparent;
}

form.cmxform label.error, label.error {
color: #ffffff;
font-style: italic;
display: block !important;
margin: 0 0 10px 0;
}

div.error { 
display: none; 
}

form.cmxform .gray * { 
color: gray; 
}

#emailForm {
width: 80%;
}

#emailForm label.error {
width: auto;
display: none;
font-size: 0.85em;
margin: 0 0 20px 0;
}

.editor-label {
background: none repeat scroll 0 0 transparent;
border: 0 none;
display: block;
margin: 10px 0;
outline: 0 none;
padding: 0;
}

.editor-label-buttons {
background: none repeat scroll 0 0 transparent;
border: 0 none;
display: block;
margin: 40px 0 10px 0;
outline: 0 none;
padding: 0;
}

.editor-field {
background: none repeat scroll 0 0 transparent;
border: 0 none;
display: block;
margin: 0;
outline: 0 none;
padding: 0;
}

.editor-field-padded {
background: none repeat scroll 0 0 transparent;
border: 0 none;
display: block;
margin: 0 0 20px 0;
outline: 0 none;
padding: 0;
}

input.contact {
border: 1px solid #000000;
color: #454545;
font-family: 'Montserrat', sans-serif;
font-size: 1em;
height: 40px;
line-height: 18px;
margin-bottom: 10px;
padding: 5px 10px;
width: 100%;
outline: none;
transition: all 0.5s ease-in-out;
}

input.contact:focus {
border: 2px solid #6c0217;
outline: none;
}

input.contact.error {
border: 1px solid red;
}

textarea.contact {
border: 1px solid #000000;
color: #454545;
font-family: 'Montserrat', sans-serif;
font-size: 1em;
height: 100px;
line-height: 18px;
margin-bottom: 10px;
padding: 10px 3px;
width: 95%;
outline: none;
transition: all 0.5s ease-in-out;
}

textarea.contact:focus {
border: 2px solid #6c0217;
outline: none;
}

textarea.contact.error {
border: 1px solid red;
}

input.submit {
background: #ffffff;
border: 0 none;
border-radius: 3px;
display: inline-block;
color: #790217;
cursor: pointer;
font-family: 'cocogothicbold', sans-serif;
letter-spacing: 4px;
font-size: 1em;
padding: 15px 80px;
margin: 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: all 0.2s ease-in-out;
}

input.submit:hover {
color: #6c0217;
}

/*===== Buttons =====*/
a.button {
background: #590110;
border: 0 none;
border-radius: 3px;
display: inline-block;
color: #ffffff;
cursor: pointer;
font-family: 'cocogothicbold', sans-serif;
letter-spacing: 4px;
font-size: 0.9em;
padding: 15px 80px;
margin: 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: all 0.2s ease-in-out;
}

a.button:hover {
background: #790217;
}

/*===== Links =====*/
a.link:link, a.link:visited, a.link:active {
color: inherit;
font-size: inherit; 
text-decoration: underline;
margin: 0;
transition: all 0.5s ease-in-out;
}

a.link:hover {
text-decoration: underline;
}

a.blank:link, a.blank:visited, a.blank:active {
text-decoration: none;
}

/*===== Telephone Numbers =====*/
.tel,.tel:visited { /*for small screens */ 
color: inherit; 
padding: 0; 
text-decoration: none; 
cursor: default;
} 

.tel:hover,.tel:focus { 
color: inherit; 
}

/*===== Lists =====*/

/*===== Standard Bullets =====*/
ul.bullets {
list-style-type: disc;
list-style-position: inside;
margin: 10px 0 20px 0;
padding: 0;
text-align: left;
}

ul.bullets li {
color: #000000; 
padding: 0;
margin-bottom: 5px;
margin-left: 2.0em;
text-indent: -1em;
}

span.bullets {
color: #454545; 
font-size: 1em; 
line-height: 1.7em;
}
	
/*===== Images =====*/
img {
border: 0;
height: auto;
max-width: 100%;
}

/*===== Modal Styles =====*/
.modal {
background: #590110 !important;
}

.modal-content {
position: relative;
width: 100%;
margin: 0;
padding: 0;
overflow: hidden;
z-index: 1;
}

.modal-content-wrapper {
width: 100%;
max-width: 1400px;
padding: 20px 0;
margin: 0 auto;
overflow: hidden;
}

.modal-wrapper {
width: 70%;
height: 45px;
margin: 0 auto;
padding: 15px 0 0;
border-bottom: 1px solid rgba(128, 128, 128, 0.6);
vertical-align: middle;
}

.modal-wrapper.flex {
height: auto;	
}

/*===== Animations =====*/

/*=== Fade In  ===*/
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; } }
.fadeIn { animation-name: fadeIn; }

/*=== Fade In Down ===*/
@keyframes fadeInDown {
  from { opacity: 0; transform: translate3d(0, -100%, 0); }
  to { opacity: 1; transform: none; } }
.fadeInDown { animation-name: fadeInDown; }

/*=== Fade In Up ===*/
@keyframes fadeInUp {
  from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to { opacity: 1; transform: none; } }
.fadeInUp { animation-name: fadeInUp; }

/*=== Fade In Left ===*/
@keyframes fadeInLeft {
  from { opacity: 0; transform: translate3d(-30px, 0, 0) }
  to { opacity: 1; transform: none; } }
.fadeInLeft { animation-name: fadeInLeft; }

/*=== Fade In Right ===*/
@keyframes fadeInRight {
  from { opacity: 0; transform: translate3d(100%, 0, 0); }
  to { opacity: 1; transform: none; } }
.fadeInRight { animation-name: fadeInRight; }

.animatein.in-view {  
animation: fadeIn;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

.animateleft.in-view {  
animation: fadeInLeft;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

.animateright.in-view {  
animation: fadeInRight;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

.animatedown.in-view {  
animation: fadeInDown;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

.animateup.in-view {  
animation: fadeInUp;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

/*=== Optional Delays  ===*/
.one { animation-delay: 0.2s !important; }
.two { animation-delay: .6s !important; }
.three { animation-delay: 1s !important; }
.four { animation-delay: 1.4s !important; }
.five { animation-delay: 1.8s !important; }

/*********************************************************************/
/*===== Media Queries for Mobile Landscape =====*/
@media (max-height: 500px) {
	
.content {
justify-content: flex-start;
padding-top: 120px; 
padding-bottom: 2rem;
}

}

/*********************************************************************/
/*===== Media Queries for Mobile =====*/
@media screen and (max-width: 400.99px) 
			  and (min-width: 320px) {

#logo {
width: 200px;
}

#modal-logo {
width: 180px;
}

p.main-text {
font-size: 1em;
}
			  
p.main-text.large {
font-size: 3.8em;
}

p.main-text.mid {
font-size: 2em;
}

.modal {
padding: 25px !important;
}			  

#emailForm {
width: 95%;
}

p.error-text { 
font-size: 8em; 
}			  

}

/*********************************************************************/
/*===== Media Queries for Mobile =====*/
@media screen and (max-width: 480.99px) 
			  and (min-width: 401px) {

#logo {
width: 200px;
}

#modal-logo {
width: 200px;
}

p.main-text {
font-size: 1em;
}
			  
p.main-text.large {
font-size: 4.5em;
}

p.main-text.mid {
font-size: 2.2em;
}

.modal {
padding: 30px !important;
}			  

#emailForm {
width: 95%;
}

p.error-text { 
font-size: 8em; 
}			  

}


/*********************************************************************/
/*===== Mobile Landscape =====*/
@media screen and (max-width: 600.99px) 
			  and (min-width: 481px) {
			  
#logo {
width: 200px;
}

#modal-logo {
width: 200px;
}

p.main-text {
font-size: 1em;
}
			  
p.main-text.large {
font-size: 5em;
}

p.main-text.mid {
font-size: 2.5em;
}

.modal {
padding: 30px !important;
}			  

#emailForm {
width: 90%;
}
			  
}


/*********************************************************************/
/*===== Small Tablet Portrait ======*/
@media screen and (max-width: 768.99px) 
			  and (min-width: 601px) {

#logo {
width: 200px;
}

#modal-logo {
width: 200px;
}
			  
p.main-text.large {
font-size: 6em;
}

p.main-text.mid {
font-size: 3em;
}

}


/*********************************************************************/
/*===== Tablet Portrait =====*/
@media screen and (max-width: 1024.99px) 
			  and (min-width: 769px) {

p.main-text.large {
font-size: 6.5em;
}

p.main-text.mid {
font-size: 3em;
}		  
			  
}


/*********************************************************************/
/*===== Tablet Portrait =====*/
@media screen and (max-width: 1200.99px) 
			  and (min-width: 1025px) {

p.main-text.large {
font-size: 7em;
}

p.main-text.mid {
font-size: 3.5em;
}			  
			  
}


/*********************************************************************/
/*===== Tablet Portrait =====*/
@media screen and (max-width: 1400px) 
			  and (min-width: 1201px) {
			  
p.main-text.large {
font-size: 8em;
}

p.main-text.mid {
font-size: 4em;
}
  
}