/*--Designed and built by: https://bluefishwebsolutions.co.uk--*/

/*--Reset*/

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, 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%;
	font: inherit;
	vertical-align: baseline;
	}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, div {
	display: block;
	}

ol, ul {
	list-style: none;
	margin: 0;
	}

.sidebarRightMain ul {
	margin: 0 0 20px 30px;
	list-style: disc;
}
	
blockquote, q {
	quotes: none;
	}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
	}

strong {
	font-weight: bold;
}	
	
/* remember to define visible focus styles! 

:focus {
	outline: ?????;
	} */

/* remember to highlight inserts somehow! */

ins {
	text-decoration: none;
	}

del {
	text-decoration: line-through;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
	}	
	
* {
	-webkit-text-size-adjust: none;
}

/*--Colour Pad*/

/*--Typography*/

/*--Main*/

	
body {
	background: #FFF;
	color: #333;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 15px 0;
	font-family: 'PT Serif', serif;
	font-weight: 400;
}

h1 {
  font-size: 36px;
  line-height: 42px;
}

h2 {
  font-size: 30px;
  line-height: 36px;
}

h3 {
  font-size: 24px;
  line-height: 30px;
}

h4 {
  font-size: 16px;
  line-height: 24px;
  margin: 0 0 10px 0;
}

h5 {
  font-size: 16px;
  line-height: 20px;
}

h6 {
  font-size: 14px;
  line-height: 20px;
}

p {
	margin: 0 0 20px 0;
}

a {
	color: #80909b;
	text-decoration: none;
}	

a:hover {
	text-decoration: underline;
}

/*--Page*/

div#page-wrapper {

}

/*--Header*/

#header_wrapper {
	margin: 0;	
	height: 500px;
	margin: 0 0 0 0;
}

body#food #header_wrapper,
body#events #header_wrapper,
body#accommodation #header_wrapper,
body#cookie-policy #header_wrapper {
	margin: 0;	
	height: 162px;
	padding: 0;
	margin: 0;
}

/*body#about-us .slider-container {
	display: none;
}*/

header {
	width: 940px;
	margin: 0px auto;
	padding: 0;
	position: relative;
}

a#logo {
	width: 230px;
	height: 123px;
	position: absolute;
	top: 19px;
	left: 0px;
	z-index: 999;
}

a:hover#logo {
	opacity: .8;
}

a#logo img {
	width: 100%;
}

p.telInfo {
	position: absolute;
	right: 40px;
	top: 35px;
	color: #FFF;
	z-index: 99;
	font-weight: 600;
	margin: 0;
}

p.telInfo a {
	color: #FFF;
}

.socialMedia {
	position: absolute;
	top: 35px;
	right: 0px;
	z-index: 99;
}

.socialMedia a:hover {
	opacity: .8;
}

hr.divide {
	height: 3px;
	width: 100px;
	background: #eda813;
	margin: 0 0 15px 0;
	border: none;
	text-align: center;
	display: inline-block;
}

/*--Nav*/

div.nav_wrapper {
	/*height: 49px;*/
	display: block;
	position: relative;
	z-index: 100;
	background: #999;
	/*border-top: 1px solid #CCC;*/
}

div.nav_inner {
	width: 940px;
	margin: 0px auto 0px auto;
	position: relative;
}

#menu {
	position: absolute;
	top: 80px;
	right: 0px;
}

#menu li {
	float: left;
	display: block;
}

#menu li a,
#menu li a.single,
#menu li span.menuItem {
	position: relative;
	display: block;
	font-family: 'PT Serif', serif;
	font-weight: 400;
	font-size: 14px;	
	line-height: 16px;
	color: #FFF;
	background: none;
	text-decoration: none;
	text-transform: uppercase;
	padding: 10px 20px;
	margin: 0px;
	cursor: pointer;
	text-align: center;
	/*border-right: 1px solid #FFF;*/
}

#menu li a.single {
	padding: 18px 14px 18px 14px;
}

#menu a.accom {
	padding: 10px 0 10px 15px;
}

#menu li a:hover,
#menu li a.active,
#menu li a.current {
	color: #80909b;
}

#menu li ul {
	left : -999em;
	position : absolute;
	background: #eda813;
}

#menu li ul li {
	float : none;
	margin-left: 0px;
	border-right: none;
}

#menu li ul a {
	width: 180px;
	color: #FFF;
	text-transform: none;
	font-weight: normal;
	font-size: 14px;
	border-right: none;
	padding: 10px 14px;
	text-align: left;
} 

#menu li ul a:hover {
	color: #FFF;
	background: #be860f;
}

#menu li a.btnMenuExpand,
#menu li a.btnMenuContract {
	display: none;
}

#menu li ul li {
	float : none;
	margin-left: 0px;
}

#menu li ul ul {
	margin: -32px 0 0 170px;
}

#menu li.sfhover ul ul {
	left: -999em;
}

#menu li.sfhover ul, 
#menu li li.sfhover ul {
	left: auto;
}

#menu li:hover ul ul, 
#menu li:hover ul ul ul, 
#menu li.sfhover ul ul, 
#menu li.sfhover ul ul ul {
	left: -999em;
}

#menu li.sfhover ul, 
#menu li li.sfhover ul, 
#menu li li li.sfhover ul {
	left: auto;
}

/*--Responsive Nav*/	

div.button_inner {
	width: 940px;
	margin: 0px auto;
	position: relative;
}

div.button_inner p {
	display: none;
}

/*--SubNav*/

.subNav {
	background: #fe5502;
	padding: 15px 0;
	margin: 0 0 20px 0;	
}

.subNav h3 {
	color: #FFF;
	margin: 0 0 10px 0;
	padding: 0 20px;
}

.subNav li h3 {
	padding: 0;
}

.subNav li h3 a:hover {
	background: none;
	color: #FFF;
}

.subNav h3 a {
	text-decoration: none;
	color: #FFF;
}

.subNav li {
	padding: 0;
}

.subNav li,
.subNav li a {
	display: block;
	padding: 5px 0 5px 0;
	text-decoration: none;
	color: #FFF;
}

.subNav li {
	padding: 0;
}

.subNav li a {
	padding: 5px 0 5px 20px;
}

.subNav li a:hover {
	background: #d84802;
}

ul.subNav li ul {
	background: #91ca5c;
	margin: 0 0 10px 0;
}

ul.subNav li ul li a {
	padding: 6px 0 6px 30px;
}

/*--slider */

.slider-container {
	height: 500px;
	margin: 0 0 0 0;
	visibility: hidden;
	position: relative;
}

.img-container {
	height: 500px;
	position: relative;
	background: #000 url(images/the_viking_hotel.jpg) no-repeat center;
	background-size: cover;
}

body#food .img-container,
body#events .img-container,
body#accommodation .img-container,
body#cookie-policy .img-container {
	height: 162px;
}

#slider  {
	height: 500px;
}

#slider div.slide,
#slider div.slide img {
	width: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.slider-container div.column {
	width: 940px;
	margin: 0 auto;
}

div.slide {
	height: 500px;
	position: relative;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0, .7);
	z-index: 90;
}

.slider-container div.column {
	width: 940px;
	margin: 0 auto;
}

/*a.bx-prev,
a.bx-next  {
	height: 54px;
	width: 54px;
	position: absolute;
	top: -173px;
	display: block;
	text-indent: -9999px;
	z-index: 99;
}

a.bx-prev {
	left: -17px;
	background: url(images/previous.png);
}

a.bx-next {
	right: -136px;
	background: url(images/next.png);
}*/

.bx-controls {
	width: 100%;
	height: 39px;
	text-align: center;
	margin: -50px auto 0 auto;
	padding: 0;
	z-index: 99;
	/*position: absolute;*/
	position: relative;
}

.bx-pager-item {
	display: inline-block;
	padding: 18px 0 0 0;
}

div.bx-pager-item a {
	text-indent: -9999px;
	display: block;
	width: 8px;
	height: 8px;
	margin: 0 5px;
	outline: 0;
	/*border-radius: 10px;*/
	background: #FFF;
	/*border: 2px solid #FFF;*/
}

div.bx-pager-item a.active, 
div.bx-pager-item a:hover {
	background: #eda813;
	/*border: 2px solid #FFF;*/
}

.slider-intro-container {
	width: 345px;
	position: relative;
}

.slider-intro {
	width: 780px;
	position: absolute;
	top: 193px;
	z-index: 99;
	color: #FFF;
	padding: 0px 80px;
	text-align: center;
}

body#food .slider-intro,
body#events .slider-intro,
body#accommodation .slider-intro,
body#cookie-policy .slider-intro {
	display: none;
}

.slider-intro h1 {
	margin: 0 0 15px 0;
}

.slider-intro p,
.slider-intro p.area {
	font-weight: 300;
	margin: 0 0 20px 0;
	font-size: 18px;
	line-height: 24px;
}  

.slider-intro p.area {
	text-transform: uppercase;
}

/*--pub times */

.times {
	background: #c3cbd1;
	padding: 25px 0 40px 0;
	margin: 0 0 40px 0;
}

.times h2 {
	color: #FFF;
}

.times div.threeA,
.times div.threeB,
.times div.threeC {
	width: 260px;
	background: #FFF;
	padding: 10px 20px 20px 20px;
	margin: 0 20px 0 0;
}

.times div.threeB {
	padding: 20px 20px 50px 20px;
}

.times div.threeC {
	margin: 0 0 0 0;
}

.times p.month {
	/*font-size: 16px;
	line-height: 22px;*/
	font-weight: 600;
	margin: 10px 0 5px 0;
}

.times p.detail {
	color: #999;
	margin: 0;
}

/*--links */

.links div.twoA {
	width: 450px;
	background: #000 url(images/food_bg.jpg) no-repeat center;
	background-size: cover;
	color: #FFF;
	text-align: center;
	padding: 83px 0 84px 0;
}

.links div.twoB {
	width: 450px;
	background: #000 url(images/events_bg.jpg) no-repeat center;
	background-size: cover;
	color: #FFF;
	text-align: center;
	padding: 83px 0 84px 0;
}

.links div.rooms {
	background: #000 url(images/accommodation_bg.jpg) no-repeat center;
	background-size: cover;
	color: #FFF;
	text-align: center;
	margin: 0 0 40px 0;
	padding: 49px 0;
}

/*--info */

.info {
	margin: 0 0 40px 0;
}

.info div.twoA,
.info div.twoB {
	width: 380px;
	margin: 0 40px 0 70px;
}

.info div.twoB {
	margin: 0;
}

.titles {
	background: #000;
	color: #FFF;
	margin: 1px 0 0 0;
}

.titles h4 {
	float: left;
	margin: 0;
	padding: 10px 15px;
}

.findUs img {
	width: 100%;
	display: block;
}

.findus-details {
	background: #EEE;
	margin: 0 0 0 0;
	padding: 10px 10px 0 10px;
}

/*--intro */

.intro {
	text-align: center;
}

.intro h2 {
	/*font-weight: 600;
	text-transform: uppercase;
	font-size: 30px;
	line-height: 36px;*/
}

.intro div.one {
	margin: 0 0 30px 0;
}

.column.intro {
	margin: 0 auto 0 auto;
}

/*--Content*/

div.column-wrapper {
	clear: both;
}
	
div.column {
	width: 940px;
	margin: 0px auto;
	padding: 0px 0px 0px 0px;
}

.singleColumn {
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.singleImage {
	display: block;
	margin: 0 0 30px 0;
}

div.one {
	margin-bottom: 40px;
}	

.intro {
	text-align: center;
}

div.twoA {
	width: 600px;
	float: left;
	margin: 0 40px 40px 0;
}

.events div.twoA {
	width: 450px;
	margin: 0 40px 40px 0;
}

.events div.twoB {
	width: 450px;
	marging: 0 0 40px 0;
}

.events div.twoB img {
	width: 100%;
}

div.twoA ul,
div.one .package ul {
	margin: 0 0 20px 30px;
}

div.twoA ul li,
div.one .package ul li {
	list-style: disc;
}

div.one .package ul li ul {
	margin: 0 0 10px 30px;
}

.package {
	background: #EEE;
	padding: 30px;
	text-align: left;
	margin: 0 0 40px 0;
}

.small {
	font-size: 11px;
	line-height: 16px;
	display: block;
	margin: 0 0 10px 0;
}

div.twoB {
	width: 300px;
	float: left;
	margin: 0 0 40px 0;
}

.model div.twoA img {
	width: 100%;
}

.model div.twoB a {
	display: block;
	margin: 0 0 20px 0;
}

div.threeA,
div.threeB,
div.threeC {
	width: 300px;
	float: left;
	margin: 0 20px 0 0;
}

div.fourA,
div.fourB,
div.fourC,
div.fourD {
	width: 220px;
	float: left;
	margin: 0 20px 0 0;
}

div.fourD {
	margin: 0;
}

a.button,
p.button {
	background: #80909b;
	display: inline-block;
	color: #FFF;
	padding: 10px 30px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	-webkit-transition: background 0.7s;
	-moz-transition: background 0.7s;
	-o-transition: background 0.7s;
	transition: background 0.7s;
	border-radius: 10px;
}

.sliderButtons a.button {
	margin: 0 10px;
	background: #80909b;
	border: 2px solid #80909b;
}

a:hover.button {
	background: #66737c;
	color: #FFF;
}

.sliderButtons a:hover.button {
	border: 2px solid #66737c;;
}
	
.sidebarRightMain {
	width: 620px;
	margin: 0 20px 40px 0;
	float: left;
}

.sidebarRightMain div.twoA {
	width: 280px;
	float: left;
	margin: 0 40px 0 0;
}

.sidebarRightMain div.twoB {
	width: 280px;
	float: left;
}

.sidebarRight {
	width: 300px;
	float: right;
	margin: 0 0 40px 0;
}

/*--food menu*/

.foodMenu,
.foodMenuBack,
.foodMenuOther {
	background: #EEE;
	padding: 40px 0 0 0;
	margin: 0 0 0 0;
	text-align: center;
}

.fMenu {
	text-align: center;
	display: none;
}

.foodMenu h2,
.foodMenuBack h2,
.foodMenuOther h2,
.fMenu h2 {
	/*font-weight: 700;*/
}

.foodMenu div.threeA,
.foodMenu div.threeB,
.foodMenu div.threeC,
.foodMenuBack div.threeA,
.foodMenuBack div.threeB,
.foodMenuBack div.threeC,
.foodMenuOther div.twoA,
.foodMenuOther div.twoB,
.foodMenuOther div.threeA,
.foodMenuOther div.threeB,
.foodMenuOther div.threeC {
	background: #FFF;
	width: 260px;
	padding: 20px 20px 0 20px;
	text-align: left;
}

.foodMenuOther div.twoA {
	width: 410px;
	margin: 0 40px 40px 0;
}

.foodMenuOther div.twoB {
	width: 410px;
	padding: 20px 20px 198px 20px;
	margin: 0 0 40px 0;
}

.foodMenu div.threeC,
.foodMenuBack div.threeC,
.foodMenuOther div.threeC {
	margin: 0 0 40px 0;
}

.foodMenu div.threeA {
	padding: 20px 20px 159px 20px;
}

.foodMenuBack div.threeA {
	padding: 20px 20px 235px 20px;
	margin: 0 20px 0 0;
}

.foodMenuOther div.threeA {
	padding: 20px 20px 20px 20px;
	margin: 0 20px 40px 0;
}

.foodMenu div.threeB {
	padding: 20px 20px 20px 20px;
}

.foodMenuBack div.threeB {
	padding: 20px 20px 20px 20px;
	margin: 0 20px 0 0;
}

.foodMenuOther div.threeB {
	padding: 20px 20px 20px 20px;
	margin: 0 20px 40px 0;
}

.foodMenu div.threeB div.block,
.foodMenuBack div.threeB div.block,
.foodMenuOther div.threeB div.block {
	background: #000;
	padding: 10px 0 5px 0;
	margin: 0 0 5px 0;
}

div.block h3 {
	color: #FFF;
	margin: 0 15px 10px 15px;
}

.foodMenu div.threeB div.block h3,
.foodMenuBack div.threeB div.block h3,
.foodMenuOther div.twoA div.block h3,
.foodMenuOther div.twoB div.block h3,
.foodMenuOther div.threeB div.block h3 {
	border-bottom: 1px solid #FFF;
}

div.block .foodItem {
	border-bottom: none;
}

div.block .foodItem.grey {
	padding: 0 15px 0 15px;
	margin: 0 0 0 0;
	background: #000;
	color: #FFF;
}

.foodMenu div.threeC {
	padding: 20px 20px 291px 20px;
	margin: 0 0 0 0;
}

.foodMenuBack div.threeC {
	padding: 20px 20px 248px 20px;
	margin: 0 0 0 0;
}

.foodMenu div.threeA h3,
.foodMenu div.threeB h3,
.foodMenu div.threeC h3,
.foodMenuBack div.threeA h3,
.foodMenuBack div.threeB h3,
.foodMenuBack div.threeC h3,
.foodMenuOther div.twoA h3,
.foodMenuOther div.twoB h3,
.foodMenuOther div.threeA h3,
.foodMenuOther div.threeB h3,
.foodMenuOther div.threeC h3 {
	font-size: 18px;
	font-weight: 600;
	text-transform: uppercase;
	border-bottom: 1px solid #000;
}

.foodItem {
	/*display: block;
	position: relative;*/
	border-bottom: 1px dashed #CCC;
	margin: 0 0 5px 0;
}

.foodItemLast {
	border-bottom: none;
	margin: 0 0 10px 0;
}

.foodItem.grey {
	background: #CCC;
	padding: 15px 15px 0 15px;
}

.foodMenu div.threeA .foodItem:last-child,
.foodMenu div.threeB .foodItem:last-child,
.foodMenu div.threeC .foodItem:last-child,
.foodMenuBack div.threeA .foodItem:last-child,
.foodMenuBack div.threeB .foodItem:last-child,
.foodMenuBack div.threeC .foodItem:last-child,
.foodMenuOther div.threeA .foodItem:last-child,
.foodMenuOther div.threeB .foodItem:last-child,
.foodMenuOther div.threeC .foodItem:last-child {
	border-bottom: none;
}

.foodItem h4,
.foodItemLast h4,
.foodItem h4.single,
.foodItem h4.double {
	display: block;
	position: relative;
	font-size: 14px;
	font-family: 'Open Sans', sans-serif;
	font-weight: 600;
	margin: 0 0 5px 0;
	text-transform: uppercase;
}

.foodItem h4.single {
	margin: 0 0 10px 0;
}

.foodItem h4.double {
	line-height: 14px;
}

.foodItem h4 span,
.foodItemLast h4 span {
	position: absolute;
	right: 0;
}

.foodItem p,
.foodItemLast p {
	font-size: 10px;
	line-height: 12px;
	margin: 0 0 15px 0;
}

.foodItem p span,
.foodItemLast p span {
	display: block;
	text-align: right;
}

/*--Food Menu*/

.foodList {
	/*width: 700px;
	border: 1px solid rgb(255, 255, 255);*/
	border: 1px solid #FFF;
	margin: -2px auto 0 auto;
}

.foodList h2 {
	background: #80909b url(images/arrow_expand.png) no-repeat 908px;
	padding: 10px 40px 10px 20px;
	font-weight: 600;
	font-size: 14px;
	color: #FFF;
	line-height: 18px;
	margin: 0;
	cursor: pointer;
	text-transform: uppercase;
	text-align: left;
}

.foodList-closed h2 {
	border-bottom: none;
	background: #80909b url(images/arrow_collapse.png) no-repeat 908px;
	text-align: left;
}

.foodListBody {
	padding: 10px 20px 0px 20px;
	display: none;
	border-bottom: 1px solid #EEE;
	border-left: 1px solid #EEE;
	border-right: 1px solid #EEE;
	text-align: left;
}

.foodList-closed .foodListBody {
	display: block;
}

.foodListBody .foodItem:last-child {
	border-bottom: none;
}

.foodListBody .foodItem.grey:last-child {
	padding: 15px 15px 5px 15px;
	margin: 0 0 20px 0;
}

.data-buttons {
	width: 100%;
	height: 33px;
	clear: both;
	margin: 0 0 20px 0;
}

.data-button {
	float: right;
	width: 110px;
	margin-left: 10px;
	padding: 5px 10px;
	text-decoration: none;
	border: solid 1px #f97e1f;	
	background-repeat: no-repeat;
	background-position: 110px center;
	background-color: #f97e1f;
	color: #FFF;
}

.data-button:hover {
	background-color: #c76519;
	border-color: #c76519;
	text-decoration: none;
}

#dataExpand {
	background-image: url(images/arrow_expand.png);
}

#dataCollapse {
	background-image: url(images/arrow_collapse.png);
}

/*--clear fix*/

.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/*--contact form*/		

form#contactForm {
	width: 500px;
	height: auto;
	margin: 20px auto 60px auto;
	/*padding: 20px;*/
}

form#contactForm input, #contact-area textarea {
	padding: 5px;
	width: 500px;
	height: 40px;
	margin: 0px 0px 20px 0px;
	border: 1px solid #ccc;
	box-shadow: none;
}

form#contactForm textarea {
	width: 500px;
	height: 120px;
	box-shadow: none;
	margin: -20px 0 0 0;
	border: 1px solid #ccc;
	box-shadow: none;
	padding: 5px;
}

form#contactForm textarea:focus, #contact-area input:focus {
	border: 1px solid #cfcfcf;
}

form#contactForm input.button {
	width: 500px;
	clear: both;
	border: none;
	/*height: 40px;*/
	display: block;
	text-align: center;
	background: #eda813;
	color: #FFF;
	font-size: 14px;
	line-height: 40px;
	text-transform: uppercase;
	margin: 20px 0 0 0;
	padding: 0 20px 10px 20px;
	font-family: 'Open Sans', sans-serif;
	font-weight: 600;
	text-decoration: none;
}

label {
	clear: both;
	padding: 0 0 5px 0;
	display: block;
	text-align: left;
	text-transform: uppercase;
	font-weight: 600;
}

label.error {
	color: #FF0000;
	margin: 0;
	font-size: 12px;
}

div.one.thankyou {
	width: 500px;
	margin: 0 auto;
	min-height: 250px;
}

/*--title*/

.title {
	background: #282828;
	color: #FFF;
	padding: 20px 0 25px 0;
	margin: 0 0 40px 0;
}

body#food .title {
	margin: 0 0 0 0;
}

.title h1 {
	margin: 0;
}

.column-wrapper.title div.one {
	margin: 0;
	position: relative;
}

.column-wrapper.title div.one a {
	position: absolute;
	right: 0px;
	top: 0px;
}

/*--accommodation*/

.accomm div.twoA {
	width: 450px;
}

.accomm div.twoB {
	width: 450px;
}

.accomm ul {
	margin: 0 0 10px 30px;
}

.accomm ul li {
	list-style: disc;
	padding: 0 0 5px 5px;
}

p.price {
	background: #66737c;
	color: #FFF;
	padding: 10px 0;
	font-size: 16px;
	line-height: 22px;
	font-weight: 600;
	text-align: center;
	margin: 0;
}

div.twoA ul.galleryBlock,
div.twoB ul.galleryBlock {
	margin: 0;
	padding: 0;
}

ul.galleryBlock li,
div.twoA ul.galleryBlock li,
div.twoB ul.galleryBlock li {
	width: 133px;
	float: left;
	margin: 0 20px 0 0;
	list-style: none;
	padding: 0;
}

div.twoA ul.galleryBlock li:nth-child(3n),
div.twoB ul.galleryBlock li:nth-child(3n) {
	margin: 0 0 20px 0;
}

ul.galleryBlock li img {
	width: 100%;
	display: block;
}

/*--suppliers*/

.suppliers {
	background: #FFF;
	text-align: center;
	padding: 25px 0 30px 0;
}

.suppliers div.one {
	margin: 0;
}

.suppliers  h3 {
	margin: 0;
}

/* --gallery--*/

.sliding-gallery-container {
	width: 832px;
	padding: 15px 27px 20px 80px;
	visibility: hidden;
}

.img-gallery-container {
	width: 915px;
	/*background: #FF0000;*/
	margin: 0 0 0 12px;
}

ul.sliding-gallery {
	margin: 0;
	padding: 0;
	/*background: #ccc;*/
}

ul.sliding-gallery li {
	width: 135px;
}

ul.img-gallery li {
	width: 210px;
	/*: #CCC;*/
}

ul.sliding-gallery img {
	width: 135px;
	height: 50px;
	display: block;
}

ul.img-gallery img {
	width: 210px;
	height: 280px;
	display: block;
}

.sliding-gallery-container .bx-controls {
	width: 900px;
	margin: -48px 0  0 -60px;
}

.img-gallery-container .bx-controls {
	display: none;
}

.sliding-gallery-container .bx-next {
	width: 12px;
	height: 50px;
	background: url(images/slider_next.png) no-repeat;
	display: block;
	position: absolute;
	right: 0px;
	/*top: 5px;*/
	text-indent: -9999px; 
}

.sliding-gallery-container  .bx-prev {
	width: 12px;
	height: 50px;
	background: url(images/slider_prev.png) no-repeat;
	display: block;
	position: absolute;
	left: 0px;
	/*top: 5px;*/
	text-indent: -9999px; 
}

/*--footer*/		
	
div#footer-wrapper {
	clear: both;
	padding: 30px 0;
	background: #282828;
	color: #FFF;
	position: relative;
	z-index: 99;
	margin: 0;
}
	
footer {
	width: 940px;
	margin: 0 auto;
	position: relative;
	text-align: center;
}

footer div.twoA {
	width: 300px;
	margin: 0 40px 0 0;
	text-align: left;
}

footer div.twoB {
	width: 600px;
	margin: 0 0 0 0;
	text-align: left;
}

footer div.twoB a.button {
	width: 248px;
	margin: 0 0 20px 0;
	padding: 10px 20px;
}

footer div.twoB.buttons a.button:nth-child(even) {
	margin: 0 20px 20px 0;
}

div#address.one {
	margin: 0;
}

footer p {
	margin: 0;
}

p.contactInfo span {
	margin: 0 10px;
}

footer h3 {
	color: #FFF;
	margin: 0 0 20px 0;
	padding: 0 0 0 0;
}

.SOdescription {
	color: #777;
	margin: 0 0 20px 0;
}

footer .socialMedia {
	width: 100%;
	text-align: center;
	position: static;
	margin: 0 0 15px 0;
}

.tel {
	clear: both;
	display: block;
	margin: 0 0 0 0;
}

div.column-wrapper.terms {
	background: #FFF;
	color: #333;
	text-align: center;
	padding: 20px 0;
}

div.one.terms {
	margin: 20px 0 0 0;
	padding: 0 0 0 0;
	text-align: center;
}

div.one.terms p {
	margin: 0 0 0 0;
}

div.one.terms p span {
	margin: 0 10px;
}

.map {
	height: 300px;
	display: block;
	margin: 0 0 40px 0;
}

/* `Widths
----------------------------------------------------------------------------------------------------*/

.input_tiny {
  width: 50px;
}

.input_small {
  width: 100px;
}

.input_medium {
  width: 150px;
}

.input_large {
  width: 200px;
}

.input_xlarge {
  width: 250px;
}

.input_xxlarge {
  width: 300px;
}

.input_full {
  width: 100%;
}

/*
  Added via JS to <textarea> and class="input_full".
  Applies only to IE7. Other browsers don't need it.
*/
.input_full_wrap {
  display: block;
  padding-right: 8px;
}

/* `UI Consistency
----------------------------------------------------------------------------------------------------*/

::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type="search"]::-webkit-search-decoration {
  display: none;
}

input,
button,
select,
textarea {
  margin: 0;
  vertical-align: middle;
}

input[type="radio"],
input[type="checkbox"] {
  position: relative;
  vertical-align: top;
  top: 3px;
  /* IE8, IE9, IE10 */
  top: 0\0;
  /* IE7 */
  *top: -3px;
}

/* iPad */
@media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 1024px) {
  input[type="radio"],
  input[type="checkbox"] {
    vertical-align: baseline;
    top: 2px;
  }
}

/* iPhone 3 */
@media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 480px) {
  input[type="radio"],
  input[type="checkbox"] {
    vertical-align: baseline;
    top: 0;
  }
}

/* iPhone 4 */
@media (-webkit-min-device-pixel-ratio: 2) and (max-device-width: 480px) {
  input[type="radio"],
  input[type="checkbox"] {
    vertical-align: baseline;
    top: 0;
  }
}

button,
input[type="reset"],
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  background: #ddd url(../img/button.png) repeat-x;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(1, #ddd));
  background: -moz-linear-gradient(top center, #fff 0%, #ddd 100%);
  border: 1px solid;
  border-color: #ddd #bbb #999;
  cursor: pointer;
  color: #333;
  /*
    Helvetica Neue present, because it works better
    for line-height on buttons than Arial, on OS X.
  */
  font: 16px/1.3 Arial, 'Liberation Sans', FreeSans, sans-serif;
  outline: 0;
  overflow: visible;
  padding: 3px 10px;
  text-shadow: #fff 0 1px 1px;
  width: auto;
  
  /* overide styles from basic above */
  
  border-radius: 0;
  border: none;
  background: #e64a31;
  color: #FFF;
  text-shadow: none;
  padding: 10px;
  font-size: 14px;
  line-height: 22px;
  text-transform: uppercase;
  font-weight: 600;

  /* IE7 */
  *padding-top: 2px;
  *padding-bottom: 0px;
}

button {
  /* IE7 */
  *padding-top: 1px;
  *padding-bottom: 1px;
}

textarea,
select,
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"] {
  -webkit-appearance: none;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  background-color: #fff;
  border: 1px solid;
  border-color: #848484 #c1c1c1 #e1e1e1;
  color: #000;
  outline: 0;
  padding: 2px 3px;
  font-size: 13px;
  /*
    Leaving out Helvetica Neue, to not throw off size="..."
    on inputs. Arial is more reliable, on Windows and OS X.
  */
  font-family: Arial, 'Liberation Sans', FreeSans, sans-serif;
  height: 1.8em;

  /* IE7 */
  *padding-top: 2px;
  *padding-bottom: 1px;
  *height: auto;
}

/*
  Separate rule for Firefox.
  Separate rule for IE, too.
  Cannot stack with WebKit's.
*/
::-webkit-input-placeholder {
  color: #888;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #888;
}

input.placeholder_text,
textarea.placeholder_text {
  color: #888;
}

:invalid {
  /*
    Suppress red glow that Firefox
    adds to form fields by default,
    even when user is still typing.
  */
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

button:focus,
button:active,
input:focus,
input:active,
select:focus,
select:active,
textarea:focus,
textarea:active {
  -moz-box-shadow: #aaa 0 0 7px;
  -webkit-box-shadow: #aaa 0 0 7px;
  box-shadow: #aaa 0 0 7px;

  /* for Opera */
  z-index: 1;
}

input[type="file"]:focus,
input[type="file"]:active,
input[type="radio"]:focus,
input[type="radio"]:active,
input[type="checkbox"]:focus,
input[type="checkbox"]:active {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

select[disabled],
textarea[disabled],
input[type="date"][disabled],
input[type="datetime"][disabled],
input[type="datetime-local"][disabled],
input[type="email"][disabled],
input[type="month"][disabled],
input[type="number"][disabled],
input[type="password"][disabled],
input[type="search"][disabled],
input[type="tel"][disabled],
input[type="text"][disabled],
input[type="time"][disabled],
input[type="url"][disabled],
input[type="week"][disabled] {
  background-color: #eee;
}

button[disabled],
input[disabled],
select[disabled],
select[disabled] option,
select[disabled] optgroup,
textarea[disabled] {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  color: #888;
  cursor: default;
}

textarea,
select[size],
select[multiple] {
  height: auto;
}

/* Tweaks for Safari + Chrome. */
@media (-webkit-min-device-pixel-ratio: 0) {
  select {
    background-image: url(../img/select_arrow.gif);
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 20px;
  }

  select[size],
  select[multiple] {
    background-image: none;
    padding: 0;
  }

  ::-webkit-validation-bubble-message {
    box-shadow: rgba(0, 0, 0, 0.5) 0 0 5px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #666), color-stop(1, #000));
    border: 1px solid;
    border-color: #747474 #5e5e5e #4f4f4f;
    color: #fff;
    font: 11px/1 'Lucida Grande', Arial, 'Liberation Sans', FreeSans, sans-serif;
    padding: 15px 15px 17px;
    text-shadow: #000 0 0 1px;
  }

  ::-webkit-validation-bubble-arrow,
  ::-webkit-validation-bubble-top-outer-arrow,
  ::-webkit-validation-bubble-top-inner-arrow {
    display: none;
  }
}

textarea {
  min-height: 40px;
  overflow: auto;
  resize: vertical;
  width: 100%;
}

optgroup {
  color: #000;
  font-style: normal;
  font-weight: normal;
}

/*  #Mobile (Portrait)
================================================== */

    /* Note: Design for a width of 320px */
	/* 768px upwards, is desktop */

    @media only screen and (max-width: 812px) {
		
		header,
		#header_wrapper,
		div.nav_inner,
		div.button_inner,
		div.column,
		ul#menu,
		div.one,
		div.one ul.galleryBlock,
		footer div.twoB,
		div.threeA,
		div.threeB,
		div.threeC,
		div.fourA,
		div.fourB,
		div.fourC,
		div.fourD,
		footer,
		div.sidebarRightNav,
		div.sidebarRightMain,
		div.sidebarRight,
		.slider-container {
			float: none;
			width: 100%;
			clear: both;
			margin: 20px auto;
		}
		
		footer div.twoA {
			margin: 0 0 20px 0;
		}
		
		header,
		div.column,
		div.nav_wrapper,
		div.nav_inner,
		div.button_inner,
		ul#menu {
			margin: 0px auto;
		}
		
		div.sidebarRightMain,
		div.one.intro,
		body#gallery div.one ul.galleryBlock,
		div.twoA,
		div.twoB,
		div.sidebarRight,
		div.sidebarRight.form,
		div.one.singleColumn,
		footer,
		.events div.twoA,
		.events div.twoB,
		.sliding-gallery-container {
			width: 90%;
			margin: 0 5%;
		}
		
		.sliding-gallery-container {
			padding: 0;
		}
		
		.events div.twoB {
			margin: 0 5% 20px 5%;
		}
		
		div.column.accomm {
			width: 90%;
			margin: 0 5%;
		}
		
		.accomm div.twoA,
		.accomm div.twoB {
			width: 100%;
			margin: 0 0 20px 0;
		}	
		
		ul.galleryBlock li, 
		div.twoA ul.galleryBlock li, 
		div.twoB ul.galleryBlock li {
			width: 45%;
			margin: 0 2.5% 2.5% 2.5%;
		}
		
		div.twoA ul.galleryBlock li:nth-child(3n), 
		div.twoB ul.galleryBlock li:nth-child(3n) {
			width: 45%;
			margin: 0 2.5% 2.5% 2.5%;
		}
		
		p.price {
			padding: 10px 20px;
		}
		
		.info div.twoA, 
		.info div.twoB {
			width: 90%;
			margin: 0 5%;
		}
		
		.info div.twoA {
			margin: 0 5% 20px 5%;
		}
		
		.img-container {
			height: 360px;
			position: relative;
			background: #000 url(images/the_viking_hotel.jpg);
			background-size: cover;
		}
		
		body#food .img-container,
		body#events .img-container,
		body#accommodation .img-container,
		body#cookie-policy .img-container {
			height: 100px;
			margin: 0 0 0 0;
			display: none;
		}
		
		div.sidebarRight {
			width: 90%;
			margin: 0 5%;
		}
		
		.singleImage {
			width: 100%;
			margin: 0 0 20px 0;
		}
		
		.singleColumn img {
			width: 100%;
			margin: 0 0 5% 0;
		}
		
		#header_wrapper {
			/*height: auto;
			height: 115px;*/
			padding: 0px;
			margin: 0px;
			background: url(images/the_viking_hotel.jpg);
			background-size: cover;
		}
		
		body#food #header_wrapper, 
		body#events #header_wrapper, 
		body#accommodation #header_wrapper,
		body#cookie-policy #header_wrapper	{
			background: url(images/the_viking_hotel.jpg);
			background-size: cover;
		}
		
		#header_wrapper {
			height: auto;
			/*background: none;*/
		}
		
		a#logo {
			width: 150px;
			height: 90px;
			margin: 0 0 0 10px;
			/*height: 100px;*/
			/*left: 10px;*/
			top: -90px;
			z-index: 999;
			/*position: static;*/
		}
		
		a#logo img {
			width: 100%;
		}
		
		p.telInfo {
			top: -90px;
			right: 50px;
		}
		
		p.telInfo span {
			display: none;
		}
		
		.socialMedia {
			top: -90px;
			right: 10px;
		}
		
		div.button_wrapper,
		div.button_inner {
			height: 100px;
			padding: 0px;
			background: #000;
			/*background: url(images/joinery_work_on_new_build.jpg);
			background-size: cover;*/
		}
		
		div.button_inner p {		
			display: inline;
			position: absolute;
			right: 10px;
			top: 69px;
			z-index: 99;
			margin: 0 0 0 0;
		}
		
		div.button_inner p a span {
			background: #80909b;
			display: block;
			width: 30px;
			height: 5px;
			margin: 0 0 3px 0;
		}
		
		div.button_inner p a {
			cursor: pointer;
			color: #000;	
			padding: 0;
			border-radius: 5px 5px 0px 0px;	
		}
		
		/*--menu*/
		
		div.nav_wrapper {
			background: #FFF;
			clear: both;
			height: auto;
			display: none;
			margin-bottom: 0px;
			margin: 0;
			overflow-y: hidden;
			padding: 0 0 10px 0;
		}
		
		div.nav_inner,
		#menu {
			clear: both;
			position: relative;
			height: auto;			
		}
		
		#menu {
			padding-top: 6px;
			margin: 0;
			left: 0;
			position: static;
		}
		
		#menu li {
			position: relative;
			display: block;
			float: none;
			float: none;
			display: block;
			margin-left: 0px;
			margin-right: 0px;
			padding: 0px 0px 0px 0px;			
		}
		
		#menu li a,
		#menu li a.single,	
		#menu li span.menuItem {
			/*width: 90%;*/
			position: relative;
			display: block;			
			color: #333;
			padding: 15px 2.5% 15px 2.5%;
			margin-right: 0px;						
			height: auto;
			border: none;
			font-size: 16px;		
			text-decoration: none;			
			margin: 0;
			border-bottom: 1px solid #CCC;
			/*background: #FF0000;*/
		}

		#menu li a.accom {
			border-bottom: none;
		}
		
		#menu li a br {
			display: none;
		}
		
		#menu li.contact a {
			border-bottom: none;
		}
		
		#menu li a.home,
		#menu li a.cf	{
			padding: 5px 2.5% 5px 2.5%;
		}
		
		#menu li a.cf	{
			padding: 10px 10px 10px 10px;
			border-bottom: none;
		}
		
		#menu li a:not(:only-child):not(.btnMenu) {
			width: 95%;
			padding: 15px 2.5%;
			/*background: #00765C;*/
		}

		#menu li span.menuItem ~ a.btnMenu {
			/*left: 0;*/
			right: 10px;
			/*width: 100%;*/
			border-bottom: none;
		}

		#menu li a.btnMenu {
			position: absolute;
			/*left: 248px;*/
			top: 0;
			right: 10px;
			width: 32px;	
			padding: 0;
			height: 32px;	
			background: none;
			border-bottom: none;			
		}

		#menu li a.btnMenu span,
		#menu li a.btnMenu:hover span	{			
			display: block;
			position: absolute;
			right: 0;
			top: 8px;			
			padding: 0 0 0 0;
			margin: 0px;
			color: #333;
			/*background: #00765C;*/
			cursor: pointer;
			height: 28px;
			width: 28px;
			font-size: 18px;
			line-height: 26px;			
			text-align: center;
			/*font-weight: bold;*/
			z-index: 10;
		}

		#menu li a.btnMenuContract span,
		#menu li a.btnMenuContract:hover span{	
			font-size: 18px;
			line-height: 26px;
			border-bottom: none;
		}		

		#menu li a.btnMenuExpand {			
			display: block;
			border-bottom: none;	
		}

		#menu li a.btnMenuContract {			
			display: none;						
		}

		#menu li ul {
			width: 100%;
			left : 0;
			display: none;
			position : static;			
			box-shadow: none;
			margin: 0px -20px;
			padding: 10px 10px 10px 10px;
		}

		#menu li ul li {
			float: none;
			padding-left: 0;			
		}

		#menu li ul a {
			width : auto;
			color: #fff;
			border-bottom: none;
			text-align: center;	
			padding: 10px 0;			
		} 

		#menu li ul a:hover {
			background: #eda813;
			color: #FFF;
			border-bottom: none;
		}	

		
		#menu li a:hover,		
		#menu li a.active,
		#menu li a.current {
			border-bottom: none;
			color: #80909b;
		}	
		
		/*--slider*/	
		
		.slider-intro-container,
		.slider-container div.column {
			width: 100%;
		}
		
		.slider-container {
			/*width: 100%;*/
			height: 320px;
			margin: 0 0 0 0;
			padding: 0;
			/*display: none;
			background: url(images/royale_mobile_home_bg.jpg);
			background-size: cover;*/
		}
		
		#slider {
			/*height: 200px;*/
			display: none;
		}
		
		#slider div.slide, #slider div.slide img {
			background-size: cover;
			display: none;
		}
		
		.slider-intro {
			width: 90%;
			margin: 0 5%;
			top: 20px;
			padding: 0;
		}
		
		.slider-intro h1 {
			font-size: 24px;
			line-height: 30px;
		}
		
		.slider-intro h1 br {
			display: none;
		}
		
		.slider-intro p {
			font-size: 14px;
			line-height: 22px;
			padding: 0 5%;
		}
		
		.slider-intro p br {
			display: none;
		}
		
		.sliderButtons a.button {
			margin: 0 10px 20px 10px;
		}
		
		.bx-controls {
			display: none;
		}
		
		.overlay {
			background: #000;
			/*display: none;*/
		}
		
		/*--intro*/
		
		.intro div.one {
			margin: 0;
		}
		
		.intro h2 {
			margin: 20px 0 10px 0;
		} 
		
		.intro h2 br {
			display: none;
		}
		
		.intro p {
			font-size: 14px;
			line-height: 22px;
			margin: 0;
		}
		
		/*--page title / content*/
		
		.title {
			padding: 15px 0;
			margin: 0 0 20px 0;
		}
		
		.title h1,
		.column.intro {
			width: 90%;
			margin: 0 5%;
			font-size: 24px;
			line-height: 30px;
			text-align: center;
		}
		
		.imgSingle {
			width: 100%;
			float: none;
			margin: 0 0 5% 0;
		}
		
		form#contactForm {
			width: 90%;
			margin: 0 2.5%;
			padding: 2.5%;
		}
		
		form#contactForm {
			width: 95%;
			margin: 0 0 20px 0;
		}
		
		
		form#contactForm {
			margin: 0 auto 20px auto;
		}
		
		body#contact div.one.thanks {
			margin: 0 auto 20px auto;
		}
		
		form#contactForm input,
		form#contactForm textarea,
		form#contactForm input.button {
			width: 100%;
		}
		
		h2.find {
			margin: 0 2.5% 20px 2.5%;
		}
		
		.map {
			width: 100%;
		}
		
		/*--pub times*/
		
		.times {
			width: 90%;
			padding: 20px 5% 10px 5%;
			margin: 0 0 20px 0;
		}
		
		.times div.threeA,
		.times div.threeB,
		.times div.threeC {
			width: 90%;
			padding: 20px 5% 20px 5%;
			margin: 0 0 10px 0;
		}
		
		.links div.twoA,
		.links div.twoB,
		.links div.rooms {
			width: 80%;
			margin: 0 5% 20px 5%;
			padding: 40px 5%;
		}
		
		.logos img {
			height: 50px;
			margin: 0 15px;
		}
		
		.foodMenu,
		.foodMenuBack,
		.foodMenuOther {
			display: none;
		}
		
		.fMenu {
			width: 90%;
			margin: 0 5%;
			display: block;
		}
		
		.block {
			background: #000;
			padding: 10px 0 0 0;
		}
		
		.foodList h2 {
			background-position: 97%;
		}
		
		/*--footer*/
		
		div#footer-wrapper {
			padding: 15px 0;
		}
		
		footer h3 {
			font-size: 16px;
			line-height: 22px;
			
		}
		
		footer div.twoB a.button {
			width: 90%;
			clear: both;
			padding: 10px 5%;
		}
		
		p.SOdescription {
			width: 80%;
			margin: -10px 10% 10px 10%;
		}
		
		p.contactInfo span {
			display: block;
			margin: 5px 0;
		}
		
		div.column-wrapper.terms {
			height: auto;
			padding: 10px 0;
		}
		
		div.column-wrapper.terms span {
			display: block;
			margin: 5px 0;
		}
		
		div.one.terms {
			width: 90%;
			margin: 0 5% 0 5%;
			padding: 0 0 0 0;
		}
		
		div.one.terms p span {
			display: block;
			margin: 5px 0;
		}
		
	}

	
/* #Mobile (Landscape)
================================================== */

    /* Note: Design for a width of 480px */
	/* Selectively overriding mobile portrait */

    @media only screen and (min-width: 480px) and (max-width: 812px) {
	
		
	
	}
