
/* ===== Buttons ===== */

.crabordernow, .crabordernow:hover {
	display: block;
	color: #fff;
	background: #34c133;
	margin: 5px 0;
	text-decoration: none;
	padding: 5px 10px;
	border-radius: 13px;
	text-align: center;
	font-weight: 700;
}

.crabreservation, .crabreservation:hover {
	display: block;
	color: #fff;
	background: #FF8324;
	margin: 5px 0;
	text-decoration: none;
	padding: 5px 10px;
	border-radius: 13px;
	text-align: center;
	font-weight: 700;
}

/* ===== Desktop crab cards ===== */

.crabdesc {
	background: #000;
	color: #fff;
	padding: 20px;
	font-size: 13px;
}

.crabprice {
	color: #FF8324;
	font-weight: 700;
}

.crabremark {
	font-size: 11px;
	font-style: italic;
}

.crabinfocontainer img.maincrab {
	border-top-right-radius: 30px;
}

.crabinfo-imgcontainer {
	border-top-right-radius: 30px;
	background: #f4f4f4;
	position: relative;
}

.crabinfo-title {
	position: absolute;
	bottom: 0;
	width: 100%;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.4) 43%, rgba(255,255,255,.9) 100%);
	height: 53px;
}

.crabinfo-title h2 {
	position: absolute;
	bottom: 10px;
	left: 20px;
	color: #FF8324;
	font-size: 24px;
	font-weight: 700;
}

/* modifier: a few cards sit slightly tighter to the left edge */
.crabinfo-title h2.crabinfo-title-h2--tight {
	left: 15px;
}

/* small icon glyphs used inline next to dish titles (chef hat, spicy, thumbs, etc.) */
.menu-icon {
	height: 23px;
	margin-right: 5px;
}

.menu-icon--first {
	margin-left: 5px;
}

.crab-grid-col {
	padding-top: 100px;
	max-width: 1160px;
}

/* ===== Legacy / shared bits ===== */

.menuimage {
	width: 140px;
	clip-path: circle(50% at 50% 50%);
}

.bigimage {
	width: 100%;
	border-top-right-radius: 30px;
}

.scrolling-wrapper, .scrolling-appam {
	height: 100%;
	-webkit-overflow-scrolling: touch;
}

.thethumbnail .menuimageactiveborder {
	border: 1px solid white;
	display: inline-block;
	border-radius: 50%;
	padding: 4px;
	transition: 0.5s ease-in-out;
}

.submenucontainer li {
	list-style-type: none;
	padding-left: 20px;
	padding-right: 20px;
	display: inline-block;
}

.menu-details-wrapper {
	display: block !important;
	float: left;
	margin-right: 30px;
}

.descriptioncontainer {
	background: black;
	color: #fff;
	width: 100%;
	min-height: 190px;
}

.descriptioncontainer .a {
	font-size: 13px;
	line-height: 1.3;
}

.titlecontainer {
	height: 100px;
	width: 100%;
	position: absolute;
	bottom: 0px;
	background: rgb(255,255,255);
	background: -moz-linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 43%, rgba(255,255,255,0.9) 100%);
	background: -webkit-linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 43%, rgba(255,255,255,0.9) 100%);
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 43%, rgba(255,255,255,0.9) 100%);
}

.modal-body {
	font-size: 3.5vw;
}

/* ===== Page wrapper / layout containers (previously inline) ===== */

.crab-page-wrapper {
	height: 100vh;
	overflow-y: scroll;
	overflow-x: hidden;
}

.titlecontainer1 {
	position: absolute;
	left: 18px;
	top: 8px;
	background: #fff;
	width: 100%;
	z-index: 1;
}

.titlecontainer1-header {
	border-bottom: 1px solid rgba(0,0,0,0.1);
	height: 42px;
}

.ourmenutitle {
	border-right: 1px solid rgba(0,0,0,0.1);
}

/* ===== Mobile list ===== */

.crab-mobile-wrapper {
	padding-top: 0;
	padding-bottom: 250px;
	overflow-y: scroll;
}

.crab-mobile-list {
	padding-top: 10px;
}

.crab-mobile-item-link {
	color: #000;
}

.crab-mobile-row {
	border-bottom: 1px solid #eaeaea;
	padding-top: 8px;
	padding-bottom: 8px;
}

.crab-mobile-row--top-border {
	border-top: 1px solid #eaeaea;
}

.crab-mobile-thumb {
	width: 30%;
}

.crab-mobile-info {
	width: 50%;
}

.crab-mobile-action {
	width: 20%;
}

/* ===== Modal footer ===== */

.modal-footer-relative {
	position: relative !important;
}

/* ===== Hidden mask promo block ===== */

.mask-caption-wrapper {
	text-align: center;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.mask-image {
	width: 65%;
}

.mask-text {
	color: #000;
	white-space: normal;
}

.mask-border {
	border: 1px solid #000;
	border-radius: 25px;
	position: absolute;
	height: calc(100% - 60px);
	width: calc(100% - 60px);
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.mask-pattern {
	border-radius: 25px;
	background-image: var(--mask-bg);
	background-repeat: repeat-x;
	position: absolute;
	width: calc(100% - 30px);
	height: 25%;
}

.mask-pattern--top {
	top: 0;
	z-index: 0;
}

.mask-pattern--bottom {
	bottom: 0;
	z-index: 0;
	background-position: bottom;
}

/* ===== Media queries ===== */

@media (max-width: 1690px) {
	.descriptioncontainer {
		background: black;
		color: #fff;
		width: 100%;
		min-height: 210px;
	}
}

@media (max-width: 1199.98px) {
	.crabdesc {
		min-height: 231px;
	}

	.crabordernow, .crabordernow:hover, .crabreservation, .crabreservation:hover {
		display: inline-block;
		width: calc(50% - 12px);
		margin: 5px 5px;
	}
}

@media (max-width: 767.98px) {

	.mobiletop {
		position: relative !important;
		padding-left: 0;
	}

	.titlecontainer1 {
		display: none;
	}

	.titlecontainer1 > div {
		border: 0 !important;
	}

	.titlecontainer1 h1 {
		border: 0 !important;
		float: right !important;
		font-size: 6vw;
	}

	.btn-ordernow2 {
		background: #25d366 !important;
		padding: 10px 10px !important;
		border-radius: 29px;
		border: 0;
		width: calc(50vw - 30px);
	}

	.btn-reservation2 {
		background: #ff8324 !important;
		padding: 10px 10px !important;
		border-radius: 29px;
		border: 0;
		width: calc(50vw - 30px);
	}
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {

	.thecrabs {
		width: 195vw !important;
	}

	.thecrabs .menu-details-wrapper {
		width: 44vw !important;
	}

	.thecrabimage {
		padding-bottom: 54vh !important;
	}

	.thecrabimage2 {
		padding-bottom: calc(68vh + 104px) !important;
	}

	.descriptioncontainer .a {
		font-size: 12px;
		line-height: 1.2;
	}

	.d-l, .d-r {
		max-width: 100%;
		flex: 0 0 100%;
	}
}
