/*********************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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
}

:focus {
    outline: 0;
}

body {
    line-height: 1;
    color: black;
    background: white;
}

ol, ul {
    list-style: none;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

caption, th, td {
    text-align: left;
    font-weight: normal;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
}

blockquote, q {
    quotes: "" "";
}

/*********************LAYOUT**********************/

html {
    background: #FBFAFB url(images/jpeg/bg.jpg) repeat-x;
    overflow: auto;
    padding: 0 0 20px;
}

html.villapage {
    background: #FBFAFB url(images/gif/bg2.gif) repeat-x;
}

html.villapage body {
    background: #FBFAFB url(images/gif/bg2.gif) repeat-x;
}

body {
    width: 970px;
    margin: 0 auto;
    overflow: hidden;
    background: #FBFAFB url(images/jpeg/bg.jpg) repeat-x;
}

div.top {
    height: 125px;
}

#home #content {
    padding: 35px 20px 20px 38px;
    overflow: hidden;
    width: 402px;
    float: left;
}

#content {
    overflow: hidden;
    clear: both;
}

div.left-content {
    width: 460px;
    float: left;
    padding: 0 0 20px;
}

div.footer {
    background: #E2E2E2;
    margin: 0 auto;
    overflow: hidden;
    padding: 18px;
    clear: both;
}

iframe {
    border: solid 1px #BFBFBF;
    margin: 0 auto;
    background: #FFF;
    padding: 0 0 0 7px;
    display: block;
}

#slideshow {
    height: 468px;
    overflow: hidden;
    position: relative;
    z-index: 8;
}

/*********************TEXT**********************/
body {
    font-family: georgia, serif;
    color: #6C6A6A;
    font-size: 14px;
}

p {
    margin: 0 0 18px;
    color: #6C6A6A;
    line-height: 20px;
    font-size: 14px;
}

strong {
    font-weight: bold;
    color: #383737;
}

p.rating {
    margin: 0 0 10px;
    font-weight: normal;
    font-size: 20px;
}

em {
    font-style: italic;
}


h1 {
    font-family: helvetica, sans-serif;
    color: #5A5555;
    font-size: 30px;
    line-height: 30px;
    margin: 0;
    padding: 0 0 8px;
    font-weight: bold;
    text-shadow: #FFF 0 0 1px;
}

h1 strong {
    color: #353131;
    font-weight: bold;
}


h2 {
    font-weight: normal;
    text-transform: uppercase;
    font-size: 21px;
    color: #FFFFFF;
    margin: 0;
    padding: 0 0 3px;
    font-family: georgia, serif;
}

h2 strong {
    color: #E12A24;
    font-weight: normal;
}

h3 {
    color: #666;
    font-size: 16px;
    margin: 0;
    font-weight: bold;
    padding: 0 0 0;
}


h4, h5 {
    color: #FFF;
    font-size: 16px;
    font-weight: bold;
    margin: 0;
    padding: 0 0 4px;
}

h4 {
    font-size: 14px;
}

h5 {
    font-size: 15px;
}


div.footer p {
    color: #686868;
    font-size: 12px;
    line-height: 16px;
    margin: 0;
}

div.footer strong {
    color: #404040;
    font-weight: bold;
}

p.edge {
    float: right;
}

p.copy {
    float: left;
}

p.errormessage,
p.notice {
    color: #F00 !important;
    text-align: center !important;
    font-weight: bold !important;
    background: #FFF;
    border: 1px solid #CCC;
    overflow: hidden;
    clear: both;
    padding: 3px;
    margin: 0 0 30px;
}


/*********************LINKS**********************/

#nav {
    padding: 0 0 0;
    margin: 0;
    list-style: none;
    list-style-image: none;
    overflow: hidden;
    display: block;
    float: right;
}

#nav li {
    display: block;
    list-style: none;
    list-style-image: none;
    float: left;
    margin: 0;
    padding: 0 14px;
}

#nav li a {
    overflow: hidden;
    display: block;
    float: left;
    padding: 16px 12px 14px;
    border: 1px solid transparent;
    border-top: 0;
    color: #7E7E7E;
    text-decoration: none;
}

#home #nav-home a,
#villas #nav-villas a,
#about #nav-about a,
#enquiry #nav-enquiry a,
#contact #nav-contact a,
#nav li a:hover {
    background: #EEEDED;
    border: 1px solid #E2E2E2;
    border-top: 0;
    color: #575757
}

html.villapage #villasnav {
    padding: 0 0 3px 10px;
}


#villasnav {
    padding: 0 0 40px 10px;
    margin: 0 auto;
    list-style: none;
    list-style-image: none;
    overflow: hidden;
    display: block;
    clear: left;
}

#villasnav li {
    display: block;
    list-style: none;
    list-style-image: none;
    float: left;
    margin: 0;
    padding: 0 85px 0 35px;
}

#villasnav li a {
    overflow: hidden;
    display: block;
    float: left;
    height: 0;
    padding: 51px 0 0;
    background: url(images/gif/nav.gif) no-repeat;
}

#villasnav #maroc a {
    width: 94px;
}

#villasnav #maroc a:hover,
html.maroc #villasnav #maroc a {
    background-position: 0 -52px;
}

#villasnav #jasmine a {
    width: 111px;
    background-position: -94px 0;
}

#villasnav #jasmine a:hover,
html.jasmine #villasnav #jasmine a {
    background-position: -94px -52px;
}

#villasnav #fotini a {
    width: 88px;
    background-position: -205px 0;
}

#villasnav #far_horizon a {
    width: 152px;
    background: url(images/png/far.png) no-repeat;
}

#villasnav #far_horizon a:hover,
html.fotini #villasnav #far_horizon a {
    background-position: 0 -52px;
}


#villasnav #fotini a:hover,
html.fotini #villasnav #fotini a {
    background-position: -205px -52px;
}


#villasnav #oceanblue a {
    width: 152px;
    background-position: -293px 0;
}

#villasnav #oceanblue a:hover,
html.oceanblue #villasnav #oceanblue a {
    background-position: -293px -52px;
}

#villasnav #oceanblue {
    padding: 0 85px 0 55px;
}

#villasnav #villasn a {
    width: 143px;
    background-position: right -5px;
}

#villasnav #villasn a:hover {
    background-position: right -57px;
}

#villasnav #villasn {
    padding: 0 16px 0 35px;
    float: right;
}

#subnav {
    padding: 3px 10px 40px 0;
    margin: 0 auto;
    width: 960px;
    list-style: none;
    list-style-image: none;
    overflow: hidden;
    display: block;
    clear: left;
}

#subnav li {
    display: block;
    list-style: none;
    list-style-image: none;
    float: left;
    margin: 0;
    padding: 0 25px;
}

#subnav li a {
    overflow: hidden;
    display: block;
    float: left;
    padding: 0 10px;
    line-height: 30px;
    height: 29px;
    text-decoration: none;
    color: #666;
}

html.overview #overview a,
html.vgallery #vgallery a,
html.location #location a,
html.availability #availability a,
html.pricing #pricing a,
html.facilities #facilities a,
html.reviews #reviews a,
#subnav li a:hover {
    background: #F7F7F7;
}

a {
    color: #3C667B;
    font-weight: normal;
    text-decoration: underline;
}

a:hover {
    color: #48A7D6;
}


div.footer a {
    color: #404040;
    text-decoration: underline;
}

div.footer a:hover {
    color: #000;
    text-decoration: underline;
}

a.villas {
    width: 504px;
    float: left;
    height: 492px;
    text-indent: -99999px;
    display: block;
    background: url(images/jpeg/homepage_photos_new.jpg) no-repeat;
}

a.villas:hover {
    background-position: -507px 0;
}

/*********************FORMS**********************/

fieldset {
    background: #FCFCFC;
    border: 1px solid #CCC;
    padding: 20px;
    margin: 0 0 30px;
}

fieldset.small {

}

legend {
    font-family: sans-serif;
    color: #5A5555;
    font-size: 22px;
    line-height: 30px;
    margin: 0;
    padding: 0 0 8px;
    font-weight: bold;
    text-shadow: #FFF 0 0 1px;
}

label {
    display: block;
    width: 105px;
    float: left;
    color: #666;
    font-size: 14px;
    padding: 4px 20px 0 4px;
    line-height: 18px;
}

label.twolines {
    padding: 0 20px 0 4px;
}

label.radio {
    padding: 0 30px 0 4px;
    width: auto;

}

div.reg_row input {
    float: right;
}

div.form_left {
    float: left;
    width: 48%;
}

div.form_right {
    float: right;
    width: 48%;
}

input[type=radio] {
    float: left;
}

input[type=text] {
    width: 240px;
    float: left;
    height: 18px;
    color: #727272;
    padding: 3px;
    float: left;
    background: #FFF;
    border: 1px solid #CCC;
}

#start,
#end {
    background: url(images/gif/cal.gif) no-repeat 226px 4px;
}

#start:focus,
#end:focus {
    background: url(images/gif/cal.gif) no-repeat 226px -16px;
}

div.select {
    float: left;
    height: 22px;
    color: #727272;
    padding: 1px;
    float: left;
    background: #CCC;
    border: 3px solid #CCC;
}

div.select select {
    background: #CCC;
    border: none;
    height: 20px;
    border: 1px solid #CCC;
}

div.formrow {
    padding: 0 0 20px;
    overflow: hidden;
    clear: both;
}

textarea {
    width: 240px;
    padding: 3px;
    float: left;
    height: 100px;
    color: #727272;
    background: #FFF;
    border: 1px solid #CCC;
    font-family: sans-serif;
    margin: 0;
    resize: none;
    overflow-x: hidden;
    overflow-y: scroll;
}

input[type=text]:focus, textarea:focus {
    border-color: #333;
}

div.submit_row {
    padding: 0 0 0px 131px;
    overflow: hidden;
}

#submit {
    width: 245px;
    margin: 0 auto;
    height: 30px;
    padding: 0;
    color: #FFF;
    border: 0;
    cursor: pointer;
    background: #666;
}

#submit:hover {
    background: #222
}


/*********************MISC**********************/
#logo {
    float: left;
}

.clear {
    clear: both;
}

a img {
    border: 0;
}

img.right {
    float: right;
    padding: 0 0 10px 10px;
}

.details li {
    margin: 0 0 2px;
}

ul {
    padding: 0 0 22px 30px;
    font-size: 14px;
    margin: 0;
}

ul li {
    list-style-image: url(images/gif/bullet.gif);
    line-height: 18px;
    margin: 0 0 8px;
    padding: 0;
}

ol {
    list-style: decimal;
    padding: 5px 0 10px 30px;
}

ol li {
    line-height: 18px;
    margin: 0 0 4px;
    font-size: 13px;
}

hr {
    width: 80%;
    padding-bottom: 30px;
    overflow: hidden;
    border: 0;
    border-top: 1px solid #D9D9D9;
    border-style: dotted;
    margin: 20px auto 0;
    clear: both;
}

div.spacer_30 {
    clear: both;
    height: 30px;
}

div.spacer_20 {
    clear: both;
    height: 20px;
}

div.spacer_10 {
    clear: both;
    height: 0px;
}

img.left {
    float: left;
}

#map {
    width: 430px;
    height: 360px;
    border: 4px solid #D9D9D9;
    float: right;
    margin: 40px 0;
}

table {
    border: 1px solid #CDCDCD;
    width: 100%;
}

html.pricing table td {
    text-align: center;
}

td p {
    margin: 0;
}

tr.odd {
    background: #EEEEEE;
}

td {
    width: 318px;
    padding: 10px 20px 10px 10px;
}

td.firstcol {
    width: 210px;
    text-align: right;
    padding: 10px 50px 10px 10px;
}

td.th {
    background: #666;
    text-align: center;
}

td.th h3 {
    color: #F1F1F1;
    display: inline;

    margin: 0 auto;
}

div.details {
    padding: 0 20px 10px 200px;
    text-align: right;
    position: relative;
    z-index: 9;
    margin: -20px 0 0;
}

#overview-pic {
    float: right;
    width: 490px;
}

div.quote {
    padding: 0 0 0 80px;
    background: url(images/gif/quote.gif) no-repeat;
    min-height: 50px;
    width: 80%;
    overflow: hidden;
    margin: 0 auto;
}

p.name {
    font-weight: bold;
    margin: 0;
}

div.villaphoto {
    padding: 0 30px 30px 0;
    float: left;
    width: 420px;
    overflow: hidden;
    text-align: center;
}

.inactive {
    border: 0 !important;
    background: #FFF !important;
}

div.villaphoto a img {
    padding: 5px;
    border: 1px solid #DBDBDB;
    background: #FFF;
    margin: 0 0 10px;
    overflow: hidden;
}

div.villaphoto a:hover img {
    border: 1px solid #000;
}

html.main_villas #content {
    width: 870px;
    margin: 0 auto;
}

div.photo2 {
    padding: 0 0 30px;
}

a.vname {
    text-transform: lowercase;
    color: #555555;
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
    font-family: sans-serif;
}

a.vname:hover,
.hovereffect {
    color: #000;
    border-bottom: 1px dotted #111;
    font-family: sans-serif;
}

a.brochure {
    display: block;
    float: left;
    padding: 5px 8px;
    background: #666;
    height: 22px;
    line-height: 22px;
    overflow: hidden;
    color: #FFF;
    border: 1px solid #333;
    text-decoration: none;
}

a.brochure:hover {
    background: #FFF;
    color: #666;
    border: 1px solid #CCC;
}

/*********************GALLERY**********************/

.special {
    background-color: #333333;
    border: 1px solid #666666;
    padding: 15px 15px 0 15px;
}

.special p {
    font-size: 120%;
    line-height: 1.2em;
}

.highlight {
    color: #DC2A24;
    font-size: 130%;
    text-decoration: underline;
}


div.content {
    /* The display of content is enabled using jQuery so that the slideshow content won't display unless javascript is enabled. */
    display: none;
    float: right;
    width: 750px;
}

o
div.content a, div.navigation a {
    text-decoration: none;
    color: #777;
}

div.content a:focus, div.content a:hover, div.content a:active {
    text-decoration: underline;
}

div.controls {
    margin-top: 5px;
    height: 24px;
    overflow: hidden;
}

div.controls a {
    padding: 0;
}

div.ss-controls {
    float: left;
}

div.nav-controls {
    overflow: hidden;

}

div.slideshow-container {
    position: relative;
    clear: both;
    height: 500px; /* This should be set to be at least the height of the largest image in the slideshow */
}

div.loader {
    position: absolute;
    top: 0;
    left: 0;
    background-image: url('loader.gif');
    background-repeat: no-repeat;
    background-position: center;
    width: 750px;
    height: 500px; /* This should be set to be at least the height of the largest image in the slideshow */
}

div.slideshow {

}

div.slideshow span.image-wrapper {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 500px;
}

div.slideshow a.advance-link {
    display: block;
    width: 750px;
    height: 500px; /* This should be set to be at least the height of the largest image in the slideshow */
    line-height: 500px; /* This should be set to be at least the height of the largest image in the slideshow */
    text-align: center;
}

div.slideshow a.advance-link:hover, div.slideshow a.advance-link:active, div.slideshow a.advance-link:visited {
    text-decoration: none;
}

div.slideshow img {
    vertical-align: middle;
    border: 1px solid #CCC;
    outline: 1px solid #666;
    height: 100%;
}

div.download {
    float: right;
}

div.caption-container {
    position: relative;
    clear: left;
    height: 75px;
}

span.image-caption {
    display: block;
    position: absolute;
    width: 750px;
    top: 0;
    left: 0;
}

div.caption {
    padding: 12px;
}

div.image-title {
    font-weight: bold;
    text-align: center;
    font-size: 1.4em;
    padding: 6px 0;
}

div.image-desc {
    line-height: 1.3em;
    padding-top: 12px;
}

div.navigation {
    /* The navigation style is set using jQuery so that the javascript specific styles won't be applied unless javascript is enabled. */
}

ul.thumbs {
    clear: both;
    margin: 0;
    padding: 0;
    overflow: hidden;
    height: 450px;
}

ul.thumbs li {
    float: left;
    padding: 0;
    margin: 5px 10px 5px 0;
    list-style: none;
}

a.thumb {
    padding: 2px;
    display: block;
    border: 1px solid #CCC;
}

a.thumb img {
    width: 82px;
    height: 75px;
}

ul.thumbs li.selected a.thumb {
    background: #000;
}

a.thumb:focus {
    outline: none;
}

ul.thumbs img {
    border: none;
    display: block;
}

div.pagination {
    clear: both;
}

div.navigation div.top {
    margin-bottom: 12px;
    height: 11px;
}

div.navigation div.bottom {
    margin-top: 12px;
}

div.pagination a, div.pagination span.current, div.pagination span.ellipsis {
    display: block;
    float: left;
    font-family: sans-serif;
    font-size: 12px;
    margin-right: 2px;
    padding: 3px;
    border: 1px solid #CCC;
}

div.pagination a:hover {
    background-color: #EEE;
    text-decoration: none;
}

div.pagination span.current {
    font-weight: bold;
    background-color: #666;
    border-color: #666;
    color: #FFF;
}

div.pagination span.ellipsis {
    border: none;
    padding: 5px 0 3px 2px;
}

a.prev {
    float: left;
    padding: 0 0 0 10px;
}

a.next {
    float: right;
    padding: 0 10px;
}

/*** Calendar Styles *********************/

.calendar {
    padding: 0;
    margin: 30px 0;
    background-color: #FFF;
    position: relative;
    z-index: 1;
    font-family: helvetica, sans-serif;
}

.calendar__grid {
    border-top: 1px solid #EDEDED;
}

.calendar__grid-row {
    display: flex;
    flex-flow: row wrap;
}

.calendar__block {
    position: relative;
    display: flex;
    flex-flow: row;
    flex: 1 0 auto;
    width: 14.28%;
    height: 110px;
    border-bottom: 1px solid #EDEDED;
    border-left: 1px solid #EDEDED;
    border-right: 1px solid #EDEDED;
    padding: 30px 0 20px;
    box-sizing: border-box;
}

.calendar__block--title {
    display: block;
    background: #F5F5F5;
    text-align: center;
    padding: 10px 5px 7px;
    color: #222;
    font-size: 16px;
    line-height: 26px;
    height: auto;
    font-weight: 700;
    box-sizing: border-box;
}

.calendar__block--booked {
    background: #F5F5F5;
}

.calendar__date {
    font-weight: 700;
    color: #222;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 18px;
    line-height: 24px;
    padding: 4px 10px 0;
    box-sizing: border-box;
}

.calendar__information {
    width: 100%;
    box-sizing: border-box;
}

.calendar__entry {
    font-family: helvetica, sans-serif;
    font-style: inherit;
    width: 100%;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    background: #4D4D4D;
    color: #FFF;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    padding: 5px 10px;
    box-sizing: border-box;
}

.calendar__block--faded .calendar__date,
.calendar__block--faded .calendar__information {
    opacity: 0.5;
}

.calendar__top {
    padding: 25px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.calendar__top h1 {
    margin: 0 40px;
    padding: 0;
}

.calendar__arrow {
    border: 1px solid #EEE;
    border-radius: 3px;
    width: 40px;
    height: 40px;
    text-indent: -9999px;
    background: url('/images/png/arrow.png') no-repeat center / contain;
    transition: background 0.2s linear, border 0.2s linear;
    transform: scaleX(-1);
}

.calendar__arrow--next {
    transform: none;
}

.calendar__arrow:hover {
    background-color: #EEEDED;
    border: 1px solid #E2E2E2;
}

/** Privacy Policy Styles *****************/

.content-area ul li {
    list-style: disc;
}

.content-area h2 {
    color: #666;
    font-weight: 700;
    text-transform: none;
    margin-bottom: 10px;
}

.content-area h3 {
    margin-bottom: 8px;
}

.content-area table {
    margin-bottom: 20px;
    border-collapse: collapse;
}

.content-area table th,
.content-area table td {
    padding: 10px;
    border: 1px solid #D2D2D2;
}

.content-area table th {
    background: #5A5555;
    color: #FFF;
    font-size: 14px;
    line-height: 14px;
}

.formrow iframe {
    border: none;
}

.g-recaptcha {
    margin-left: auto;
    margin-right: 0px;
    display: flex;
    justify-content: flex-end;
    padding: 0 15px 0 0;
}