@charset "utf-8";
/* Default stylesheet - developed by Bull Marketing 2019 */

/* Reset */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,  footer, header, 
hgroup, menu, nav, section, summary, time, mark, audio, video {margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
body { line-height:1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block;}
nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}
a {margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent;}
ins {text-decoration:none;}
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom:1px dotted; cursor:help;}
table {border-collapse:collapse; border-spacing:0;}
hr {display:block; height:1px; border:0; margin:1em 0; padding:0;}
input, select {vertical-align:middle;}
html {scroll-behavior: smooth;}

/*
font-family: 'Montserrat', sans-serif;
font-family: 'Source Sans Pro', sans-serif;
*/

/* Begin styles */
a {color: #ed1a3b; text-decoration: none; -webkit-transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -o-transition: all .25s ease-in-out; transition: all .25s ease-in-out;}
a:hover {color: #ffffff;}
input[type=submit] {-webkit-transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -o-transition: all .25s ease-in-out; transition: all .25s ease-in-out;}

body {font-size: 1em; font-family: 'Montserrat', sans-serif; color: #565a5d; overflow-x: hidden;}

.popup-top {position: absolute; top: 0; left: 0; width: 100%; height: 200%; background: rgba(0,0,0,0.7); z-index: 10000;}
.popup-top .message {display: block; margin: 0 auto;  padding: 50px 0; margin-top: 250px; width: 40%; background: #ffffff;border: 4px solid #ffffff;-moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px;-webkit-box-shadow: 0px 0px 22px 8px rgba(0,0,0,1);-moz-box-shadow: 0px 0px 22px 8px rgba(0,0,0,1);box-shadow: 0px 0px 22px 8px rgba(0,0,0,1);}
.popup-top .message p {display: block; text-align: center; font-size: 1.2em; font-weight: 300; padding-bottom: 30px; line-height: 145%;}
.popup-top .message a.close {text-align: center; text-decoration: underline; display: block; cursor: pointer;}
.popup-top .message a.close:hover {color: #22295c;}

header {float: left; width: 100%; padding: 30px 0; background: #ffffff;}
header a img {max-width: 100%; width: auto; height: auto;}

nav {float: left; width: 100%; background: #ed1a3b; height: 47px; text-align: center; position: relative;}
nav ul.nav {list-style: none;}
nav ul.nav li {font-family: 'Source Sans Pro', sans-serif; font-size: 1.1em; font-weight: 600; text-transform: uppercase; display: inline;}
nav ul.nav li a {display: inline-block; height: 30px; padding: 17px 40px 0 40px; color: #ffffff; letter-spacing: 1px;}
nav ul.nav li a:hover {background: #22295c; color: #ffffff;}

a#menu {display: none;}

section.banner {float: left; width: 100%; background: #22295c; height: 645px;}
section.banner aside {height: 645px; width: 100%; overflow: hidden; position: relative;}
section.banner aside img {width: 100%; position: absolute; bottom: 0;}
section.banner article {width: calc(100% - 75px); padding: 50px 75px 50px 0;}
section.banner article h1 {font-size: 3.3em; font-weight: 800; text-transform: uppercase; line-height: 100%; color: #ffffff;}
section.banner article .line {display: block; width: 380px; height: 10px; background: #ffffff; margin: 35px 0 35px 38px;}
section.banner article h2 {font-family: 'Source Sans Pro', sans-serif; font-size: 2.0em; font-weight: 400; line-height: 120%; color: #ffffff; padding-bottom: 35px;}
section.banner article p {font-family: 'Source Sans Pro', sans-serif; font-size: 1.35em; font-weight: 300; line-height: 140%; color: #ffffff; padding-right: 33px;}

section.intro {float: left; width: 100%; background: #ffffff;}
section.intro p {font-family: 'Source Sans Pro', sans-serif; font-size: 1.35em; font-weight: 300; line-height: 140%; text-align: center; width: 70%; margin: 0 auto; padding-bottom: 35px;}
section.intro a.btn {display: block; margin: 0 auto; width: 205px; height: 33px; position: relative; padding-top: 14px; padding-right: 10px; background: #ed1a3b; text-align: center; color: #ffffff; font-weight: 800; font-size: 1.2em; text-transform: uppercase;}
section.intro a.btn i {font-size: 1.3em; position: absolute; right: 15px; top: 12px;}
section.intro a.btn:hover {background: #22295c; color: #ffffff;}

section.boxes {float: left; width: 100%; background: #ffffff;}
section.boxes aside {width: calc(100% - 20px); margin: 0 auto; display: flex; align-items: center; min-height: 360px;}
section.boxes aside .image {width: 50%; height: 360px; overflow: hidden;}
section.boxes aside .image img {width: auto; height: 100%;}
section.boxes aside .content {width: calc(50% - 50px); padding: 0 25px;}
section.boxes aside .content h3 {font-size: 1.5em; font-weight: 800; text-transform: uppercase; line-height: 100%; padding-bottom: 15px;}
section.boxes aside .content p {font-family: 'Source Sans Pro', sans-serif; font-size: 1.0em; font-weight: 300; line-height: 120%; padding-bottom: 35px;}
section.boxes aside .content a.btn {display: block; width: calc(100% - 10px); height: 31px; position: relative; padding-top: 16px; padding-right: 10px; background: #ed1a3b; text-align: center; color: #ffffff; font-weight: 800; font-size: 1.0em; text-transform: uppercase;}
section.boxes aside .content a.btn i {font-size: 1.3em; position: absolute; right: 15px; top: 12px;}
section.boxes aside .content a.btn:hover {background: #ffffff; color: #22295c;}
section.boxes aside.left {background: #22295c;}
section.boxes aside.left .content h3 {color: #ffffff;}
section.boxes aside.left .content p {color: #ffffff;}
section.boxes aside.right {background: #e6e7e8;}
section.boxes aside.right .content h3 {color: #22295c;}
section.boxes .video {width: 100%; min-height: 360px; overflow: hidden; background: #000000; display: flex; align-items: center;}
section.boxes .video .video-container {position: relative; padding: 56.5% 0 0 0; width: 100%;}
section.boxes .video .video-container video {position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer;}

section.news {float: left; width: 100%; background: #e6e7e8;}
section.news h2 {font-size: 1.7em; font-weight: 800; text-transform: uppercase; line-height: 100%; padding-bottom: 15px; color: #22295c; text-align: center;}
section.news a article {width: calc(100% - 20px); margin: 0 auto; display: flex; align-items: center; background: #ffffff; -webkit-transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -o-transition: all .25s ease-in-out; transition: all .25s ease-in-out;}
section.news a article .image {width: 33%; position: relative; padding: 33% 0 0 0; overflow: hidden; height: auto;}
section.news a article .image img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -o-transition: all .25s ease-in-out; transition: all .25s ease-in-out;}
section.news a article .content {width: calc(66% - 30px); padding: 0 15px;}
section.news a article .content h3 {font-family: 'Source Sans Pro', sans-serif; font-size: 1.0em; font-weight: 300; line-height: 120%; color: #565a5d; -webkit-transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -o-transition: all .25s ease-in-out; transition: all .25s ease-in-out;}
section.news a article .content p {font-family: 'Source Sans Pro', sans-serif; font-size: 1.0em; font-weight: 600; line-height: 120%;}
section.news a:hover article {background: #22295c;}
section.news a:hover article .content h3 {color: #ffffff;}
section.news a:hover article .image img {opacity: 0.5;}
section.news a:hover article .content p {color: #ffffff;}

section.events {float: left; width: 100%; background: #22295c; height: 435px;}
section.events aside {height: 435px; width: 100%; overflow: hidden; position: relative; z-index: 1;}
section.events aside img.bg {width: 100%; position: absolute; top: 0; z-index: 1;}
section.events aside img.logo {position: absolute; bottom: 60px; right: 60px; z-index: 2;}
section.events article {width: calc(100% - 25px); padding: 50px 0 50px 25px; position: relative; z-index: 2;}
section.events article .line {display: block; width: 280px; height: 10px; background: #ed1a3b; margin: 35px 0 35px -130px;}
section.events article h2 {font-size: 1.7em; font-weight: 800; text-transform: uppercase; line-height: 100%; color: #ffffff;}
section.events article p {font-family: 'Source Sans Pro', sans-serif; font-size: 1.2em; font-weight: 300; line-height: 140%; color: #ffffff; padding-bottom: 35px;}
section.events article a.btn {display: block; width: 205px; height: 33px; position: relative; padding-top: 14px; padding-right: 10px; background: #ed1a3b; text-align: center; color: #ffffff; font-weight: 800; font-size: 1.2em; text-transform: uppercase;}
section.events article a.btn i {font-size: 1.3em; position: absolute; right: 15px; top: 12px;}
section.events article a.btn:hover {background: #ffffff; color: #22295c;}

section.contact {float: left; width: 100%; background: #ffffff;}
section.contact article {width: 100%; padding: 50px 0; background: url("../images/bg-contact.jpg") no-repeat center center; background-size: cover;}
section.contact article .line {display: block; width: 280px; height: 10px; background: #ed1a3b; margin: 35px auto; position: relative; left: 45px;}
section.contact article h2 {font-size: 1.7em; font-weight: 800; text-transform: uppercase; line-height: 100%; color: #ffffff; text-align: center;}
section.contact article p {font-size: 1.3em; font-weight: 800; line-height: 155%; color: #ffffff; margin-bottom: 25px; margin-left: 35%;}
section.contact article p span {text-transform: uppercase;}
section.contact article p strong {margin-left: 35px; margin-right: 15px;}
section.contact article p a {color: #ffffff; text-decoration: underline;}
section.contact article p a:hover {color: #ed1a3b;}
section.contact article a.btn {display: block; margin: 0 auto; width: 270px; height: 33px; position: relative; padding-top: 14px; padding-right: 10px; background: #ed1a3b; text-align: center; color: #ffffff; font-weight: 800; font-size: 1.2em; text-transform: uppercase;}
section.contact article a.btn i {font-size: 1.3em; position: absolute; right: 15px; top: 12px;}
section.contact article a.btn:hover {background: #ffffff; color: #22295c;}
section.contact article .social {width: 100%; text-align: center;}
section.contact article .social i.sm {display: inline-block; font-size: 1.9em; margin: 25px 13px 0 13px;}
section.contact article .social a i.sm {color: #ffffff;}
section.contact article .social a:hover i.sm {color: #ed1a3b;}

footer {float: left; width: 100%; background: #000000;}
footer img {padding-top: 10px; width: auto; max-width: 100%; height: auto; margin-bottom: 25px;}
footer p {font-family: 'Source Sans Pro', sans-serif; font-size: 0.9em; font-weight: 300; line-height: 140%; color: #ffffff; padding-left: 100px;}
footer ul {list-style: none; color: #ffffff; margin: 25px 0 25px 100px;}
footer ul li {font-family: 'Source Sans Pro', sans-serif; font-size: 0.9em; font-weight: 300; line-height: 140%; color: #ffffff;}
footer ul li a {color: #ffffff; text-decoration: underline;}
footer ul li a:hover {color: #ed1a3b; text-decoration: none;}
footer p.nopad {padding-left: 0;}

section.news-header {float: left; width: 100%; background: #22295c; height: 240px;}
section.news-header aside {height: 240px; width: 100%; overflow: hidden; position: relative;}
section.news-header aside img {width: 100%; position: absolute; bottom: 0;}
section.news-header article {width: calc(100% - 75px); padding: 50px 75px 50px 0;}
section.news-header article h1 {font-size: 3.3em; font-weight: 800; text-transform: uppercase; line-height: 100%; color: #ffffff;}
section.news-header article .line {display: block; width: 380px; height: 10px; background: #ffffff; margin: 35px 0 35px 38px;}

section.news-content {float: left; width: 100%; background: #ffffff;}
section.news-content article {float: left; width: 80%;}
section.news-content article h2 {font-size: 1.7em; font-weight: 800; text-transform: uppercase; line-height: 100%; color: #ed1a3b; padding-bottom: 25px;}
section.news-content article h3 {font-size: 1.4em; font-weight: 800; text-transform: uppercase; line-height: 100%; color: #ed1a3b; padding-bottom: 25px;}
section.news-content article p,section.news-content article ul {font-family: 'Source Sans Pro', sans-serif; font-size: 1.35em; font-weight: 300; line-height: 140%; padding-bottom: 25px;}
section.news-content article ul { padding: 0 0 25px 60px;  }
section.news-content article ul li { padding-bottom: 1px; }
section.news-content article p a {text-decoration: underline;}
section.news-content article p a:hover {color: #22295c; text-decoration: none;}
section.news-content article img.align-left {float: left; margin: 0 45px 25px 0; width: auto; max-width: 100%; height: auto;}
section.news-content article img.align-right {float: right; margin: 0 0 25px 45px; width: auto; max-width: 100%; height: auto;}
section.news-content article img.align-centre {margin: 0 auto 25px auto; width: auto; max-width: 100%; height: auto; display: block;}
section.news-content article .navigation {float: left; width: 100%; border-top: 1px solid #cccccc; margin-top: 50px; padding-top: 25px; margin-bottom: 50px;}
section.news-content article .navigation a.btn-prev {float: left; display: block; width: 215px; height: 33px; position: relative; padding-top: 14px; padding-left: 10px; background: #ed1a3b; text-align: center; color: #ffffff; font-weight: 800; font-size: 1.2em; text-transform: uppercase;}
section.news-content article .navigation a.btn-prev i {font-size: 1.3em; position: absolute; left: 15px; top: 12px;}
section.news-content article .navigation a.btn-prev:hover {background: #22295c; color: #ffffff;}
section.news-content article .navigation a.btn-next {float: right; display: block; width: 215px; height: 33px; position: relative; padding-top: 14px; padding-right: 10px; background: #ed1a3b; text-align: center; color: #ffffff; font-weight: 800; font-size: 1.2em; text-transform: uppercase;}
section.news-content article .navigation a.btn-next i {font-size: 1.3em; position: absolute; right: 15px; top: 12px;}
section.news-content article .navigation a.btn-next:hover {background: #22295c; color: #ffffff;}
section.news-content article .headshot {width: 80%; padding-right: 20%;}
section.news-content article .headshot img {width: auto; max-width: 100%; height: auto; margin: 0 0 25px 0;}
section.news-content article .headshot p {font-family: 'Source Sans Pro', sans-serif; font-size: 1.15em; font-weight: 300; line-height: 140%; padding-bottom: 25px;}

section.promotions-content {float: left; width: 100%; background: #ffffff;}
section.promotions-content article {float: left; width: 100%;}
section.promotions-content article h2 {font-size: 1.7em; font-weight: 800; text-transform: uppercase; line-height: 100%; color: #ed1a3b; padding-bottom: 25px;}
section.promotions-content article h3 {font-size: 1.35em; font-weight: 800; text-transform: uppercase; line-height: 100%; padding-bottom: 5px;}
section.promotions-content article h4 {font-size: 1.35em; font-weight: 600; line-height: 100%; padding-bottom: 5px;}
section.promotions-content article p {font-family: 'Source Sans Pro', sans-serif; font-size: 1.35em; font-weight: 300; line-height: 140%; padding-bottom: 25px;}
section.promotions-content article p.disclaimer {font-family: 'Source Sans Pro', sans-serif; font-size: 1.1em; font-weight: 300; line-height: 140%; padding-bottom: 25px;}
section.promotions-content article p a {text-decoration: underline;}
section.promotions-content article p a:hover {color: #22295c; text-decoration: none;}
section.promotions-content article ul {list-style: disc; margin-left: 20px; margin-bottom: 25px;}
section.promotions-content article ul li {font-family: 'Source Sans Pro', sans-serif; font-size: 1.35em; font-weight: 300; line-height: 140%;}
section.promotions-content article table {width: 100%; margin-bottom: 25px;}
section.promotions-content article table thead {background: #22295c;}
section.promotions-content article table thead tr th {width: 50%; padding: 10px 15px; text-align: left; color: #ffffff; font-size: 1.15em; font-weight: 400;}
section.promotions-content article table tbody tr td {width: 50%; padding: 10px 15px; text-align: left; font-size: 1.15em; line-height: 145%; font-weight: 400; border-bottom: 1px solid #ed1a3b;}
section.promotions-content article table tbody tr td:first-child {border-right: 1px solid #ed1a3b;}

/* modal popups */
.popup {width: 100%; height: 100%; display: none; position: fixed; top: 0px; left: 0px; background: rgba(0,0,0,0.75); z-index: 10;}
.popup-inner {max-width: 700px; width: 90%; position: absolute; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); box-shadow: 0px 2px 6px rgba(0,0,0,1); -moz-border-radius: 3px; -webkit-border-radius: 3px; -o-border-radius: 3px; border-radius: 3px; background: #ffffff;}
.popup-title {width: 90%; background: #22295c; padding: 20px 5%; -webkit-border-top-left-radius: 3px; -webkit-border-top-right-radius: 3px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px;}
.popup-title h4 {font-family: 'Montserrat', sans-serif; color: #ffffff; font-size: 2.0em; line-height: 125%; font-weight: 600; text-transform: uppercase;}
.popup-description {width: 90%; background: #ffffff; padding: 20px 5%; -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px; -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px;}
.popup-description p {font-size: 1.1em; line-height: 125%; font-weight: 300; padding-bottom: 15px;}
.popup-description form {width: 100%;}
.popup-description form input {font-family: 'Source Sans Pro', sans-serif; display: block; width: calc(90% - 12px); height: 30px; margin: 0 auto 15px auto; padding-left: 10px; font-size: 1.0em; border: 1px solid #cccccc;}
.popup-description form input:focus {border-color: #0090cf; outline: none;}
.popup-description form textarea {font-family: 'Source Sans Pro', sans-serif; display: block; width: calc(95% - 10px); height: 60px; margin: 0 auto 15px auto; padding: 5px; font-size: 1.0em; border: 1px solid #cccccc;}
.popup-description form textarea:focus {border-color: #0090cf; outline: none;}

.popup-description form input[type=submit] {font-family: 'Montserrat', sans-serif; width: 50%; height: 50px; padding: 0; font-size: 1.3em; font-weight: 600; text-transform: uppercase; line-height: 140%; margin: 15px auto; display: block; color: #ffffff; text-align: center; background: #ed1a3b; border: 0; cursor: pointer; outline: 0;}
.popup-description form input[type=submit]:hover {background: #22295c; border: 0; outline: 0;}
.popup-close {width: 30px; height: 30px; padding-top: 4px; text-decoration: none; display: inline-block; position: absolute; top: 0px; right: 0px; -moz-transition: ease 0.25s all; -webkit-transition: ease 0.25s all; -o-transition: ease 0.25s all; transition: ease 0.25s all; -moz-transform: translate(50%, -50%); -webkit-transform: translate(50%, -50%); -o-transform: translate(50%, -50%); transform: translate(50%, -50%); -moz-border-radius: 1000px; -webkit-border-radius: 1000px; -o-border-radius: 1000px; border-radius: 1000px; background: rgba(0,0,0,0.8); font-family: Arial, Sans-Serif; font-size: 20px; text-align: center; line-height: 100%; color: #ffffff;}
.popup-close:hover {-moz-transform: translate(50%, -50%) rotate(180deg); color: #ed1a3b; -o-transform: translate(50%, -50%) rotate(180deg); -webkit-transform: translate(50%, -50%) rotate(180deg); transform: translate(50%, -50%) rotate(180deg); background: rgba(0,0,0,1); text-decoration: none;}
.popup-end {width: 90%; background: #ffffff; padding: 20px 5%; -webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px; -moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px;}
.popup-end a:hover {color: #22295c;}
.popup-description form .has-error {position: relative;}
.popup-description form span.form-error {font-size: 0.9em; position: absolute; left: 40px; top: 20px; color: #ffffff; width: auto; padding: 10px; background: #ed1a3b;}



/* generic styling */
.inner {width: 1200px; margin: 0 auto;}
.inner50l {width: 600px; float: right;}
.inner50r {width: 600px; float: left;}
.inner75l {width: 900px; float: right;}
.inner75r {width: 900px; float: left;}
.inner66l {width: 800px; float: right;}
.inner66r {width: 800px; float: left;}
.inner33l {width: 400px; float: right;}
.inner33r {width: 400px; float: left;}
.row {float: left; width: 100%; display: block; clear: both;}
.rel {position: relative;}
.col1 {float: left; width: 100%;}
.col2 {float: left; width: 50%;}
.col3 {float: left; width: 33.3%;}
.col3-span2 {float: left; width: 66.6%;}
.col4 {float: left; width: 25%;}
.col4-span3 {float: left; width: 75%;}
.col5 {float: left; width: 20%;}
.col5-span2 {float: left; width: 40%;}
.col5-span3 {float: left; width: 60%;}
.col5-span4 {float: left; width: 80%;}
.col6 {float: left; width: 16.6%;}
.left {float: left;}
.right {float: right;}
.pad25 {padding-top: 25px !important; padding-bottom: 25px !important;}
.padtop25 {padding-top: 25px !important;}
.padbot25 {padding-bottom: 25px !important;}
.mar25 {margin-top: 25px !important; margin-bottom: 25px !important;}
.martop25 {margin-top: 25px !important;}
.marbot25 {margin-bottom: 25px !important;}
.pad50 {padding-top: 50px !important; padding-bottom: 50px !important;}
.padtop50 {padding-top: 50px !important;}
.padbot50 {padding-bottom: 50px !important;}
.pad75 {padding-top: 75px !important; padding-bottom: 75px !important;}
.padtop75 {padding-top: 75px !important;}
.padbot75 {padding-bottom: 75px !important;}
.pad100 {padding-top: 100px !important; padding-bottom: 100px !important;}
.padtop100 {padding-top: 100px !important;}
.padbot100 {padding-bottom: 100px !important;}
.mar100 {margin-top: 100px !important; margin-bottom: 100px !important;}
.martop100 {margin-top: 100px !important;}
.marbot100 {margin-bottom: 100px !important;}
.pad125 {padding-top: 125px !important; padding-bottom: 125px !important;}
.padtop125 {padding-top: 125px !important;}
.padbot125 {padding-bottom: 125px !important;}
.mar125 {margin-top: 125px !important; margin-bottom: 125px !important;}
.martop125 {margin-top: 125px !important;}
.marbot125 {margin-bottom: 125px !important;}
.pad150 {padding-top: 150px !important; padding-bottom: 150px !important;}
.padtop150 {padding-top: 150px !important;}
.padbot150 {padding-bottom: 150px !important;}
.tx-center {text-align: center;}
.tx-left {text-align: left;}
.tx-right {text-align: right;}
.img-full {width: auto; height: auto; max-width: 100%; display: block; margin: 0 auto;}