@charset "UTF-8";
@font-face { font-family: "MarydaleRegular"; src: url("../fonts/2F0C5E_0_0.eot"); src: url("../fonts/2F0C5E_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/2F0C5E_0_0.woff2") format("woff2"), url("../fonts/2F0C5E_0_0.woff") format("woff"), url("../fonts/2F0C5E_0_0.ttf") format("truetype"); }
body { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

div, main, section, aside, header, footer, article, nav, hgroup { position: relative; }

.footer .nourl { text-decoration: none !important; cursor: text !important; color: #fff !important; }

a { color: #333; }

#sidebar { width: 100px; background-color: #e20018; position: absolute; right: 0; top: 240px; color: white; z-index: 2000; text-align: center; padding-bottom: 20px; }
#sidebar h3 { font-size: 36px; color: #fff; font-style: normal; margin: 20px 0 0 0; }
#sidebar h3.star { background-image: url("../images/star.png"); color: #e20018; text-align: center; width: 45px; height: 45px; display: block; margin: auto; margin-top: 20px; font-size: 16px; font-weight: bold; line-height: 50px; }
#sidebar p { margin: 0; font-weight: 200; font-size: 14px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
#sidebar h3 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }

@media screen and (min-width: 860px) { .col50 .col { width: 48%; display: inline-block; vertical-align: top; } }
.topbar { width: 100%; height: 125px; background-color: #333; position: absolute; z-index: -1; }

#smalllogo { display: none; }

.container { max-width: 1600px; margin: auto; padding: 0px 30px; }

#logo { display: block; float: left; width: 35%; background-color: white; height: 125px; }
#logo img { margin: 10px auto 0; display: block; width: 160px; }
#logo:hover img, #logo:focus img { opacity: 0.75; }

.vcard h2, .vcard .country-name { display: none; }

#sitemap::after, #sitemap ul::after { clear: none !important; }

#contact { float: right; }

.cycle-pager { position: absolute; bottom: 20px; right: 20px; width: 100%; height: 15px; text-align: right; }
.cycle-pager a { display: inline-block; width: 15px; height: 15px; border: 1px solid #fff; border-radius: 9px; position: relative; z-index: 200; text-indent: -999em; text-align: left; overflow: hidden; margin: 0 5px; }
.cycle-pager .cycle-pager-active, .cycle-pager a:hover, .cycle-pager a:focus { background: #fff; }

blockquote { background-image: url("../images/quote.jpg"); background-repeat: no-repeat; margin-left: 0; padding-left: 70px; color: #e20018; font-weight: bold; }
blockquote em { margin-top: 10px; text-align: right; display: block; color: #000; font-style: normal; font-weight: 700; }

ul { padding-left: 20px; }
ul > li { margin: 10px 0; }

.button { background-color: #e20018; padding: 10px 45px; font-size: 22px; color: white; margin: 20px; display: block; float: left; }
.button:hover { background-color: #aa0000; }

#contact .button { margin-right: 0; margin-top: 15px; margin-left: 40px; }
#contact a { color: white; text-decoration: none; font-size: 22px; display: block; float: left; margin-top: 25px; }

#menuicon { display: none; text-decoration: none; }
#menuicon:hover, #menuicon:focus { color: #e20018; }

#menu { float: right; clear: right; padding: 0; margin: 0 -13px 0 0; z-index: 10; }
#menu > li { list-style-type: none; display: inline; position: relative; }
#menu > li > a { color: white; text-decoration: none; padding: 10px 13px 10px 13px; font-size: 18px; background-repeat: no-repeat; background-position: center 25px; background-origin: content-box; background-size: 100% 6px; }
#menu > li > ul { position: absolute; display: block; width: 170px; margin-left: -85px; left: 50%; z-index: 1000; padding: 20px 0 0 0; overflow: hidden; -webkit-transition: max-height 1s; transition: max-height 1s; visibility: hidden; max-height: 0; }
#menu > li > a:hover, #menu > li > a:focus, #menu > li.current > a, #menu > li.section > a, #menu > li > a.hover { background-image: url("../images/underline.png"); }
#menu > li:hover > ul, #menu > li:focus > ul, #menu > li.hover > ul { max-height: 1000px; visibility: visible; }
#menu > li > ul > li { list-style-type: none; margin: 0; background-color: #333; }
#menu > li > ul > li:last-child { border-bottom: 5px solid #e20018; }
#menu > li > ul > li > a { display: block; color: white; text-decoration: none; text-align: center; font-size: 18px; padding: 10px; }
#menu > li > ul > li > ul { padding: 0; border-top: 5px solid #555; border-bottom: 5px solid #555; background-color: #555; margin-top: 10px; }
#menu > li > ul > li > ul > li { list-style-type: none; margin: 0; }
#menu > li > ul > li > ul > li > a { display: block; color: white; text-decoration: none; text-align: center; font-size: 16px; font-weight: 100; padding: 10px; }
#menu > li > ul > li > ul > li > a:hover, #menu > li > ul > li > ul > li > a:focus, #menu > li > ul > li > ul > li .current > a, #menu > li > ul > li > ul > li .section > a, #menu > li > ul > li > ul > li > a.hover { text-decoration: underline; }
#menu > li > ul > li > a:hover, #menu > li > ul > li > a:focus, #menu > li > ul > li .current > a, #menu > li > ul > li .section > a, #menu > li > ul > li > a.hover { text-decoration: underline; }
#menu > li > ul > a:hover, #menu > li > ul > a:focus, #menu > li > ul .current > a, #menu > li > ul .section > a, #menu > li > ul > a.hover { text-decoration: underline; }

@media screen and (max-width: 820px) { #menu > li > a:hover, #menu > li > a:focus, #menu > li.current > a, #menu > li.section > a, #menu > li > a.hover { background-image: none; } }
.typography, .feature { font-size: 16px; font-size: 1.2vw; color: #222; line-height: 1.3; }
.typography ul, .feature ul { padding-left: 1em; list-style: none; list-style-position: outside; }
.typography ul li:before, .feature ul li:before { content: "✓"; color: #e20018; margin-left: -1em; margin-right: 0.4em; }
.typography .step-buttons, .feature .step-buttons { padding: 0; }
.typography .step-buttons li:before, .feature .step-buttons li:before { display: none; }

.content { width: 35%; margin-top: 80px; }
.content a:hover, .content a:focus { color: #e20018 !important; }

.footer a:hover, .footer a:focus, .footer #social a:hover, .footer #social a:focus { color: #e20018; }

.content a { color: #222; }

.slideshow { display: block; float: right; margin: 30px 0 20px 30px; width: 65%; padding-left: 30px; box-sizing: border-box; }
.slideshow .cycle-slide { padding-left: 30px; box-sizing: border-box; }
.slideshow div { width: 100%; }
.slideshow img { width: 100%; display: block; }
.slideshow .caption { font-size: 39px; line-height: 1; font-family: "MarydaleRegular"; position: absolute; left: 30px; right: 0; bottom: 40px; text-decoration: none; text-align: center; color: #fff; z-index: 600; }
.slideshow .viz { position: absolute; display: block; left: 0; right: 0; bottom: 0; background: url(../images/caption-back.png) no-repeat 0 100%/100%; padding-top: 34.22704%; z-index: 5; }
.slideshow .play { position: absolute; display: block; left: 50%; top: 50%; width: 86px; height: 62px; margin: -31px 0 0 -43px; background: url(../images/play.png) no-repeat 0 0; }
.slideshow .cycle-slide a { position: relative; display: block; height: 100%; width: 100%; background: #fff; }
.slideshow .cycle-slide a:hover img, .slideshow .cycle-slide a:focus img { opacity: 0.8; }
.slideshow .cycle-slide .viz { left: 30px; }
.slideshow .cycle-sentinel { padding: 0; }

@media screen and (max-width: 820px) { .slideshow { padding-right: 20px; padding-left: 20px; float: none; }
  .slideshow .cycle-slide { padding-right: 20px; padding-left: 20px; }
  .slideshow .cycle-slide .viz { left: 0; right: 0; }
  .slideshow .cycle-pager { left: 30px; right: auto; width: auto; bottom: 20px; }
  .cycling { padding: 0; } }
#tripadvisor { display: block; float: right; width: 65%; margin-top: 25px; padding-left: 30px; box-sizing: border-box; }
#tripadvisor img { width: 115px; height: auto; }

#TA_cdsratingsonlywide534 { width: 420px; margin: auto; }

.clear { clear: both; width: 100%; height: 1px; }

h1, .h1 { font-style: normal; color: #e20018; font-size: 24px; font-size: 2vw; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; text-align: left; font-weight: 700; color: #e20018; width: 100%; padding: 20px 0; margin-bottom: 30px; background: url("../images/wideborder.jpg") no-repeat 50% 100%; background-size: 100% 6px; line-height: 1.1; }

h2, .h2, h3, .h3 { font-size: 28px; font-size: 2.4vw; color: #e20018; margin-bottom: 30px; font-family: "MarydaleRegular"; font-style: italic; font-weight: normal; margin-bottom: 10px; margin-top: 30px; line-height: 1; }

h3, .h3 { color: #222; }

h4, .h4 { font-size: 1.4em; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-style: normal; color: #222; }

.u, form legend { position: absolute; display: block; height: 10px; width: 10px; left: -999em; direction: ltr; margin: -10px 0 0 -10px; list-style: none; overflow: hidden; padding: 0; text-align: left; background: transparent; border: 0; }
.u a, form legend a { background: transparent; }

.subhead { font-family: "MarydaleRegular"; font-style: italic; color: #e20018; font-size: 52px; line-height: 0.80769; text-align: center; font-weight: normal; margin: 0.8em 0; }

@media screen and (min-width: 860px) and (max-width: 1100px) { .subhead { font-size: 42px; } }
@media screen and (max-width: 859px) { .subhead { font-size: 32px; } }
.feature { width: 100%; clear: both; margin: 20px 0; overflow: hidden; }
.feature img { width: 35%; float: left; padding: 0 30px 30px 0; }
.feature .h4 { font-size: 22px; font-weight: normal; color: #e20018; }
.feature.a-active.hover { cursor: pointer; }
.feature.a-active.hover a { color: #e20018; }

.tiles { clear: both; padding: 30px 0; overflow: hidden; }
.tiles img { width: 16.666%; display: block; float: left; }

img { border: 0; }

.awards img { width: 16.666%; min-width: 100px; margin-top: -10px; margin-bottom: 20px; }

@media screen and (max-width: 820px) { .tiles, .awards { padding-top: 0 !important; padding-bottom: 0 !important; }
  .tiles img, .awards img { width: 33.333%; }
  .awards .h3 { padding: 0 20px; } }
.footer { background-color: #333; color: #eee; padding: 20px 0 30px 0; margin-top: 20px; }
.footer a { color: white; }
.footer .left { margin-top: 50px; line-height: 24px; float: left; }
.footer .right { float: right; text-align: right; }

#social { padding: 0; padding-bottom: 60px; margin-top: 0; }
#social li { list-style-type: none; float: left; }
#social li a { color: white; text-decoration: none; font-size: 16px; }
#social li a img { margin-left: 40px; margin-right: 7px; position: relative; top: 7px; }

@media screen and (max-width: 820px) { #social { padding: 0; }
  #social li { float: none; display: inline-block; vertical-align: top; text-align: center; margin: 0 20px; }
  #social li a img { margin-left: 0; } }
@media screen and (max-width: 479px) { #social li { display: block; } }
@media screen and (max-width: 960px) and (min-width: 820px) { #menu > li > a { padding: 10px 0 10px 15px; font-size: 16px; }
  #contact a:first-child { display: none; }
  #social { padding: 0; padding-bottom: 20px; margin-top: 55px; }
  #social li a img { margin-left: 0px; margin-right: 3px; position: relative; top: 2px; width: 20%; } }
@media screen and (max-width: 820px) { #contact { margin: 0; text-align: right; padding: 10px 20px 0 0; height: 115px; }
  #contact a { float: none; margin: 0; }
  #contact a:first-child { position: relative; top: 80px; }
  #contact a.button { margin: -10px 0 0 0; display: inline; padding: 10px 20px; }
  .topbar { height: 125px; }
  #menuicon { display: block; color: white; font-size: 60px; float: left; margin: 20px 0 0 40px; cursor: pointer; }
  #menu { float: none; width: 100%; background-color: #333; padding-top: 0; position: absolute; top: 125px; z-index: 1000; overflow: hidden; display: none; }
  #menu > li { display: block; width: 100%; text-align: center; margin: 0; }
  #menu > li:hover > ul, #menu > li:focus > ul { padding: 20px; }
  #menu > li > a { color: white; text-decoration: none; font-size: 30px; float: none; padding: 20px 0; display: block; }
  #menu > li > ul { position: relative; width: auto; border-bottom: 0; top: 0; left: 0; background-color: #555; padding: 0 20px; margin: 0; }
  #menu > li > ul > li:last-child { border: 0; }
  #menu > li > ul > li > a { font-size: 36px; }
  #menu > li > ul > li > ul > li > a { font-size: 28px; }
  #menu > li > a:hover { background-image: none; }
  #menu a.current, #menu a.section, #menu a:hover, #menu a:focus { color: #e20018; background-image: none !important; }
  .typography { padding: 0 20px; }
  .content { width: 500px; padding: 0 20px; width: auto !important; overflow: hidden; margin-top: 0; padding: 20px; }
  .slideshow { width: auto !important; margin: 0; }
  .slideshow .slide-i a { padding-left: 0; display: block; }
  .footer { padding-bottom: 30px; height: auto; }
  .footer .container div { width: 100%; text-align: center; margin-top: 10px; display: block; clear: both; }
  body > .container { padding: 0; }
  #logo { display: none; }
  #smalllogo { display: block; width: 100%; clear: both; padding: 30px 0; }
  #smalllogo img { display: block; width: 120px; margin: auto; }
  .feature img { max-width: none; width: 100%; float: none; box-sizing: border-box; padding: 0 20px; margin-bottom: 20px; }
  .feature .h4 { margin: 0; }
  .feature .h4, .feature p, .feature a { padding: 0 20px; }
  #tripadvisor { float: none; text-align: center; padding-left: 0; margin-top: 35px; width: 320px; }
  #tripadvisor div { width: auto !important; height: auto !important; display: inline-block !important; }
  #tripadvisor .cdsRating { padding: auto !important; margin-top: 10px; }
  #sidebar { top: 290px; z-index: 500; } }
@media screen and (max-width: 479px) { #sidebar { padding-bottom: 5px; width: 80px; }
  #sidebar h3 { font-size: 24px; margin: 10px 0 0; margin-top: 10px !important; }
  #sidebar p { font-size: 10px; }
  .slideshow .caption { font-size: 24px; text-align: left; left: 20px; } }
@media screen and (max-width: 820px) { #smalllogo { padding: 15px 0; } }
#broometown-booking { overflow: scroll-x; }
#broometown-booking .button { font-size: 14px; }

.displayGrid { overflow: scroll; }

@media screen and (max-width: 820px) { #broometown-booking { margin: 0 0 20px; } }
.typography { /****************** WYSIWYG EDITOR ALIGNMENT CLASSES **************** */ }
.typography main p.left { text-align: left; }
.typography main p.center { text-align: center; }
.typography main p.right { text-align: right; }
.typography main p img.center { margin: 0 auto 10px auto; display: block; }
.typography main p img.right { float: right; margin: 0 0 10px 20px; }
.typography main p a.right { float: right; padding: 0; background: none; }
.typography main img.large { margin-top: -40px; margin-right: -10px; }
.typography main img.leftAlone { text-align: left; display: block; margin-bottom: 10px; }
.typography main img.left { float: left; margin-right: 20px; }
.typography main p.MsoNormal, .typography main p.MsoBodyText { margin: 0; }
.typography main .media { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.typography main .media .overlay { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: url(../images/blank.gif) repeat; z-index: 1999; }
.typography main .media .overlay.is-mobile { display: none; }
.typography main .media iframe, .typography main .media object, .typography main .media embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/****************** CONTACT **************** */
.vcard .geo { display: none; }
.vcard .phone, .vcard .fax { margin: 0; }
.vcard p { position: relative; }
.vcard .phone span, .vcard .email a { position: absolute; display: block; top: 0; left: 6em; font-weight: 700; }
.vcard .phone a { display: block; }
.vcard .fax .tel { padding: 0 0 0 6em; }
.vcard .fax .type { position: absolute; display: block; top: 0; left: 0; }

.lt-ie7 .vcard .fax .type { left: -6em; }

/* Magnific Popup CSS */
.mfp-bg { top: 0; left: 0; width: 100%; height: 100%; z-index: 1042; overflow: hidden; position: fixed; background: #0b0b0b; opacity: 0.8; }

.mfp-wrap { top: 0; left: 0; width: 100%; height: 100%; z-index: 1043; position: fixed; outline: none !important; -webkit-backface-visibility: hidden; }

.mfp-container { text-align: center; position: absolute; width: 100%; height: 100%; left: 0; top: 0; padding: 0 8px; box-sizing: border-box; }

.mfp-container:before { content: ""; display: inline-block; height: 100%; vertical-align: middle; }

.mfp-align-top .mfp-container:before { display: none; }

.mfp-content { position: relative; display: inline-block; vertical-align: middle; margin: 0 auto; text-align: left; z-index: 1045; }

.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content { width: 100%; cursor: auto; }

.mfp-ajax-cur { cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { cursor: -webkit-zoom-out; cursor: zoom-out; }

.mfp-zoom { cursor: pointer; cursor: -webkit-zoom-in; cursor: zoom-in; }

.mfp-auto-cursor .mfp-content { cursor: auto; }

.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; }

.mfp-loading.mfp-figure { display: none; }

.mfp-hide { display: none !important; }

.mfp-preloader { color: #cccccc; position: absolute; top: 50%; width: auto; text-align: center; margin-top: -0.8em; left: 8px; right: 8px; z-index: 1044; }
.mfp-preloader a { color: #cccccc; }
.mfp-preloader a:hover { color: white; }

.mfp-s-ready .mfp-preloader { display: none; }

.mfp-s-error .mfp-content { display: none; }

button.mfp-close, button.mfp-arrow { overflow: visible; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; display: block; outline: none; padding: 0; z-index: 1046; box-shadow: none; }
button::-moz-focus-inner { padding: 0; border: 0; }

.mfp-close { width: 44px; height: 44px; line-height: 44px; position: absolute; right: 0; top: 0; text-decoration: none; text-align: center; opacity: 0.65; padding: 0 0 18px 10px; color: white; font-style: normal; font-size: 28px; font-family: Arial, Baskerville, monospace; }
.mfp-close:hover, .mfp-close:focus { opacity: 1; }
.mfp-close:active { top: 1px; }

.mfp-close-btn-in .mfp-close { color: #333333; }

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close { color: white; right: -6px; text-align: right; padding-right: 6px; width: 100%; }

.mfp-counter { position: absolute; top: 0; right: 0; color: #cccccc; font-size: 12px; line-height: 18px; }

.mfp-arrow { position: absolute; opacity: 0.65; margin: 0; top: 50%; margin-top: -55px; padding: 0; width: 90px; height: 110px; -webkit-tap-highlight-color: transparent; }
.mfp-arrow:active { margin-top: -54px; }
.mfp-arrow:hover, .mfp-arrow:focus { opacity: 1; }
.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a { content: ""; display: block; width: 0; height: 0; position: absolute; left: 0; top: 0; margin-top: 35px; margin-left: 35px; border: medium inset transparent; }
.mfp-arrow:after, .mfp-arrow .mfp-a { border-top-width: 13px; border-bottom-width: 13px; top: 8px; }
.mfp-arrow:before, .mfp-arrow .mfp-b { border-top-width: 21px; border-bottom-width: 21px; opacity: 0.7; }

.mfp-arrow-left { left: 0; }
.mfp-arrow-left:after, .mfp-arrow-left .mfp-a { border-right: 17px solid white; margin-left: 31px; }
.mfp-arrow-left:before, .mfp-arrow-left .mfp-b { margin-left: 25px; border-right: 27px solid #3f3f3f; }

.mfp-arrow-right { right: 0; }
.mfp-arrow-right:after, .mfp-arrow-right .mfp-a { border-left: 17px solid white; margin-left: 39px; }
.mfp-arrow-right:before, .mfp-arrow-right .mfp-b { border-left: 27px solid #3f3f3f; }

.mfp-iframe-holder { padding-top: 40px; padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content { line-height: 0; width: 100%; max-width: 900px; }
.mfp-iframe-holder .mfp-close { top: -40px; }

.mfp-iframe-scaler { width: 100%; height: 0; overflow: hidden; padding-top: 56.25%; }
.mfp-iframe-scaler iframe { position: absolute; display: block; top: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: black; }

/* Main image in popup */
img.mfp-img { width: auto; max-width: 100%; height: auto; display: block; line-height: 0; box-sizing: border-box; padding: 40px 0 40px; margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure { line-height: 0; }
.mfp-figure:after { content: ""; position: absolute; left: 0; top: 40px; bottom: 40px; display: block; right: 0; width: auto; height: auto; z-index: -1; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #444444; }
.mfp-figure small { color: #bdbdbd; display: block; font-size: 12px; line-height: 14px; }
.mfp-figure figure { margin: 0; }

.mfp-bottom-bar { margin-top: -36px; position: absolute; top: 100%; left: 0; width: 100%; cursor: auto; }

.mfp-title { text-align: left; line-height: 18px; color: #f3f3f3; word-wrap: break-word; padding-right: 36px; }

.mfp-image-holder .mfp-content { max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure { cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) { /** Remove all paddings around the image on small screen */
  .mfp-img-mobile .mfp-image-holder { padding-left: 0; padding-right: 0; }
  .mfp-img-mobile img.mfp-img { padding: 0; }
  .mfp-img-mobile .mfp-figure:after { top: 0; bottom: 0; }
  .mfp-img-mobile .mfp-figure small { display: inline; margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar { background: rgba(0, 0, 0, 0.6); bottom: 0; margin: 0; top: auto; padding: 3px 5px; position: fixed; box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty { padding: 0; }
  .mfp-img-mobile .mfp-counter { right: 5px; top: 3px; }
  .mfp-img-mobile .mfp-close { top: 0; right: 0; width: 35px; height: 35px; line-height: 35px; background: rgba(0, 0, 0, 0.6); position: fixed; text-align: center; padding: 0; } }
@media all and (max-width: 900px) { .mfp-arrow { -webkit-transform: scale(0.75); -ms-transform: scale(0.75); transform: scale(0.75); }
  .mfp-arrow-left { -webkit-transform-origin: 0; -ms-transform-origin: 0; transform-origin: 0; }
  .mfp-arrow-right { -webkit-transform-origin: 100%; -ms-transform-origin: 100%; transform-origin: 100%; }
  .mfp-container { padding-left: 6px; padding-right: 6px; } }
.mfp-fade.mfp-bg { opacity: 0.001; -webkit-transition: all 0.15s ease-out; transition: all 0.15s ease-out; }
.mfp-fade.mfp-bg.mfp-ready { opacity: 0.8; }
.mfp-fade.mfp-bg.mfp-removing { opacity: 0; }
.mfp-fade.mfp-wrap .mfp-content { opacity: 0; -webkit-transition: all 0.15s ease-out; transition: all 0.15s ease-out; }
.mfp-fade.mfp-wrap.mfp-ready .mfp-content { opacity: 1; }
.mfp-fade.mfp-wrap.mfp-removing .mfp-content { opacity: 0; }

form.userform { clear: none; }

form { box-sizing: border-box; display: block; position: relative; margin: 0 0 20px; overflow: hidden; }
form * { box-sizing: border-box; }
form div.field { position: relative; width: 100%; clear: left; margin-bottom: 10px; vertical-align: top; }
form fieldset { border: none; padding: 0; margin: 0; }
form div.middleColumn { display: block; }
form h2 { clear: both; }
form h3 { margin: 20px 0 10px; clear: both; }
form p { margin: 0 0 10px 50px; font-size: 12px; line-height: 1.1; }
form p.checkbox { margin-left: 10px; }
form .checkbox label { font-weight: 700; }
form label { display: block; font-weight: normal; padding: 0 10px 0 0; line-height: 1.2; margin-top: 0.3em; color: #222; }
form label.left { text-align: left; }
form .requiredField label.right { position: absolute; left: 75px; top: 0; width: auto; line-height: 28px; padding: 0; margin: 0; color: #e20018; }
form input, form button, form textarea, form select { border: #ebebeb 1px solid; background: #ebebeb; margin: 0; font-size: 0.95em; font-family: Arial, Helvetica, sans-serif; color: #000; padding: 3px 6px; width: 100%; display: block; }
form input.radio { padding: 0; }
form select { width: 100%; }
form div.optionset { width: auto; }
form div.optionset input { width: auto; }
form .checkbox input { width: auto; }
form ul.optionset label { width: 100%; margin: 0.2em 0 0.2em 10px; padding: 0; }
form .checkbox label { width: 100%; margin: 0 0 0 10px; padding: 0; }
form .optionset label.left { text-align: left; margin-left: 10px; width: 100%; }
form ul.optionset { margin-left: 100px; }
form div.optionset ul { padding: 0; list-style: none; margin: 0; }
form ul.optionset li { list-style: none; padding: 0; background: none; }
form ul.optionset li input { display: inline-block; margin: 0.2em 5px 0 0; }
form .checkbox input, form .optionset input { border: 0; }
form .datecomposite .dropdown { margin-right: 5px; }
form textarea { width: 100%; resize: vertical; }
form div.textarea { width: auto; }
form div.CompositeField { display: block; width: auto; }
form div.datecomposite { display: block; }
form .help { margin: 0 0 10px 100px; font-size: 0.8em; margin-top: -5px; }
form .honeypot, form div.spamhoneypot, form .hiddenField { display: none; }
form span.required, form span.message { background: none; display: block; color: #e20018; line-height: 1.1em; padding: 3px; margin: 0 0 5px 130px; }
form label.required, form label.message, form label.error { background: none; display: block; color: #e20018; line-height: 1.1em; padding: 3px; margin: 0 0 5px 130px; }
form .dropdown span.required, form .dropdown span.message { margin: 0 0 5px 0; }
form .dropdown label.required, form .dropdown label.message, form .dropdown label.error { margin: 0 0 5px 0; }
form .middleColumn span.required, form .middleColumn span.message { margin: 0 0 5px 0; }
form .middleColumn label.required, form .middleColumn label.message, form .middleColumn label.error { margin: 0 0 5px 0; }
form .checkbox span.required, form .checkbox span.message { margin: 0 0 5px 23px; }
form .checkbox label.required, form .checkbox label.message, form .checkbox label.error { margin: 0 0 5px 23px; }
form .holder-required input, form .holder-required textarea, form .holder-required select { border-color: #e20018; }

.checkbox.holder-required label { color: #e20018; }

form .optionset span.required, form .optionset span.message { position: absolute; right: 80px; width: auto; }
form .optionset label.required, form .optionset label.message { position: absolute; right: 80px; width: auto; }
form .Actions { margin: 10px 0 0; padding: 0; border: 0; text-align: right; }
form .Actions input, form .Actions button { width: auto; background: #ebebeb; border: #ebebeb solid 1px; color: #222; padding: 5px 20px; margin: 0; display: inline-block; cursor: pointer; font-weight: 700; }
form .Actions input:hover, form .Actions input:focus, form .Actions input:active { background: #e20018; color: #fff; border-color: #e20018; }
form .Actions button:hover, form .Actions button:focus, form .Actions button:active { background: #e20018; color: #fff; border-color: #e20018; }
form #Remember { margin-left: 100px; overflow: hidden; }
form #Remember input { margin: 0 10px 0 0; display: inline-block; width: auto; }
form #Remember label { width: auto; margin-top: 2px; display: inline-block; }
form #ForgotPassword { position: absolute; line-height: 29px; height: 2.1em; top: 0; right: 140px; padding: 0 10px; text-decoration: none; font-weight: bold; }
form #ForgotPassword a { text-decoration: none; }

.userform { width: auto !important; max-width: auto !important; }

@media screen and (max-width: 1330px) { .typography, .feature { font-size: 16px; }
  h1, .h1 { font-size: 24px; }
  h2, .h2, h3, .h3 { font-size: 28px; } }
