﻿body {
    margin: 0;
    background: #ffffff;
}

img {
    width: 100%;
    height: auto;
    display: block;
}

a img {
    border: none;
}

.clear-fix {
    clear: both;
}

.right {
    float: right;
}

.container,
.content-header-container,
.header-container,
.container-col02 {
    max-width: 1078px;
    margin: 0 auto;
    padding: 0 2%;
}

.col {
    float: left;
    margin-left: 2%;
    padding: 0;
}

.header-container .col:first-child,
.container .col:first-child,
.container-col02 .col:first-child {
    margin-left: 0;
}

.col01 {
    width: 23.5%;
    margin-bottom: 0;
}

.col02 {
    width: 49%;
    margin-bottom: 0;
}

.col03 {
    width: 74.5%;
    margin-bottom: 0;
}

.col04 {
    width: 100%;
    margin-left: 0;
}

.non-mobile,
.navigation-container > ul.nav-bar-open {
    display: block;
}

.mobile-only {
    display: none;
}

.header-container {
    max-width: 1078px;
    margin: 0 auto;
    padding-top: 1%;
    padding-bottom: 2%;
}

    .header-container .left-col {
        width: 24%;
        margin-left: 0;
        margin-bottom: 0;
    }

    .header-container .middle-col {
        width: 59%;
        margin-bottom: 0;
    }

    .header-container .right-col {
        float: right;
        width: 13%;
        padding-left: 2%;
        margin-bottom: 0;
    }

    .header-container .social-icon {
        width: 36px;
        height: 36px;
        display: inline;
    }

    .header-container .contact-info {
        padding-right: 5%;
        text-align: right;
        border-right: solid 1px #cccccc;
    }

.navigation-container {
    float: left;
    width: 100%;
    max-width: 1078px;
    margin: 0 auto;
    background-color: #d6e4ec;
}

    .navigation-container > ul {
        margin: 0;
        padding: 0;
    }

        .navigation-container > ul > li {
            float: left;
            margin: 0;
            padding: 0;
            list-style-type: none;
            background-color: #d6e4ec;
            position: relative;
        }

            .navigation-container > ul > li > a {
                display: block;
                border-right: solid 1px #ffffff;
                padding: 10px 15px;
            }

                .navigation-container > ul > li > a.home span {
                    width: 18px;
                    height: 16px;
                    background-image: url('/_common/img/home-icon.gif');
                    background-repeat: no-repeat;
                    background-position: 0 0;
                    display: block;
                }

                .navigation-container > ul > li > a.home:hover span,
                .navigation-container > ul > li > a.home.selected span {
                    background-position: 0 -16px;
                }

.header-image-container {
    max-width: 1078px;
    margin: 0 auto;
    padding: 1% 2% 2% 2%;
}

.guernsey-search {
    border: solid 1px #287ca8;
    padding: 7% 20% 7% 7%;
    position: relative;
}

    .guernsey-search p {
        margin: 0;
    }

    .guernsey-search img {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 40%;
    }

.content-header {
    background: #287ca8;
    padding: 1% 2%;
}

.col02 .content-header {
    padding: 2% 4%;
}

table.form,
table.content-table {
    border-collapse: collapse;
    margin-top: 2%;
}

    table.form th,
    table.form td,
    table.content-table th,
    table.content-table td {
        text-align: left;
        font-weight: normal;
        background-color: #d4e5ee;
        border-bottom: solid 3px #ffffff;
        color: #262626;
    }

    table.form th {
        width: 35%;
        padding: 10px;
    }

        table.form th.header {
            font-weight: bold;
            padding: 10px;
        }

    table.form td {
        text-align: right;
        padding: 2px 2px 3px 0;
    }

        table.form td.terms {
            text-align: left;
            padding: 10px;
        }

        table.form td.spacer {
            background-color: #ffffff;
        }

    table.form .small {
        font-size: 0.8em;
    }

table.content-table {
    width: 100%;
}

    table.content-table th,
    table.content-table td {
        text-align: center;
        padding: 10px;
    }

    table.content-table th {
        font-weight: bold;
    }

table.form-no-margin {
    margin: 0;
}

input[type=text],
textarea,
select {
    width: 96%;
    margin: 0;
    padding: 2%;
    border: none;
}

select {
    width: 100%;
}

.submit-booking {
    float: right;
    margin-top: 1em;
}

.button {
    background-color: #287ca8;
    color: #ffffff;
    font-size: 1.5em;
    border: none;
    margin: 0;
    padding: 10px;
    cursor: pointer;
}

.footer {
    padding: 2%;
}

    .footer > .col04 > ul {
        margin: 0;
        padding: 0;
    }

        .footer > .col04 > ul > li {
            float: left;
            margin: 0;
            padding: 0;
            list-style-type: none;
        }

            .footer > .col04 > ul > li > a {
                display: block;
                border-right: solid 1px #cccccc;
                padding: 0 7px;
            }

            .footer > .col04 > ul > li:first-child > a {
                padding-left: 0;
            }

            .footer > .col04 > ul > li.last a {
                border: none;
            }

            .footer > .col04 > ul > li.grey {
                clear: both;
            }

                .footer > .col04 > ul > li.grey > a {
                    margin-top: 10px;
                    padding: 0;
                    border-right: none;
                }

@media screen and (min-width: 604px) and (max-width: 955px) {
    .navigation-container > ul > li > a {
        padding: 5px;
    }
}

@media screen and (min-width: 604px) and (max-width: 731px) {
    .mobile-navigation .mobile-home-button,
    .mobile-navigation .mobile-menu-button {
        height: 36px;
        background-image: url('/_common/img/icon-sprite.png');
        background-repeat: no-repeat;
        float: left;
    }

    .mobile-navigation .mobile-home-button {
        width: 40px;
        background-position: -255px -84px;
    }

        .mobile-navigation .mobile-home-button:hover,
        .mobile-navigation .mobile-home-button.selected {
            background-position: -255px -120px;
        }

    .mobile-navigation .mobile-menu-button {
        width: 101px;
        background-position: -295px -84px;
    }

        .mobile-navigation .mobile-menu-button:hover {
            background-position: -295px -120px;
        }

    .mobile-navigation .selected {
        background-position: -295px -120px;
    }

    .navigation-container > ul,
    .navigation-container > ul > li.home-button {
        display: none;
    }

        .navigation-container > ul > li {
            float: none;
            border-top: solid 1px #ffffff;
        }

            .navigation-container > ul > li > a {
                border: none;
                padding: 2%;
            }
}

/* mobile */
@media screen and (min-width: 0px) and (max-width: 603px) {
    .col {
        margin-left: 0;
        margin-bottom: 10px;
    }

    .col01,
    .col02,
    .col03,
    .col04 {
        width: 100%;
        margin-bottom: 0;
    }

    .mobile-only {
        display: block;
    }

    .non-mobile,
    .footer-seperator img,
    .navigation-container > ul,
    .navigation-container > ul > li.home-button {
        display: none;
    }

    .header-container {
        padding: 0;
    }

        .header-container .left-col,
        .header-container .middle-col,
        .header-container .right-col {
            margin-bottom: 0;
        }

        .header-container .left-col {
            width: 50%;
        }

        .header-container .middle-col {
            width: 96%;
            border-top: solid 1px #d6e4ec;
            padding: 2%;
        }

        .header-container .right-col {
            text-align: right;
            width: 46%;
            padding-right: 2%;
        }

        .header-container .contact-info {
            border-right: none !important;
            padding: 0;
        }

            .header-container .contact-info p {
                margin: 0;
            }

            .header-container .contact-info .small,
            .header-container .contact-info span.email {
                font-size: 1em !important;
            }

            .header-container .contact-info span.telephone {
                font-weight: bold;
                font-size: 1.5em !important;
            }

    .mobile-navigation .mobile-home-button,
    .mobile-navigation .mobile-menu-button {
        height: 36px;
        background-image: url('/_common/img/icon-sprite.png');
        background-repeat: no-repeat;
        float: left;
    }

    .mobile-navigation .mobile-home-button {
        width: 40px;
        background-position: -255px -84px;
    }

        .mobile-navigation .mobile-home-button:hover,
        .mobile-navigation .mobile-home-button.selected {
            background-position: -255px -120px;
        }

    .mobile-navigation .mobile-menu-button {
        width: 101px;
        background-position: -295px -84px;
    }

        .mobile-navigation .mobile-menu-button:hover {
            background-position: -295px -120px;
        }

    .mobile-navigation .selected {
        background-position: -295px -120px;
    }

    .navigation-container > ul > li {
        float: none;
        border-top: solid 1px #ffffff;
    }

        .navigation-container > ul > li > a {
            border: none;
            padding: 3%;
        }

    .content-header-container,
    .container-col02 {
        padding: 0;
    }

        .container-col02 .content {
            padding: 0 2%;
        }

    .content-header,
    .col02 .content-header {
        padding: 2%;
    }

    table.form-mobile-no-margin {
        margin: 0;
    }

    .submit-booking {
        float: left;
        margin-top: 0;
        margin-bottom: 2%;
    }

    .button {
        font-size: 1em;
        font-weight: bold;
    }

    .footer > .col04 > ul > li {
        float: none;
    }

        .footer > .col04 > ul > li > a {
            border: none;
            padding: 5px 0;
        }
}
