/*
 * style.css
 * =========
 * chaletsapiniere.fr
 * (c) 2014 Martin Lewis / Futuranet Limited
 */

*, html, body, select, input, textarea {
    font-family: 'Quattrocento Sans', Helvetica, Arial, sans-serif;
}

html, body {
    height: 100%;
}

body {
    position: relative;
}

a {
    color: #ca0c0c;
}

#header {
    height: 130px;
    position: relative;
    overflow: hidden;
}

#header div.inner {
    position: relative;
}

#header #logo {
    margin: 0 auto;
    width: 92px;
    height: 100px;
}

#header img {
    height: 100%;
}

#header nav {
    width: 100%;
    background-color: #014921;
    float: left;
}

#header nav ul#nav {
    position: relative;
    left: 50%;
    float: left;
}

#header nav ul#nav li {
    position: relative;
    right: 50%;
    float: left;
}

#header nav ul#nav li a {
    margin: 0 0.3em;
    padding: 0.5em 0.5em;
    color: white;
    display: block;
    text-decoration: none;
}

#header nav ul#nav li a:hover,
#header nav ul#nav li a:active {
    background-color: #ca0c0c;
}

ul#weather {
    position: absolute;
    top: 2em;
    right: 0;
}

ul#weather li {
    margin-bottom: 0.5em;
}

ul#weather li a {
    display: block;
    text-align: right;
    padding-right: 24px;
    background: url('//cds.static.fnltd.co.uk/images/icons-ns/question.png') 100% 0 no-repeat; /* default = question mark */
    background-size: contain;
}

/*
 weather icons using french slugs removed 2020-08-10 as
 switched to api.met.no source for weather data

*/

#header #season {
    position: absolute;
    top: 1em;
    right: 1em;
    width: 70px;
    height: 32px;
    display: none;
}

#header #season a {
    float: left;
    width: 32px;
    text-indent: 999em;
    overflow: hidden;
    height: 32px;
}

#header #season li {
    float: left;
    width: 32px;
    margin-right: 6px;
}

#header #season li:last-child {
    margin-right: 0;
}

#header #season a.winter {
    background: url('//static.chaletsapiniere.fr/images/layout/snowflake.png') 1px 0 no-repeat;
}

#header #season a.summer {
    background: url('//static.chaletsapiniere.fr/images/layout/sun.png') 0 0 no-repeat;
}

#header #season.winter a.summer,
#header #season.summer a.winter {
    opacity: 0.3;
}

#wrapper {
    width: 1020px;
    margin: 0 auto;
    min-height: 100%;
    position: relative;
}

#content {
    position: relative;
    padding: 1em 0 49px 0;
}

.webcam-history #content,
.bookings #content {
    padding-top: 0;
}


body.webcam-history div.toolbar h2
{
    margin-bottom:0;
}

#footer {
    position: absolute;
    bottom: 0;
    height: 1em;
    padding: 0.5em 0;
    left: 0;
    right: 0;
    border-top: 1px solid #999;
}

#footer ul li {
    float: left;
    padding-left: 0.5em;
}

#footer ul li:after {
    content: '|';
    padding-left: 0.5em;
    color: #ccc;
}

#footer ul li:last-child:after {
    content: '';
    padding: 0;
}

.toolbar {
    padding-top: 1em;
    position: -webkit-sticky;
    position: -ms-sticky;
    position: sticky;
    top: 0;
    z-index: 49;
    background: white;
    padding-bottom:0.5em;
}

.toolbar .inner
{
    position: relative;
}

#content li {
    margin-bottom: 0.4em;
}

p {
    margin: 0.5em 0;
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 0.8em;
}

h1, h2 {
    font-weight: bold;
}

h1 {
    font-size: 200%;
    margin-bottom:0.3em;
}

h2 {
    font-size: 120%;
}

h2.location {
    text-align: center;
    color: #999;
    font-weight: normal;
}

input[type=submit],
input[type=button],
button,
a.button {
    display: inline-block;
    margin: 0;
    background-color: transparent;
    font-weight: bold;
    font-size: 100%;
    padding: 8px 10px;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fdfdfc), to(#f0efea));
    background-image: -webkit-linear-gradient(top, #fdfdfc, #f0efea);
    background-image: -moz-linear-gradient(top, #fdfdfc, #f0efea);
    background-image: -ms-linear-gradient(top, #fdfdfc, #f0efea);
    background-image: -o-linear-gradient(top, #fdfdfc, #f0efea);
    background-image: linear-gradient(top, #fdfdfc, #f0efea);
    -pie-background: linear-gradient(top, #fdfdfc, #f0efea);
    border: 1px solid #CCC;
    border-bottom: 1px solid #b9b8b8;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 1px 1px rgba(100, 100, 100, 0.2);
    -moz-box-shadow: 0 1px 1px rgba(100, 100, 100, 0.2);
    -ms-box-shadow: 0 1px 1px rgba(100, 100, 100, 0.2);
    -o-box-shadow: 0 1px 1px rgba(100, 100, 100, 0.2);
    box-shadow: 0 1px 1px rgba(100, 100, 100, 0.2);
    outline: none;
    cursor: pointer;
    text-decoration: none;
    color: buttontext;
}

a.button span,
button span {
    padding-left: 20px;
    background: left top no-repeat;
}

a.button.add span,
button.add span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/plus-button.png');
}

a.button.add-event span,
button.add-event span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/calendar--plus.png');
}

a.button.save span,
button.save span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/disk-black.png');
}

a.button.delete span,
button.delete span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/cross.png'); /* or bin */
}

a.button.edit span,
button.edit span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/gear.png');
}

a.button.cancel span,
button.cancel span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/arrow-turn-180.png');
}

a.button.history span,
button.history span,
a.button.date span,
button.date span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/clock.png');
}

a.button.switch span,
button.switch span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/arrow-switch.png');
}

a.button.add, a.button.edit {
    float: right;
    margin-right: 0.5em;
}

form button.delete {
    display: none;
}

form.delete button.delete {
    display: inline-block;
}

form.delete button.save {
    display: none;
}

form .error,
form .errors {
    color: red;
}

form {
    width: 616px;
    background: #f4f4f4;
    padding: 0.5em;
    margin: 0 auto;
}

form.plain {
    width: auto;
    background: none;
    padding: 0;
    margin: 0;
}

form div.field-wrapper,
form p.help {
    position: relative;
    float: left;
    margin: 0.5em;
    width: 292px;
}

form div.field-wrapper.faded {
    opacity: 0.4;
}

form div.field-wrapper label {
    font-weight: bold;
    font-size: 90%;
    margin-bottom: 0.5em;
    display: block;
}

form div.field-wrapper label.inline {
    font-weight: normal;
    font-size: inherit;
    margin: 0 0 0 0.3em;
    cursor: pointer;
    display: inline-block;
}

form div.field-wrapper label.inline:after {
    content: none;
}

form div.field-wrapper:last-of-type:after {
    content: "";
    display: table;
    clear: both;
}

form div.field-wrapper ul.errorlist {
    color: #bb0000;
    font-size: 80%;
    margin-top: 0.4em;
}

form div.field-wrapper ul.errorlist li {
    padding-left: 16px;
    background: url('//cds.static.fnltd.co.uk/images/icons-ns/exclamation-small.png') left -1px no-repeat;
}

form div.field-wrapper.error input,
form div.field-wrapper.error select,
form div.field-wrapper.error textarea {
    background-color: #ffc0cb;
    border: solid 1px #bb0000;
}

form div.field-wrapper.required label:after,
form span.required_mark:after {
    content: " *";
    color: #ff0000;
}

form div.help-text {
    margin-top: 0.3em;
    font-size: 80%;
    color: #999;
}

form input[type=text],
form input[type=file],
form input[type=date],
form input[type=password],
form input[type=url],
form select,
form textarea {
    width: 272px;
    font-size: 100%;
    padding: 0.5em;
}

form select {
    width: 292px;
}

form textarea {
    width: 285px;
}

form p.help {
    font-size: 80%;
    margin: 1.5em 8px 8px 8px;
    clear: both;
}

form div.field-wrapper.wide {
    width: 100%;
    clear: both;
    margin-right: 0;
}

form div.field-wrapper.wide textarea {
    width: 582px;
}

form div.field-wrapper.wide input[type="text"],
form div.field-wrapper.wide input[type="password"],
form div.field-wrapper.wide input[type="url"],
form div.field-wrapper.wide input[type="email"] {
    width: 582px;
}

form div.field-wrapper.wide select {
    width: 600px;
}

ul#contacts {
    width: 932px;
    margin: 0 auto;
}

ul#contacts li {
    float: left;
    width: 400px;
    background: #f4f4f4;
    margin: 1em;
    padding: 1em;
}

ul#contacts li:nth-of-type(2n+1),
ul#contacts li:last-of-type {
    clear: left;
}

ul#contacts dt {
    float: left;
    width: 78px;
    margin-bottom: 1em;
    clear: left;
    padding-left: 22px;
    background: 0 -1px no-repeat;
}

ul#contacts dt.telephone {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/telephone-handset.png');
}

ul#contacts dt.telephone.work {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/user-worker.png');
}

ul#contacts dt.telephone.mobile {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/mobile-phone.png');
    background-position: 1px -1px;
}

ul#contacts dt.email {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/mail-at-sign.png');
}

ul#contacts dd {
    float: left;
    width: 300px;
    margin-bottom: 1em;
}

ul#contacts dt.name {
    display: none;
}

ul#contacts dd.name {
    font-size: 1.2em;
    margin-bottom: 1em;
    font-weight: bold;
}

ol#calendar {
    margin: 0 auto;
    width: 56em;
}

ol#calendar > li {
    float: left;
    width: 5em;
    height: 5em;
    margin: 0.5em;
    padding: 0.9em;
    position: relative;
}

ol#calendar > li div.background {
    background: #f4f4f4;
}

ol#calendar > li span.background {
    display: none;
}

ol#calendar > li.today div.background {
    background: #dfd;
}

ol#calendar > li.not-this-month {
    background: none;
    opacity: 0.5;
}

@-webkit-keyframes flash-green {
    0% {
        background-color: #f4f4f4;
    }
    100% {
        background-color: #ccffcc;
    }
}

@keyframes flash-green {
    0% {
        background-color: #f4f4f4;
    }
    100% {
        background-color: #ccffcc;
    }
}

ol#calendar > li:nth-child(7n+1) {
    clear: both;
}

ol#calendar > li.day-header {
    height: 1em;
    background: none;
    padding: 0;
    width: 7em;
    margin-bottom: 0;
}

ol#calendar > li h2 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    font-size: 4em;
    z-index: 8;
    opacity: 0.5;
    color: #ccc;
    line-height: 116px;
}

ol#calendar > li.not-this-month h2 {
    opacity: 1;
}

ol#calendar > li ul {
    z-index: 10;
    position: relative;
}

ol#calendar > li div.background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    -ms-transform-origin: 50% 50%;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}

ol#calendar > li div.background span {
    display: none;
}

@-webkit-keyframes shake {
    0%, 100% {
        -webkit-transform: translateX(0) rotate(0deg) translateY(0);
    }
    15%, 35%, 55%, 75%, 95% {
        -webkit-transform: translateX(-1px) rotate(-3deg);
    }
    25%, 45%, 65%, 85% {
        -webkit-transform: translateX(1px) rotate(3deg);
    }
    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translateY(1px);
    }
    20%, 40%, 60%, 80% {
        -webkit-transform: translateY(-1px);
    }
}

@-moz-keyframes shake {
    0%, 100% {
        -moz-transform: translateX(0) rotate(0deg) translateY(0);
    }
    15%, 35%, 55%, 75%, 95% {
        -moz-transform: translateX(-1px) rotate(-3deg);
    }
    25%, 45%, 65%, 85% {
        -moz-transform: translateX(1px) rotate(3deg);
    }
    10%, 30%, 50%, 70%, 90% {
        -moz-transform: translateY(1px);
    }
    20%, 40%, 60%, 80% {
        -moz-transform: translateY(-1px);
    }
}

@-o-keyframes shake {
    0%, 100% {
        -o-transform: translateX(0) rotate(0deg) translateY(0);
    }
    15%, 35%, 55%, 75%, 95% {
        -o-transform: translateX(-1px) rotate(-3deg);
    }
    25%, 45%, 65%, 85% {
        -o-transform: translateX(1px) rotate(3deg);
    }
    10%, 30%, 50%, 70%, 90% {
        -o-transform: translateY(1px);
    }
    20%, 40%, 60%, 80% {
        -o-transform: translateY(-1px);
    }
}

@keyframes shake {
    0%, 100% {
        transform: translateX(0) rotate(0deg) translateY(0);
    }
    15%, 35%, 55%, 75%, 95% {
        transform: translateX(-1px) rotate(-3deg);
    }
    25%, 45%, 65%, 85% {
        transform: translateX(1px) rotate(3deg);
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateY(1px);
    }
    20%, 40%, 60%, 80% {
        transform: translateY(-1px);
    }
}

@-webkit-keyframes shakesmall {
    0%, 100% {
        -webkit-transform: translateX(0) rotate(0deg) translateY(0);
    }
    15%, 35%, 55%, 75%, 95% {
        -webkit-transform: translateX(-1px) rotate(-1deg);
    }
    25%, 45%, 65%, 85% {
        -webkit-transform: translateX(1px) rotate(1deg);
    }
    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translateY(1px);
    }
    20%, 40%, 60%, 80% {
        -webkit-transform: translateY(-1px);
    }
}

@-moz-keyframes shakesmall {
    0%, 100% {
        -moz-transform: translateX(0) rotate(0deg) translateY(0);
    }
    15%, 35%, 55%, 75%, 95% {
        -moz-transform: translateX(-1px) rotate(-1deg);
    }
    25%, 45%, 65%, 85% {
        -moz-transform: translateX(1px) rotate(1deg);
    }
    10%, 30%, 50%, 70%, 90% {
        -moz-transform: translateY(1px);
    }
    20%, 40%, 60%, 80% {
        -moz-transform: translateY(-1px);
    }
}

@-o-keyframes shakesmall {
    0%, 100% {
        -o-transform: translateX(0) rotate(0deg) translateY(0);
    }
    15%, 35%, 55%, 75%, 95% {
        -o-transform: translateX(-1px) rotate(-1deg);
    }
    25%, 45%, 65%, 85% {
        -o-transform: translateX(1px) rotate(1deg);
    }
    10%, 30%, 50%, 70%, 90% {
        -o-transform: translateY(1px);
    }
    20%, 40%, 60%, 80% {
        -o-transform: translateY(-1px);
    }
}

@keyframes shakesmall {
    0%, 100% {
        transform: translateX(0) rotate(0deg) translateY(0);
    }
    15%, 35%, 55%, 75%, 95% {
        transform: translateX(-1px) rotate(-1deg);
    }
    25%, 45%, 65%, 85% {
        transform: translateX(1px) rotate(1deg);
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateY(1px);
    }
    20%, 40%, 60%, 80% {
        transform: translateY(-1px);
    }
}

ol#calendar.edit li.has-bookings div.background {
    -webkit-animation-name: shake;
    -moz-animation-name: shake;
    -o-animation-name: shake;
    animation-name: shake;
    -webkit-animation-duration: 2s;
    -moz-animation-duration: 2s;
    -o-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    -o-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-transition-timing-function: linear;
    -moz-transition-timing-function: linear;
    -o-transition-timing-function: linear;
    transition-timing-function: linear;
}

ol#calendar.edit li.has-bookings:nth-child(2n+1) div.background {
    -moz-animation-delay: -0.5s;
    -webkit-animation-delay: -0.5s;
    -o-animation-delay: -0.5s;
    animation-delay: -0.5s;
}

ol#calendar > li ul li {
    font-size: 80%;
    width: 5.3em;
    overflow: hidden;
    padding-left: 14px;
    background: -2px -2px no-repeat;
    line-height: 1.07em;
}

ol#calendar > li ul li {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/home-small.png');
}

ol#calendar > li ul li.arriving {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/plus-small.png');
}

ol#calendar > li ul li.leaving {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/minus-small.png');
}

ol#calendar > li ul li.arriving.leaving
{
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/home-small.png');
}

ol#calendar > li ul li.event,
ol#calendar > li ul li.event.arriving,
ol#calendar > li ul li.event.leaving
{
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/calendar-small.png');
}

ol#calendar > li ul li.event.cycling
{
    background-image: url('//cds.static.fnltd.co.uk/images/icons-custom/bicycle-small.png');
}


ol#calendar > li ul li.confirmed {
    color: green;
}

ol#calendar > li ul li.provisional {
    color: red;
}

ol#calendar.edit > li.has-bookings ul li {
    cursor: pointer;
    text-decoration: underline;
}

ol#calendar.edit > li.has-bookings ul li {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/gear-small.png');
}

ul#calendar-nav2 {
    display: none;
}

ul.calendar-nav li {
    float: left;
    margin-right: 1em;
}

ul.calendar-nav {
    margin-top: 0;
}

ul.calendar-nav:after,
ol#calendar:after,
ul.list li.empty:after,
form div.inner:after,
ul#contacts:after,
ul.list li div.inner > ul:after,
ul.list:after {
    content: "";
    clear: both;
    display: table;
}

ul.calendar-nav li.prev-month a {
    padding-left: 20px;
    background: url('//cds.static.fnltd.co.uk/images/icons-ns/arrow-180.png') 0 0 no-repeat;
}

ul.calendar-nav li.next-month a {
    padding-right: 20px;
    background: url('//cds.static.fnltd.co.uk/images/icons-ns/arrow.png') 100% 0 no-repeat;
}

ul.list > li {
    float: left;
    width: 50%;
    position: relative;
}

ul.list > li:nth-child(2n+1) {
    clear: both;
}

ul.list > li h2 {
    background: left 1px no-repeat;
    padding-left: 22px;
    padding-bottom: 0.3em;
}

ul.list > li div.inner {
    padding: 1em;
    margin: 0.5em;
    background: #f4f4f4;
}

ul.list > li > div > ul > li.empty {
    color: #999 !important;
    /*
    padding:0 22px 0 0 !important;
    float:left !important;
    background:url('//cds.static.fnltd.co.uk/images/icons-ns/smiley.png') right 0 no-repeat !important;
    */
}

ul#recipes li.empty {
    /*background-image:url('//cds.static.fnltd.co.uk/images/icons-ns/smiley-cry.png');*/
}

ul#recipes li.cake h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/cake.png');
}

ul#recipes li.drink h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/glass.png');
}

ul#recipes li.main-course h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/cutlery.png');
}

ul#recipes li.dessert h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/chocolate-bite.png');
}

ul#recipes li.side-dish h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/breads.png');
}

ul#recipes li.starter h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/leaf.png');
}

ul#recipes li.canape h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/hand.png');
}

ul.list li.item {
    background: left 4px no-repeat;
    padding: 6px 0 0.4em 0;
    /*border-bottom:1px solid #ccc;*/
    position: relative;
}

ul.list li.item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

ul#lists li.item {
    padding-left: 20px;
    padding-right: 2.8em;
}

ul#lists li.state-completed {
    opacity: 0.5;
}

ul#lists li.state-completed span {
    text-decoration: line-through;
}

ul#lists li.priority-high {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/exclamation-circle.png');
}

ul#lists li.priority-urgent {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/exclamation-red.png');
}

ul#lists li.priority-low {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/arrow-270.png');
}

ul#lists li.priority-normal {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/ui-button-navigation.png');
}

ul#lists li.item div.note {
    display: none;
    margin-top: 0.5em;
    background: #fafafa;
    padding: 0.5em;
}

ul#lists ul.functions {
    height: 16px;
    position: absolute;
    top: 0;
    right: 0;
}

ul#lists ul.functions li {
    float: left;
    margin-left: 6px;
    margin-bottom: 0;
}

ul#lists ul.functions li a {
    display: block;
    width: 16px;
    height: 16px;
    text-indent: -999em;
    overflow: hidden;
    text-decoration: none;
    background: 0 0 no-repeat;
}

ul#lists ul.functions li.note a {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/sticky-note.png');
}

ul#lists ul.functions li.manage a {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/gear.png');
}

ul#lists a.button.add {
    margin-right: 0;
    margin-top:0;
    float: none;
    position: absolute;
    top: 1em;
    right: 1em;
}

form textarea#id_note {
    height: 3em;
}

div.field-wrapper button.Zebra_DatePicker_Icon_Inside {
    margin-right: 6px;
}

form#add_booking div.field-wrapper.wrap-who {
    clear: both;
}

form#add_recipe div.field-wrapper.wrap-url input[type=url] {
    width: 272px;
}

/*
ONLY FOR bootstrap themed picker

:root .Zebra_DatePicker,
:root .Zebra_DatePicker .dp_header .dp_hover,
:root .Zebra_DatePicker td.dp_selected,
:root .Zebra_DatePicker .dp_footer .dp_hover,
:root .Zebra_DatePicker td.dp_hover {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
*/

a#id_manage_button span.exit {
    display: none;
}

a#id_manage_button span.exit {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/gear--arrow.png');
}

form div.field.label {
    cursor: pointer;
}

span.or {
    display: inline-block;
    margin: 0 0 0 0.5em;
}

div.field-wrapper.error span.or {
    margin-right: 0.5em;
}

form#add_recipe div.field-wrapper.error input#id_file {
    width: 269px;
    height: 26px;
    padding: 4px;
}

ul#front li.occupants h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/users.png');
}

ul#front li.coming-up h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/calendar-select-week.png');
}

ul#front li.activity li.item {
    padding-left: 22px;
}

ul#front li.activity li.item.provisional {
    color: red;
}

ul#front li.activity li.item.arriving {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-custom/home--arrow-in-green.png');
}

ul#front li.activity li.item.leaving {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-custom/home--arrow-red.png');
}

ul#front li.occupants li.item {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/home.png');
}

ul#front li.occupants li.item.event,
ul#front li.activity li.item.event {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/calendar.png');
}

ul#front li.occupants li.item.event.cycling,
ul#front li.activity li.item.event.cycling {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-custom/bicycle.png');
}

ul#front li.coming-up li.item span.date {
    float: right;
}

ul#front li.activity.coming-up li.item.empty {
    /* background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/smiley-cry.png'); */
    padding-left:0;
}

ul.messages {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    font-size: 90%;
}

ul.messages li {
    border-bottom: 1px solid #aaa;
}

ul.messages li > span {
    display: block;
    width: 1020px;
    margin: 0 auto;
}

ul.messages li > span span {
    display: block;
    padding: 7px 7px 7px 30px;
    background: 6px no-repeat;
    line-height:1.2em;
}

ul.messages li.info {
    background-color: rgba(75, 75, 255, 0.4);
}

ul.messages li.info span span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/information-italic.png');
}

ul.messages li.error {
    background-color: rgba(255, 0, 0, 0.4);
}

ul.messages li.error span span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/exclamation-red.png');
}

ul.messages li.success {
    background-color: rgba(0, 255, 0, 0.4);
}

ul.messages li.success span span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/tick.png');
}

ul.messages li.warning {
    background-color: rgba(255, 255, 0, 0.4);
}

ul.messages li.warning span span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/exclamation.png');
}

ul.messages li.debug {
    background-color: rgba(200, 200, 200, 0.4);
}

ul.messages li.debug span span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/smiley-glass.png');
}

form#login {
    width: 308px;
}

form#login p.required.help {
    display: none;
}

form#login div.field-wrapper.button-wrapper {
    text-align: center;
}

form#login button#id_submit span {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/lock-unlock.png');
}

form#login input[type=password] {
    font-family: sans-serif; /* makes blobs larger */
}

ul#info > li {
    width: 33.3%;
    clear: none !important;
}

ul#info > li li {
    padding-left: 24px;
    background: url('//cds.static.fnltd.co.uk/images/icons-ns/document-text.png') 0 4px no-repeat;
}

ul#info > li li.empty {
    padding-left:0;
    background:none;
}

ul#info li.file {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/document-pdf.png');
}

ul#info>li:nth-child(3n+1)
{
    clear:both !important;
}

div.document {
    margin-bottom: 1em;
}

.document ul {
    margin-bottom: 2em;
}

p.last-mod {
    font-size: 90%;
    color: #999;
}

ul#front li.webcam div.inner div {
    text-align: center;
    height: 225px;
}

ul#front li.webcam div.inner div img
{
    height:225px;
}

/*
ul#front li.webcam.inside div.inner div
{
  padding-top:28px;
  height:168px;
  padding-bottom:29px;
}
*/

ul#front li.webcam.inside h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/sofa.png');
}

ul#front li.webcam.outside h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/tree.png');
}

ul#front li.webcam.drive h2 {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-custom/defender-red.png');
}

ul#front li.webcam a.button.history {
    position: absolute;
    top: 1em;
    right: 1em;
}

ul.webcam.archive {
    clear: both;
}

a.button.webcam.date {
    float: right;
    margin-left: 0.5em;
}

a.button.webcam.switch {
    float: right;
}

ul.webcam.archive ul > li {
    width: 120px;
    float: left;
    margin: 0.5em;
    position: relative;
}

ul.webcam.archive li > h2 {
    position: sticky;
    top: 4.4em;
    background: white;
    z-index: 1;
    height: 1.3em;
}

ul.webcam.archive ul > li img {
    width: 120px;
}

ul.webcam.archive ul > li span {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 75%;
    padding: 2px;
    background: white;
}

ul.webcam.archive ul:after {
    content: "";
    display: table;
    clear: both;
}

div#webcam-viewer {
    position: fixed;
    display: none;
    top: 50%;
    left: 50%;
    margin-top: -175px;
    margin-left: -217px;
    width: 434px;
    height: 273px; /* 225 + 16 + 32 */
    background: white; /*rgba(201,255,201,0.8);*/
    z-index: 100;
}

div#cover {
    position: fixed;
    display: none;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    background: rgba(0, 0, 0, 0.81);
}
/*
div#webcam-viewer.outside {
    width: 332px;
    margin-left: -166px;
}
*/
div#webcam-viewer div.inner {
    padding: 1em 1em 2em 1em;
    height: 225px;
    position: relative;
}

div#webcam-viewer ul.controls li {
    width: 32px;
    height: 32px;
    position: absolute;
    background: white; /*rgba(201,255,201,0.8);*/
    z-index: 102;
}

div#webcam-viewer ul.controls li.prev,
div#webcam-viewer ul.controls li.next {
    /*top:135px;
    left:-32px;
    margin-top:-16px;*/
    bottom: -6px;
    left: 0;
}

div#webcam-viewer ul.controls li a {
    display: block;
    width: 32px;
    height: 32px;
    text-indent: 999em;
    overflow: hidden;
    background: url('//cds.static.fnltd.co.uk/images/icons-ns/arrow-180.png') center center no-repeat;
}

div#webcam-viewer ul.controls li.next {
    /*left:auto;
    right:-32px;*/
    left: 32px;
}

div#webcam-viewer ul.controls li.next a {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/arrow.png');
}

div#webcam-viewer ul.controls li.close {
    /*top:0;
    right:-32px;*/
    bottom: -6px;
    right: 0;
}

div#webcam-viewer ul.controls li.close a {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/cross.png');
}

div#webcam-viewer ul.controls li.play {
    /*top:32px;
    right:-32px;*/
    bottom: -6px;
    right: 32px;
}

div#webcam-viewer ul.controls li.play a {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/control.png');
}

div#webcam-viewer ul.controls li.play a.pause {
    background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/control-pause.png');
}

div#webcam-viewer img {
    height: 225px;
    display: block;
    margin: 0 auto;
    position: relative;
    z-index: 103;
}

div#webcam-viewer span.date {
    position: absolute;
    bottom: 0;
    line-height: 32px;
    left: 16px;
    right: 16px;
    text-align: center;
    font-size: 85%;
    z-index: 101;
}

ul#temperature {
    position: absolute;
    top: 2em;
    left: 0;
    /*
    background: url('//cds.static.fnltd.co.uk/images/icons-ns/thermometer.png') no-repeat 0 0;
    padding-left: 20px;
    */
    padding-left:2px;
}

ul#temperature li {
    margin-bottom: 0.5em;
    counter-increment: sensors;
    position: relative;
}

ul#temperature li:before {
    content: counter(sensors);
    position: absolute;
    bottom: 9px;
    left: 0;
    font-size: 12px;
    color: #ca0c0c;
}

ul#temperature li:before {
    font-size: 11px;
    left: -1px;
    font-weight: bold;
}

/* Terrace Box */
ul#temperature li:first-child:before {
    /*
    content: '\21E8';
    left: -2px;
    */
    content: 'V';
}

/* Balcony 2nd Floor */
ul#temperature li:nth-child(2):before {
    /*
    content: '\21E7';
    */
    content: 'T';
}

ul#temperature li a {
    padding-left: 22px;
    background: url(//cds.static.fnltd.co.uk/images/icons-ns/thermometer.png) no-repeat 0 0;
}

ul#temperature li.outdated {
    padding-right: 19px;
    background: url(//cds.static.fnltd.co.uk/images/icons-ns/exclamation-small.png) no-repeat right center;
    text-decoration: line-through;
}

ul#temperature li.outdated a {
    color:#999;
}

div#graph {
    width: 100%;
    height: 300px;
}

div.loading {
    margin: -25px auto 0;
    background-image: url('//static.chaletsapiniere.fr/images/layout/snowflake-large.jpg');
    background-size: cover;
    width: 50px;
    height: 50px;
    text-indent: -99em;
    overflow: hidden;
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50px;
}

div.graph {
}

div.loading {
    -webkit-animation: rotation 2s infinite ease-in-out;
    animation: rotation 2s infinite ease-in-out;
}

@-webkit-keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        opacity: 0.0;
        transform: rotate(0deg);
    }
    50% {
        opacity: 1.0;
    }
    100% {
        -webkit-transform: rotate(359deg);
        opacity: 0.0;
        transform: rotate(359deg);
    }
}

body.login h1
{
    text-align: center;
    margin-bottom:0.5em;
}

h2.location span.min,
h2.location span.max
{
    background-image:url('https://cds.static.fnltd.co.uk/images/icons-ns/thermometer-high.png');
    padding-left:20px;
    margin-left:1em;
    display:inline-block;
    background-position:center left;
    background-repeat:no-repeat;
}

h2.location span.min
{
    background-image:url('https://cds.static.fnltd.co.uk/images/icons-ns/thermometer-low.png');
}

h2.location span.min::after,
h2.location span.max::after
{
    content:'\00b0\0043';
}

html .Zebra_DatePicker
{
    font-family:inherit;
    font-size:inherit;
}

html .Zebra_DatePicker .dp_daypicker th
{
    background-color:#014921;
    color:white;
}

html .Zebra_DatePicker .dp_daypicker td,
html .Zebra_DatePicker .dp_monthpicker td,
html .Zebra_DatePicker .dp_daypicker th,
html .Zebra_DatePicker .dp_yearpicker td
{
    border-color:#014921;
}

html .Zebra_DatePicker td.dp_hover
{
    background:#ca0c0c;
}

@media only screen and (max-device-width: 680px) and (orientation: landscape ) {
    #wrapper
    {
        width:auto;
    }

    ul#temperature
    {
        left:8px;
    }

    ul#weather
    {
        right:8px;
    }

    a.button.webcam.date {
        margin-right: 8px;
    }

    h1, h2
    {
        padding-left:8px;
        padding-right:8px;
    }

    ul#front li.webcam div.inner div
    {
        height:auto;
    }

    ul#front li.webcam img
    {
        width:100%;
    }
}

@media only screen and (max-device-width: 480px) {

    body {
        width: 100%;
    }

    #wrapper {
        width: 100%;
    }

    #header
    {
        height:auto;
    }

    ul.list > li {
        width: 100%;
    }

    ul#info > li {
        width: 100%;
    }

    #content h1 {
        margin-left: 0.25em;
        margin-right: 0.25em;
        font-size:1.6em;
    }

    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 0.3em;
    }

    #header nav ul#nav li a {
        font-size: 115%;
        padding-top: 0.3em;
        padding-bottom: 0.3em;
    }

    #header #logo {
        text-align: center;
        width:auto;
        height:auto;
    }

    #logo img {
        height: 80px;
    }

    ul#weather {
        right: 0.5em;
        top:1.25em;
    }

    ul#temperature {
        left: 0.5em;
        top:1.25em;
        padding-left: 0;
    }

    ul#temperature li.outdated {
        background:none;
        padding:0;
    }

    ul#temperature li.outdated a
    {
       background-image:url('//cds.static.fnltd.co.uk/images/icons-ns/thermometer--exclamation.png');
    }

    ul#weather li a {
        padding-right: 20px;
    }

    ul#contacts {
        width: auto;
    }

    ul#contacts li {
        width: auto;
        float: none;
    }

    ul#contacts li dl:after {
        clear: both;
        content: "";
        display: table;
    }

    form {
        width: auto;
        margin: 0 0.5em;
    }

    form div.field-wrapper.wide select {
        width: 428px;
    }

    form div.field-wrapper.wide textarea {
        width: 410px;
    }

    form div.field-wrapper label {
        font-size: 100%;
    }

    form div.field-wrapper ul.errorlist {
        margin-top: 0.6em;
    }

    input[type=submit], input[type=button], button, a.button {
        margin-right: 0.5em;
        font-size: 18px;
    }

    a.button span, button span {
        padding-left: 22px;
        background-position: left;
    }

    ul#lists ul.functions {
        top: 6px;
    }

    ul#lists li.item {
        margin-top: 0.4em;
        margin-bottom: 0;
    }

    ul#front li.webcam h2 {
        margin-bottom: 0.5em;
    }

    ul#front li.webcam div.inner div {
        height: auto;
    }

    ul#front li.webcam div.inner div img {
        max-width: 100%;
        height:225px;
    }

    body.bookings a.button.add,
    body.webcam-history a.button.switch {
        /* buttons above calendar / camera pics */
        position: absolute;
        margin-top:0;
        top: 1.9em;
        left: 0.05em;
    }

    body.bookings a.button.add.add-event {
        left: 144px;
    }

    a#id_manage_button,
    body.webcam-history a.button.date {
        float:none;
        top:1.9em;
        position: absolute;
        left: auto;
        right: 0.05em;
        margin-right:0;
    }

    body.bookings h1,
    body.webcam-history h1 {
        /* h1 above calendar / webcam images */
        padding-bottom: 2.3em;
        margin-bottom: 0;
    }

    ul.calendar-nav {
        font-size: 20px;
        margin:0 0.25em;
    }

    ul.calendar-nav li {
        margin-right: 0;
    }

    ul.calendar-nav li.next-month {
        float: right;
    }

    ul.calendar-nav li.prev-month a {
        background-position: left;
    }

    ul.calendar-nav li.next-month a {
        background-position: right;
    }

    ol#calendar {
        width: auto;
    }

    ol#calendar > li {
        display: none;
    }

    ol#calendar li.has-bookings {
        display: block;
    }

    ol#calendar li.not-this-month {
        display: none !important;
    }

    ol#calendar > li h2 {
        position: inherit;
        left: auto;
        right: auto;
        bottom: auto;
        z-index: auto;
        opacity: 1;
        color: #aaa;
        line-height: inherit;
        text-align: right;
        font-size: 300%;
        margin-bottom: 0;
    }

    ol#calendar > li div.background {
        position: inherit;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
    }

    ol#calendar > li div.background {
        background: none;
    }

    ol#calendar > li div.background h2 span {
        display: inline;
        position: absolute;
        top: 0;
        left: 0;
        font-size: 33.3333333333%;
    }

    ol#calendar > li {
        float: none;
        width: auto;
        height: auto;
        margin: 0.5em;
        padding: 1em;
        position: relative;
    }

    ol#calendar > li ul {
        margin-top: -1em;
    }

    ol#calendar > li ul li {
        font-size: 100%;
        padding-left: 24px;
        width: auto;
        background-position: left 1px;
        background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/home.png');
        margin-bottom: 10px;
    }

    ol#calendar > li ul li.arriving {
        background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/plus.png');
    }

    ol#calendar > li ul li.leaving {
        background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/minus.png');
    }

    ol#calendar.edit > li.has-bookings ul li {
        background-image: url('//cds.static.fnltd.co.uk/images/icons-ns/gear.png');
    }

    ul#calendar-nav2 {
        display: none;
        margin: 0.5em 8px 0 8px;
    }

    ol#calendar > li.today div.background {
        background: none;
    }

    ol#calendar > li span.background {
        background: #f4f4f4;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        display: block;
        z-index: 2;
    }

    ol#calendar > li.today span.background {
        background-color: #dfd;
    }

    ol#calendar.edit li.has-bookings div.background {
        -webkit-animation: none;
        -moz-animation: none;
        -o-animation: none;
        animation: none;
    }

    ol#calendar.edit li.has-bookings span.background {
        -webkit-animation-name: shakesmall;
        -moz-animation-name: shakesmall;
        -o-animation-name: shakesmall;
        animation-name: shakesmall;
        -webkit-animation-duration: 2s;
        -moz-animation-duration: 2s;
        -o-animation-duration: 2s;
        animation-duration: 2s;
        -webkit-animation-fill-mode: both;
        -moz-animation-fill-mode: both;
        -o-animation-fill-mode: both;
        animation-fill-mode: both;
        -webkit-animation-iteration-count: infinite;
        -moz-animation-iteration-count: infinite;
        -o-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
        -webkit-transition-timing-function: linear;
        -moz-transition-timing-function: linear;
        -o-transition-timing-function: linear;
        transition-timing-function: linear;
    }

    ol#calendar.edit li.has-bookings:nth-child(2n+1) span.background {
        -webkit-animation-delay: -0.5s;
        -moz-animation-delay: -0.5s;
        -o-animation-delay: -0.5s;
        animation-delay: -0.5s;
    }

    body.home h1 {
        display: none;
    }

    ul#front {
        margin: 0 0.5em;
    }

    ul#front > li > div.inner {
        margin: 0;
    }

    ul#front li.webcam a.button.history {
        top: 0.4em;
        right: 0;
    }

    a.button.add
    {
        margin-top: -0.25em
    }

    body.webcam-history div.toolbar h2 {
        font-size: 16px;
        position: absolute;
        top: -4px;
        right: 0.25em;
        width: 205px;
        text-align: right;
    }

    body.webcam-history div.toolbar h2 span {
        display: block;
    }

    ul.webcam.archive {
        margin: 0 0.5em;
    }

    ul.webcam.archive ul > li,
    ul.webcam.archive ul > li img {
        width: 100px;
    }

    ul.webcam.archive ul > li span {
        font-size: 95%;
    }

    div#webcam-viewer,
    div#webcam-viewer.outside
    {
        left:0;
        right:0;
        margin-left:0;
        width:auto;
        height:auto;
    }

    div#webcam-viewer div.inner
    {
        padding: 0.75em 0.75em 2.05em 0.75em;
        height:auto;
    }

    div#webcam-viewer div.inner img {
        height:auto;
        width:100%;
    }

    div.document {
        margin-left: 0.5em;
        margin-right: 0.5em;
        padding-top: 0.5em;
    }

    p.last-mod {
        margin-left: 0.5em;
        margin-right: 0.5em;
    }

    ul#lists a.button.add {
        top: 0.75em;
        right: 0.75em;
    }

    ul.list > li h2 {
        padding-bottom: 0.5em;
    }

    ul#lists li.item div.note {
        display: block;
        width: 390px;
        background: transparent;
        font-style: italic;
        padding-bottom: 0;
        color: #999;
    }

    ul#lists ul.functions li.note {
        display: none;
    }

    div.toolbar {

    }

    ul ul,
    ol ul,
    ol ol {
        font-size: 1em !important;
    }

    #header nav ul#nav li.home a span,
    #header nav ul#nav li.information a span {
        display:none;
    }

    #header nav ul#nav li.home a:before
    {
        /* content:'\01f3e1'; *//* emoji house with garden */
        content:'\01f3e0'; /* emoji house */
    }

    #header nav ul#nav li.information a:before
    {
        content:'Info';
    }

    ul#contacts dd
    {
        width:auto;
    }
    
    #content form, #content form *
    {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    #content form div.field-wrapper,
    #content form p.help
    {
        width:100%;
        margin:0;
        padding:0.5em;
    }

    #content form div.field,
    #content form select,
    #content form textarea,
    #content form input[type=text],
    #content form input[type=date],
    #content form input[type=url],
    #content form input[type=file]
    {
        width: 100%;
    }

    #content form input[type=file]
    {
        padding-left:0;
        padding-right:0;
    }

    #content form#add_recipe div.field-wrapper.wrap-url span
    {
        margin:0 0.5em 0 0;
    }

    #content form#add_recipe div.field-wrapper.wrap-url input[type=url] {
        width:100%;
    }

    #content form#add_recipe div.field-wrapper.wrap-url input[type=file] {
        width: 90%;
    }

    #content form div.wrap-arriving span.Zebra_DatePicker_Icon_Wrapper,
    #content form div.wrap-leaving span.Zebra_DatePicker_Icon_Wrapper
    {
        width:67%;
    }

   #header div.inner:after
   {
    content: "";
    clear: both;
    display: table;
    }

   ul.messages
   {
       background:rgba(255,255,255,0.6);
       height:80px;
   }

   ul.messages li > span
   {
       width:auto;
   }

   form#login
   {
       margin:1em auto 0 auto;
   }

   body.login h1
   {
       display: none;
   }

   body.login #header div#logo
   {
       margin-top:5em;
   }

   body.login div#logo img
   {
       height:auto;
   }

   body.login div#footer
   {
       display:none;
   }

   div.loading {
        right: 1em;
        margin-top: 0;
        top: 1em;
        left: auto;
   }

}