html, body{ background: #ffffff; color: #0f0000; min-height: 100%; -webkit-font-smoothing: antialiased; }

/* sans-serif */
.sans-serif, 
body, 
input, textarea
{ font-family: 'Gotham Narrow A', 'Gotham Narrow B', sans-serif; font-weight: 300; font-size: 16px; line-height: 24px; }

/* serif */
.serif, 
#navigation, #header, 
#content h1, #content h2, #content h3, #content h4, #content h5
{ font-family: 'Sentinel SSm A', 'Sentinel SSm B', serif; }

/* classes */
.clear{ clear: both; }
.hide{ display: none; }
.translation{ display: none; }
.translation.default{ display: block; }

/* links */
a, a:link, a:visited, a:active{ color: #284957; border-color: #284957; text-decoration: none; }

/* layout */
#page{ position: relative; min-width: 960px; padding-top: 168px; }
#header{ position: absolute; top: 0; right: 0; left: 0; height: 113px; background: #050000 url('/images/teeth-050000-ffffff.png') 50% 100% repeat-x; color: #ffffff; overflow: hidden; }
#navigation{ position: absolute; top: 113px; right: 0; left: 0; height: 55px; color: #0f0000; }
#footer{ clear: both; height: 265px; padding: 7px 0 0 0; background: #050000 url('/images/teeth-ffffff-050000.png') 50% 0 repeat-x; color: #ffffff; overflow: hidden; font-weight: 400; }
#closure{ clear: both; height: 40px; background: #626262; color: #ffffff; overflow: hidden; font-weight: 400; }
.content{ width: 940px; padding: 0 10px; margin: 0 auto; }

/* header */
#top{ position: absolute; top: -32px; left: 0; width: 0; height: 0; border: none; }
#header .content{ margin: 32px auto 0 auto; height: 46px; position: relative; }
#header a{ color: #ffffff; }
#header .logo{ position: absolute; top: -22px; left: 363px; }
#header .logo a{ display: block; width: 195px; height: 48px; padding: 20px; overflow: hidden; position: relative; background: #050000 url('/images/header-olveston-logo.png') 50% 50% no-repeat; }
#header .logo a:hover{ border: none; }
#header .logo span{ display: block; position: absolute; top: -200px; }
#header .links{ float: left; }
#header .links.right{ float: right; }
#header .links a{ display: block; float: left; width: 40px; height: 44px; margin: 0 20px 0 0; background-color: #050000; background-position: 50% 50%; background-repeat: no-repeat; border-bottom: 1px dotted #050000; }
#header .links.right a{ float: right; margin: 0 0 0 20px; }
#header .links a.map{ background-image: url('/images/header-map.png'); }
#header .links a.facebook{ background-image: url('/images/header-facebook.png'); }
#header .links a.email{ background-image: url('/images/header-email.png'); }
#header .links a.tripadvisor{ background-image: url('/images/header-tripadvisor.png'); background-position: 50% 0; width: 48px; }
#header .links a.tripadvisor:hover{ background-position: 50% 100%; }
#header .links a.book{ width: auto; height: 43px; line-height: 43px; font-size: 18px; text-transform: uppercase; font-style: italic; font-weight: 500; letter-spacing: 3px; border-top: 1px dotted #050000; padding: 0 0 0 2px; }
#header .links a.shop{ background-image: url('/images/header-shop.png'); }
#header .links a.video{ background-image: url('/images/header-video.png'); background-position: 50% 0; width: 48px; }
#header .links a.covid{ background-image: url('/images/header-covid.png'); background-position: 50% 0; width: 46px; }
#header .links span{ display: none; }

#warning{ background: #c10707; color: #fff; font-style: italic; text-transform: uppercase; padding: 15px; text-align: center; font-family: 'Sentinel SSm A', 'Sentinel SSm B', serif; }

/* navigation */
#navigation{ font-size: 16px; line-height: 25px; }
#navigation .content{ padding: 0; width: 960px; height: 55px; }
#navigation ul{ height: 50px; list-style: none; padding: 0; margin: 0; }
#navigation li{ float: left; }
#navigation li.first{ width: 168px; }
#navigation li.second{ width: 278px; }
#navigation li.third{ width: 234px; }
#navigation li.fourth{ width: 280px; }
#navigation li ul{ display: none; height: auto; width: 100%; background: #ffffff; clear: both; box-shadow: 2px 2px 2px -1px #000; }
#navigation li.first ul{ /*width: 180px;*/ }
#navigation li ul li{ float: none; clear: both; width: 100%; }
#navigation a{ display: block; color: #0f0000; padding: 10px 20px; }
#navigation a:hover{ border: none; }
#navigation a.parent{ text-transform: uppercase; font-weight: 500; font-style: italic; letter-spacing: 2px; padding: 15px 0; }
#navigation a.parent span{ display: block; border-right: 1px solid #050000; text-align: center; background: url('/images/nav-arrow.png') 100% 50% no-repeat; padding: 0 30px 0 5px; }
#navigation a.parent.last span{ border-right: none; }
#navigation a.child{ color: #0f0000; background: #ffffff; letter-spacing: 0px; }
#navigation a.child.current{ color: #ffffff; background: #626262; }

/* content */
#content{ min-height: 400px; height: auto; }
#content .content{ position: relative; padding: 60px 10px 40px; }
#content .content.no-padding{ padding: 0; width: 960px; }

/* footer */
.grey-bottom #footer{ background-image: url('/images/teeth-e1e1e1-050000.png'); }
#footer{ font-size: 14px; line-height: 16px; }
#footer .content{ height: 265px; }
#footer .left{ width: 285px; float: left; margin: 30px 0 0 0; }
#footer .centre{ width: 350px; float: left; margin: 75px 0 0 0; }
#footer .right{ width: 300px; float: right; margin: 60px 0 0 0; }
#footer a{ color: #ffffff; }
#footer .left a{ border-bottom: 1px dotted #050000; }
#footer .logo{ background: #050000 url('/images/footer-olveston-logo.png') 50% 50% no-repeat; width: 147px; height: 36px; margin: 0 0 20px 0; }
#footer .logo strong{ display: none; }
#footer .address{ margin: 0 0 20px 0; }
#footer .contact span{ display: inline-block; width: 75px; }
#footer .dcc{ margin-bottom: 34px; }
#footer .dcc a img{ margin: -30px 0 0 -60px; }
#footer .map, #footer .facebook{ float: left; width: 50%; }
#footer .map a{ display: block; height: 40px; background: #050000 url('/images/header-map.png') 0 50% no-repeat; width: 100%; padding: 0 0 0 50px; }
#footer .map a:hover{ border: none; }
#footer .map span{ display: block; float: left; height: 24px; line-height: 24px; padding: 11px 0 0 0; text-transform: uppercase; border-bottom: 1px dotted #050000; }
#footer .facebook a{ display: block; height: 40px; background: #050000 url('/images/header-facebook.png') 0 50% no-repeat; width: 180px; padding: 0 0 0 50px; margin: 0; }
#footer .facebook a:hover{ border: none; }
#footer .facebook span{ display: block; float: left; height: 24px; line-height: 24px; padding: 11px 0 0 0; text-transform: uppercase; border-bottom: 1px dotted #050000; }
#footer form{ height: 60px; position: relative; overflow: hidden; }
#footer form .extra{ position: absolute; top: -1000px; left: -1000px; }
#footer form p{ position: absolute; top: 30px; left: 50px; height: 30px; line-height: 30px; } 
#footer form h4{ text-transform: uppercase; font-size: 13px; padding-left: 50px; line-height: 30px; } 
#footer form .text{ width: 300px; height: 30px; float: left; }
#footer form .text label{ display: block; width: 50px; height: 30px; float: left; background: #050000 url('/images/footer-subscribe.png') 0 50% no-repeat; }
#footer form .text label span{ display: none; }
#footer form .text input{ display: block; border: 1px solid #050000; width: 228px; padding: 0 5px; margin: 2px 0 0 0; height: 24px; line-height: 24px; float: left; font-size: 14px; }
#footer form .text input.error{ background: #ffd5db; }
#footer form .submit{ height: 30px; float: right; }
#footer form .submit input{ display: block; height: 24px; font-size: 15px; line-height: 24px; border: none; background: #284957; color: #fff; text-transform: uppercase; margin: 3px 0 0 0; letter-spacing: 1px; }
#footer .dunedin a{ display: block; float: left; width: 108px; height: 40px; background: #050000 url('/images/footer-dunedinz.png') 0 50% no-repeat; margin: 65px 0 0 0; border-bottom: 1px dotted #050000; }
#footer .dunedin span{ display: none; }
#footer .tripadvisor a{ display: block; float: right; width: 153px; height: 40px; background: #050000 url('/images/footer-tripadvisor.png') 0 50% no-repeat; margin: 65px 0 0 0; border-bottom: 1px dotted #050000; }
#footer .tripadvisor span{ display: none; }

/* closure */
#closure{ font-size: 12px; line-height: 16px; }
#closure .content{ padding: 12px 10px; }
#closure a{ color: #ffffff; border-bottom: 1px dotted #626262; }
#closure p{ margin: 0; padding: 0; float: left; width: 300px; }
#closure p.centre{ width: 312px; text-align: center; }
#closure p.right{ float: right; text-align: right; }
#closure .left a{ margin: 0 10px; }
#closure .left a.first{ margin: 0 10px 0 0; }

/* grey */
.grey{ background-color: #e1e1e1; }
.black{ background-color: #050000; }
.grey.teeth-bottom{ background: #e1e1e1 url('/images/teeth-e1e1e1-ffffff-shadow.png') 50% 100% repeat-x; }
.grey.teeth-top{ background: #e1e1e1 url('/images/teeth-ffffff-e1e1e1-shadow.png') 50% 0 repeat-x; }
.black.teeth-bottom{ background: #050000 url('/images/teeth-050000-ffffff.png') 50% 100% repeat-x; }
.black.teeth-bottom.to-grey{ background: #050000 url('/images/teeth-050000-e1e1e1.png') 50% 100% repeat-x; }
.grey.teeth-top.teeth-only{ height: 11px; }

/* flourish */
.flourish{ text-align: center; margin-right: 20px; margin-bottom: 30px; font-size: 18px; letter-spacing: 0.6px; font-family: 'Sentinel SSm A', 'Sentinel SSm B', serif; font-weight: 300; }

/* top link */
#content #top-link{ display: block; width: 60px; height: 60px; background: #0f0000 url('/images/top.png') 0 0 no-repeat; color: #fff; position: absolute; bottom: 60px; right: 10px; border: none; }
#top-link span{ display: none; }

/* forms */
.submit input{ cursor: pointer; }
.submit input::-moz-focus-inner{ border: 0; padding: 0; }

/* columns */
.column{ width: 460px; }
.column.medium{ width: 490px; }
.column.left{ float: left; clear: both; }
.column.right{ float: right; }
.indent{ padding-left: 20px; }
.grey-out{ display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: #000; opacity: 0.6; z-index: 500; }

/* headers */
#content h1, #content h2, #content h3, #content h4{ font-weight: 300; font-style: italic; color: #284957; letter-spacing: 2px; }
#content h1, #content h2{ font-size: 18px; line-height: 28px; text-transform: uppercase; margin: 0 0 24px 0; }
#content h3{ font-size: 17px; line-height: 24px; margin: 0 0 6px 0; }
#content h3 span{ color: #ce654e; font-style: normal; font-family: 'Gotham Narrow A', 'Gotham Narrow B', sans-serif; letter-spacing: 0; }
#content h4{ font-size: 16px; line-height: 24px; margin: 0 0 2px 0; color: #ce654e; font-style: normal; font-family: 'Gotham Narrow A', 'Gotham Narrow B', sans-serif; letter-spacing: 0; }

#content .black h1, #content .black h2, #content .black h3, #content .black h4{ color: #ffffff; }

/* content */
#content p{ margin: 0 20px 24px 0; font-size: 16px; line-height: 24px; }
#content p small{ display: block; margin-top: 12px; font-size: 12px; line-height: 18px; }
#content p.image{ margin-right: 0; position: relative; }
#content .no-padding p.image{ margin: 0; }
#content p.image.small{ margin-bottom: 8px; padding-right: 0; }
#content p.image.small.last{ margin-bottom: 60px; }
#content p.image img{ display: block; }
#content p.image .caption, #content #gallery .caption{ display: block; position: absolute; bottom: 0; left: 0; right: 0; background: #284957; background: rgba(40, 73, 87, 0.7); color: #fff; padding: 10px; text-align: center; font-weight: 400; }
#content p.image .caption.below{ display: block; color: #ce654e; padding: 10px; text-align: center; background: transparent; position: relative; left: auto; right: auto; bottom: auto; font-family: 'Sentinel SSm A', 'Sentinel SSm B', serif; font-size: 14px; line-height: 30px; font-weight: 400; }

#content ul, #content ol{ margin: 0 20px 24px 0; font-size: 16px; line-height: 24px; }
#content ul{ list-style: none; }
#content ol{ list-style: decimal; padding-left: 24px; }
#content li{ padding: 3px 0; }
#content ul li{ list-style: none; background: url('/images/ndash.png') 23px 15px no-repeat; padding-left: 35px; }
#content sup{ position: relative; top: -0.5em; font-size: 80%; }

#content ul.plain, #content ol.plain{ list-style: none; padding-left: 0; }
#content ul.plain li, #content ol.plain li{ padding: 0; background: none; }
#content ul.half{ width: 200px; float: left; }
#content ul.half.left, #content ul.half.right{ margin-right: 0; }
#content ul.small li{ padding: 0 0 0 10px; background-position: 0 12px; }

#content p.with-space, #content ul.with-space, #content ol.with-space, #content h2.with-space, #content h3.with-space{ margin-top: 60px; }

#content .label{ display: inline-block; width: 100px; }
#content .label.medium{ width: 150px; }

#content .feature-link{ width: 352px; height: 108px; padding: 20px 20px 20px 158px; margin: 20px auto; background: #a5d1d1; color: #284957; position: relative; box-shadow: 2px 2px 4px #bbbbbb; }
#content .feature-link img{ display: block; position: absolute; top: 20px; left: 20px; }
#content .feature-link h2 a{ color: #fff; border: none; }
#content .feature-link h2{ margin-bottom: 10px; }
#content .feature-link p{ line-height: 28px; }
#content .feature-link a.link{ display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border: none; background: url('/images/gallery-box-arrow.png') 496px 104px no-repeat; }

#content table{ margin: 0 20px 24px 0; font-size: 16px; line-height: 24px; }
#content table th{ font-weight: 300; text-align: left; }

/* links */
#content a{ color: #0f0000; border-bottom: 1px dotted #0f0000; }

/* gallery */
.with-gallery #content{ position: relative; padding-top: 690px; }
#gallery{ position: absolute; top: 0; left: 0; right: 0; height: 690px; overflow: hidden; background: #e1e1e1; }
#content #gallery .frame{ margin: 0 auto; padding: 0; width: 960px; height: 654px; overflow: hidden; position: relative; }
#content #gallery ul{ margin: 0; padding: 0; width: 100%; height: 100%; list-style: none; }
#content #gallery li{ margin: 0; padding: 0; width: 100%; height: 100%; background: transparent; background-position: 50% 50%; position: relative; }
#content #gallery .content{ padding: 0; height: 100%; position: relative; }

#gallery-navigation{ position: absolute; bottom: 0; left: 0; right: 0; height: 36px; background: #000; text-align: center; }
#gallery-navigation .circle{ display: inline-block; line-height: 36px; width: 30px; height: 36px; background: #000 url('/images/gallery-inactive.png') 50% 50% no-repeat; cursor: pointer; position: relative; }
#gallery-navigation .circle.current{ background-image: url('/images/gallery-active.png'); }
#gallery-navigation .tag{ display: none; width: 330px; height: 44px; padding: 0 0 22px 0; text-align: center; line-height: 44px; position: absolute; top: -57px; left: -150px; background: url('/images/tag-arrow.png') 50% 100% no-repeat; }
#gallery-navigation .tag span{ display: inline-block; height: 44px; padding: 0 30px; line-height: 44px; color: #fff; background: rgba(206, 1, 1, 0.6); text-transform: uppercase; font-style: italic; font-family: 'Sentinel SSm A', 'Sentinel SSm B', serif; }
.ie8 #gallery-navigation .tag span,
.ie7 #gallery-navigation .tag span{ background: url('/images/ie/206-1-1-0.6.png') 0 0 repeat; }

.slider{ position: relative; }
.slider .item{ display: none; width: 100%; }
.slider .item.current{ display: block; }

.black-arrow{ display: block; width: 60px; height: 60px; background: #0f0000 url('/images/gallery-left.png') 50% 50% no-repeat; position: absolute; top: 50%; left: 0; margin-top: -30px; cursor: pointer; }
.black-arrow.right{ background-image: url('/images/gallery-right.png'); left: auto; right: 0; }


#content p.translate-menu{ display: block; margin: -14px 0 14px; font-size: 14px; color: #666; }
#content p.translate-menu a{ color: #444; border-bottom: 1px dotted #444; }


