@charset "UTF-8";
/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 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, section {
	display: block;
}
body {
	line-height: 1;
	background-image: url(../img/bg-sand.gif);
	overflow-x: hidden;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

*{outline:none;}



/* Cookies Banner
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------*/
#cookie-banner {
	background: #000;
	padding: 22px 25px;
	display: none;
	position:fixed;
	width:100%;
	margin:0;
	left:0;
	bottom:0;
	z-index:1500;
}

#cookie-banner-info {
	width: 820px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: #FFF;
}

#cookie-banner-actions {
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 16px;
	color: #FFF;
	text-decoration: none;
	float: right;
	right: 100px;
	position: absolute;
	top: 47px;
	text-transform: uppercase;
}

#cookie-banner-actions a:nth-of-type(1) {
	color: #FBDC98;
	right: 160px;
}

#cookie-banner-actions a:nth-of-type(2) {
	color: #FFF;
	margin-left: 25px;
}

#cookie-banner-actions a {
	text-decoration: none;
}

#cookie-banner-actions a:hover {
	color: #FFF;
}

@media screen and (max-width: 1200px) {
#cookie-banner {
	padding: 22px 0;
}

#cookie-banner-info {
	float: none;
	text-align: center;
	margin: 0 auto 15px auto;
}

#cookie-banner-actions {
	float: none;
	margin: 0 auto;
	display: block;
	position: relative;
	right: inherit;
	width: 290px;
	top: 0;
}
}

@media screen and (max-width: 900px) {
#cookie-banner-info {
	width: 90%;
}
}

@media screen and (max-width: 320px) {
#cookie-banner-info {
	font-size: 13px;
}
}





/* Services Wrappers
================================================== */
.privacy-wrapper,
.cookies-wrapper {
	width: 100%;
	height: 100%;
	position: fixed;
	background-image: url(../img/bg-grey-privacy.gif);
	z-index: -1;
	opacity: 0;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	overflow: scroll;
}

.privacy-wrapper-page,
.cookies-wrapper-page {
	width: 100%;
	height: 100%;
	position: fixed;
	background-image: url(../img/bg-grey-privacy.gif);
	overflow: scroll;
}

.privacy-wrapper-page {
	z-index: 1;
}

.cookies-wrapper-page {
	z-index: 2;
}

.show-overlay {
	opacity: 1;
	z-index: 8000;
}

.hide-overlay {
	opacity: 0;
	z-index: -1;
}

.privacy-wrapper button,
.cookies-wrapper button,
.privacy-wrapper-page button,
.cookies-wrapper-page button {
	position: fixed;
}

.wrapper-content {
	width: 700px;
	margin: 80px auto 0 auto;
	float: none;
	padding-bottom: 100px;
}

@media only screen and (max-width: 1024px) {
.wrapper-content {
	margin: 50px auto 0 auto;
	width: 600px;
}
}

@media only screen and (max-width: 767px) {
.wrapper-content {
	width: 90%;
}
}

@media only screen and (max-width: 479px) {
.wrapper-content {
	width: 90%;
}
}





/* Privacy Policy
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------*/
.privacy-block {
	width: 100%;
	padding: 30px 0;
	border-bottom: 1px solid #999;
}

.privacy-block:last-of-type {
	border-bottom: none;
}

.privacy h1 {
	text-align: left;
	font-size: 25px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	line-height: 28px;
	padding-top: 0;
	color: #FFF;
	margin-bottom: 10px;
}

.privacy span {
	color: #F39;
}

.privacy h2 {
	font-size: 25px;
	font-family: Arial, Helvetica, sans-serif;
	color: #FFF;
	margin-bottom: 10px;
	font-weight: bold;
	line-height: 28px;
}

.privacy h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 21px;
	color: #FFF;
	padding-top: 25px;
	line-height: inherit;
	margin-bottom: 10px;
	font-weight: bold;
}

.privacy p {
	font-size: 16px;
	line-height: 23px;
	color: #CCC;
	font-family: Arial, Helvetica, sans-serif;
}

.privacy a {
	text-decoration: underline;
	color: #FFF;
}

.privacy p.privacy-footer {
	text-align: right;
	margin-top: 50px;
}

.accordion h4 a {
	background: #666 url(../img/privacy-arrow-closed.svg) 20px 23px no-repeat;
	display: block;
	padding: 20px 0 20px 65px;
	text-decoration: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 19px;
	color: #FFF;
	margin: 25px 0;
	text-decoration: none;
	font-weight: 600;
}

.accordion h4 a:hover {
	color: #FFF;
	cursor: pointer;
	background-color: #888;
}

.accordion h4.open a {
	color: #FFF;
	background: #888 url(../img/privacy-arrow-opened.svg) 20px 23px no-repeat;
}

.accordion span {
	color: #FFF;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 19px;
}

.accordion a {
	color: #FFF;
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
.faq-column { width: 90%; }

.accordion h4 a { font-size: 0.9em; }
}



/* Close Button
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------*/
.close-overlay {
	width: 80px;
	height: 80px;
	position: absolute;
	margin: 0;
	padding: 0;
	right: 5%;
	top: 25px;
	overflow: hidden;
	border: none;
	background: url(../img/close-overlay.svg) no-repeat center center;
	text-indent: 200%;
	color: transparent;
	outline: none;
	z-index: 1000;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	cursor: pointer;	 
}

.close-overlay:hover {
	-webkit-transform: scale(0.6);
	-moz-transition: scale(0.6);
	-o-transition: scale(0.6);
	transition: scale(0.6);
}

@media screen and (max-width: 560px) {
.close-overlay {
	right: 3%;
	top: 20px; 
}
}

@media screen and (max-height: 560px) {
.close-overlay {
	right: 3%;
	top: 20px; 
}
}



/* Anti Spam Trick
================================================== */
.as-trick {
	display:none;
	position: absolute;
	top: 0;
	left: -300px;
}



/* Privacy Checkbox
================================================== */
label.checkbox input[type="checkbox"] {display:none;}
label.checkbox span {
	display:inline-block;
	vertical-align:middle;
	padding: 0;
	width: 33px;
	height: 33px;
	box-shadow: none;
	background: url(../img/checkbox-unchecked.png) no-repeat;
	background-position: 0 0;
	border: none;
	border-radius: 0;
	overflow: hidden;
	cursor: pointer;
	margin: 0 5px 25px 103px;
	float: left;
	-webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance:none;
    appearance: none;
}
label.checkbox :checked + span {
    background: url(../img/checkbox-checked.png) no-repeat;
}

.checkbox label {
	font: 300 14px Arial, Helvetica, sans-serif;
	float: left;
	width: auto;
	max-width: 430px;
	text-align: left;
	line-height: 18px;
	color: #333;
	position: absolute;
}

.checkbox label a {
	color: #333;
	text-decoration: underline;
}

@media screen and (max-width: 600px) {
.checkbox label {
	font: 300 12px Arial, Helvetica, sans-serif;
	max-width: 290px;
}

label.checkbox span {
	margin: -3px 5px 25px 0;
}
}

@media screen and (max-width: 320px) {
label.checkbox span {
	margin: -3px 5px 25px -5px;
}
}



/* Form Response
================================================== */
.form-response {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	background: url(../img/bg-grey-privacy.gif);
	z-index: 12000;
}

.response-message {
	font-family: Tahoma, Geneva, sans-serif;
	font-size: 25px;
	text-align: center;
	color: #FFF;
	font-weight: 400;
	line-height: 29px;
	margin: 17.5% auto 0 auto;
	padding: 0 20px;
}

#success {
	width: 200px;
	height: 200px;
	margin: 0 auto 25px auto;
	float: none;
	background-image: url(../img/form-success.svg);
}

#fail {
	width: 200px;
	height: 200px;
	margin: 0 auto 25px auto;
	float: none;
	background-image: url(../img/form-fail.svg);
}

@media only screen and (max-width: 480px) {
.response-message {
	margin: 10% auto 0 auto;
	font-size: 20px;
	line-height: 24px;
}
}



/* Homepage Menu
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------*/
#menu {
	width: 100%;
	height: 75px;
	background-color: #282828;
	margin: 0;
}

#menu-list{
	width: 1024px;
	height: 75px;
	margin: 0 auto 0 auto;
}

#menu-logo {
	height: 91px;
	margin: -16px 0 0 0;
	float: left;
}

#menu-logo h1 {
	text-indent: -9999px;
}

#menu-list ul {
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 13px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	margin: 31px 0 0 30px;
	float: left;
}

#menu-list li {
	display: inline;
	white-space: nowrap;
	width: 50px;
	margin: 0;
	border-right: #999 solid 1px;
	letter-spacing: 0.05em;
}

#menu-list li:last-child {
	border-right: none;
}

#menu-list li a {
	color: #A3896B;
	text-decoration: none;
	padding: 10px 25px;
	outline: none;
}

#menu-list li a:hover {
	color: #FFF;
	text-decoration: none;
}

#menu-current-page {
	color: #FFF;
	text-decoration: none;
	padding: 0 25px;
	letter-spacing: 0.05em;
	width: 50px;
}

#slider-top-line {
	height: 2px;
	width: 100%;
	background-color: #FFF;
}



@media screen and (max-width: 1024px) {
#menu {
	overflow: hidden;
}

#menu-list{
	overflow: hidden;
}
}



@media screen and (max-width: 800px) {
#menu-list{
	width: 768px;
}

#menu-list ul {
	margin: 32px 0 0 20px;
}

#menu-list li {
	width: 0;
}

#menu-list li a {
	padding: 10px 12px;
}

#menu-current-page {
	padding: 0 12px;
	width: 30px;
}
}

@media screen and (max-width: 600px) {
#menu {
	height: auto;
	overflow: hidden;
}

#menu-list{
	width: 100%;
	height: 195px;
	background-color: #282828;
	padding-bottom: 10px;
	overflow: hidden;
}

#menu-logo {
	height: 75px;
	width:  75px;
	margin: -16px auto 0 auto;
	float: none;
}

#menu-logo h1 {
	text-indent: -9999px;
}

#menu-list ul {
	margin: 40px auto 0 auto;
}

#menu-list li {
	line-height: 30px;
}

#menu-list li a {
	padding: 10px 12px;
}

#menu-current-page {
	padding: 0 12px;
	width: 30px;
}

#slider-top-line {
	height: 2px;
	width: 100%;
	background-color: #FFF;
}
}

#newsletter-image img {
	display: block;
	margin: 0 auto;
	float: none;
}

/* Reservation
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------*/
#reservation {
	height: 1044px;
	width: 100%;
}

#reservation h1 {
	font-family: 'Italianno', cursive;
	font-size: 75px;
	margin: 30px 0 0 0;
	color: #282828;
	text-align: center;
}

#reservation p {
	font-family: "Times New Roman", Times, serif;
	font-size: 23px;
	margin: 10px 0 30px 0;
	color: #5B402E;
	text-align: center;
}

#reservation-container {
	width: 512px;
	height: 300px;
	float: none;
	margin: 0 auto 0 auto;
}

#reservation-container p {
	font-family: Arial, Helvetica, sans-serif;
	text-align: center;
	margin-top: 75px;
	line-height: 21px;
	font-size: 18px;
	color: #282828;
}

#contacts-form {
	width: 512px;
	float: left;
}

label {
	float: left;
	font-family: Arial, Helvetica, sans-serif;
	width: 95px;
	margin: 10px 10px 0 20px;
	text-align: right;
	font-size: 15px;
	color: #333;
}

label.error {
	width: auto;
	display: block;
	float: left;
	color: #F00;
	margin: -18px 0 0 125px;
}

body.ie label.error {
  	width: 350px;
	display: block;
	float: none;
	color: #F00;
	margin: -18px 0 5px 125px;
	font-size: 15px;
	text-align: left;
}

input {
	width: 297px;
	height: 18px;
	padding: 5px;
	margin: 0 0 20px 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	color: #000;
	border: 1px solid #999;
	border-radius: 3px;
}

input.error {
	border: 1px solid #F00;
}

input.valid {
	background: #FFF url(../img/checked.gif) no-repeat center right;
}

input:focus {
	background: #FFF;
}

textarea:-moz-placeholder  {
    	color: #999;
}

input:-moz-placeholder  {
    	color: #999;
}

#contacts-form textarea {
	width: 297px;
	height: 30px;
	padding: 5px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 15px;
	color: #000;
	resize: none;
	border: 1px solid #999;
}

#contacts-form textarea:focus {
	background: #FFF;
}

#contacts-form p {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	text-align: left;
	margin-bottom: 35px;
	line-height: 19px;
	color: #333;
	width: auto;
}

#contacts-form p a {
	color: #000;
	text-decoration: underline;
	cursor: pointer;
}

input:-moz-input  {
	margin: 80px 0 0 150px;
}

#contacts-form input[type="image"] {
	width: 180px;
	height: 60px;
	position: absolute;
	display: block;
	background-image:url(../img/bg-sand.gif);
	border: none;
	margin: 45px 0 0 160px;
}

body.ie #contacts-form input[type="image"] {
	width: 180px;
	height: 60px;
	position: absolute;
	background-image:url(../img/bg-sand.gif);
	display: block;
	border: none;
	margin: 45px 0 0 160px;
}

#required-info {
	font-family: Arial, Helvetica, sans-serif;
	text-align: left;
	font-size: 16px;
	line-height: 20px;
	color: #333;
	display: block;
	text-align: center;
	margin-bottom: 20px;
}

#privacy-info {
	font-family: Arial, Helvetica, sans-serif;
	text-align: left;
	font-size: 16px;
	line-height: 20px;
	color: #333;
	margin-top: 15px;
	display: block;
	text-align: center;
}

#privacy-info a {
	color: #333;
}

#rubino-map {
	width: 100%;
	height: 500px;
	border-top: 1px solid #282828;
}

@media screen and (max-width: 1024px) {
#reservation {
	height: 800px;
}

#reservation h1 {
	width: 90%;
	margin: 30px auto 0 auto;
	float: none;
}

#reservation img {
	width: 700px;
	height: auto;
	float: none;
	display: block;
	margin: 0 auto 0 auto;
}

.attractions-p {
	width: 90%;
}

#contacts-adress {
	width: 90%;
}
}

@media screen and (max-width: 600px) {
#reservation {
	height: 670px;
	width: 100%;
}

#reservation h1 {
	font-size: 60px;
}

#reservation img {
	display: none;
}

#diamond-attractions-reservation {
	width: 75px;
	height: 75px;
	display: block;
	float: none;
	margin: -70px auto 0 auto;
}

#reservation-container {
	width: 90%;
	height: auto;
	border-top: 1px dotted  #4B3425;
	padding: 30px 0;
	float: none;
	margin: 50px auto 0 auto;
}

#contacts-form {
	width: 280px;
	float: none;
	margin: 0 auto;
	padding-bottom: 80px;
}

label {
	display: block;
	float: none;
	margin: 10px auto 5px auto;
	text-align: center;
}

label.error {
	margin: -18px auto 0 auto;
	text-align: center;
	float: none;
}

input {
	display: block;
	float: none;
	margin: 0 auto 20px auto;
	width: 270px;
}

#contacts-form textarea {
	width: 270px;
	float: none;
	margin: 0 auto 0 auto;
	display: block;
}

#contacts-form input[type="image"] {
	width: 180px;
	height: 60px;
	position: absolute;
	display: block;
	background-image:url(../img/bg-sand.gif);
	border: none;
	margin: 60px auto 0 45px;
}

body.ie #contacts-form input[type="image"] {
	width: 180px;
	height: 60px;
	position: absolute;
	background-image:url(../img/bg-sand.gif);
	display: block;
	border: none;
	margin: 60px auto 0 45px;
}

#rubino-map {
	display: none;
}
}

/* Footer
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------*/
#footer {
	height: 400px;
	width: 100%;
	background-color: #282828;
}

#footer-container {
	width: 1000px;
	height: 200px;
	margin: 50px auto 0 auto;
}

#footer-top-line {
	height: 2px;
	width: 100%;
	background-color: #FFF;
	box-shadow: #202020 0 3px 3px;
}

/* Footer Menu Block
----------------------------------------------------------------------------------------------------------------------------*/
#portal-logos {
	float: left;
	width: 222px;
	height: 304px;
	border-right: 1px #666666 dotted;
	padding-top: 16px;

}

#portal-logos img {
	margin-bottom: 5px;
}

/* Footer Social Block
----------------------------------------------------------------------------------------------------------------------------*/
#footer-social-block {
	float: left;
	width: 250px;
	height: 288px;
	border-right: 1px #666666 dotted;
	padding-top: 16px;
}

#footer-social-block img {
	display: block;
	margin: 0 auto 25px auto;
	float: none;
}

#footer-social-block p {
	color: #BFBFBF;
	padding: 5px;
	text-align: center;
	font-size: 15px;
	font-family: Arial, Helvetica, sans-serif;
}

#footer-social-icons-container {
	margin: 20px auto 0 auto;
	width: 161px;
	height: 37px;
}

#footer-block-facebook {
	float: left;
	width: 37px;
	height: 37px;
}

#footer-block-googleplus {
	float: left;
	margin-left: 25px;
	width: 37px;
	height: 37px;
}

#footer-block-skype {
	float: left;
	margin-left: 25px;
	width: 37px;
	height: 37px;
}

#footer-share {
	margin: 17px auto 0 auto;
	float: none;
	width: 166px;
}

/* Footer Adress Block
----------------------------------------------------------------------------------------------------------------------------*/
#footer-adress-block {
	float: left;
	width: 526px;
	height: 213px;
	padding-top: 16px;
}

#footer-adress-block img {
	float: left;
	box-shadow: #202020 3px 3px 3px;
	margin: 33px 0 0 30px;
}

#footer-adress-block-text-bold {
	color: #FFF;
}

#footer-adress-block-text p {
	color: #BFBFBF;
	margin: 29px 0 0 10px;
	text-align: left;
	font-size: 17px;
	line-height: 20px;
	float: right;
	font-family: Arial, Helvetica, sans-serif;
}

#alemans-logo {
	position: absolute;
	display: inline-block;
	width: 61px;
	height: 70px;
	margin: -35px 0 0 -60px;
	background-image: url(../img/alemans-logo-footer.png);
	background-repeat: no-repeat;
}

#footer-adress-block-text a {
	color: #BFBFBF;
}

#footer-adress-block-text a:hover {
	color: #FFF;
	text-decoration: underline;
}

@media screen and (max-width: 800px) {
#footer-container {
	width: 768px;
	height: auto;
	overflow: hidden;
	padding-bottom: 25px;
}

#footer {
	height: auto;
}

#portal-logos {
	width: 212px;
	border-right: none;
}

#footer-social-block {
	width: 200px;
	border-right: none;
}

#footer-adress-block {
	width: 350px;
	height: auto;
}

#footer-adress-block img {
	float: none;
	width: 75px;
	height: 75px;
	display: block;
	margin: 0 auto 10px auto;
}

#footer-adress-block-text p {
	margin: 2px 0 0 0;
	font-size: 15px;
	text-align: center;
	width: 350px;
}

#alemans-logo {
	margin: -35px 0 0 -55px;
	background-image: url(../img/alemans-logo-footer.png);
}
}

@media screen and (max-width: 600px) {
#footer {
	width: 100%;
	height: auto;
	overflow: hidden;
}

#footer-container {
	width: 90%;
	height: auto;
}

#portal-logos {
	width: 100%;
	padding: 16px 0 0 0;
	border: none;
	height: 225px;
}

#portal-logos img {
	margin: 0 auto 5px auto;
	float: none;
	display: block;
}

#footer-social-block {
	width: 100%;
	height: 150px;
	border-right: none;
	padding-top: 0;
}

#footer-adress-block {
	width: 100%;
	height: auto;
	padding: 185px 0 25px 0;
	margin: 0 auto 0 auto;
}

#footer-adress-block img {
	display: block;
	float: none;
	width: 75px;
	height: 75px;
	box-shadow: #202020 3px 3px 3px;
	margin: 0 auto 0 auto;
}

#footer-adress-block-text p {
	margin: 15px auto 0 auto;
	text-align: center;
	font-size: 15px;
	width: auto;
	float: none;
}

#alemans-logo {
	margin: -35px 0 0 -55px;
}
}