@font-face {
    font-family: 'Glyphicons Halflings';
    src: url('fonts/glyphicons-halflings-regular.eot?39608375');
    src: url('fonts/glyphicons-halflings-regular.eot?39608375#iefix') format('embedded-opentype'), url('fonts/glyphicons-halflings-regular.woff?39608375') format('woff'), url('fonts/glyphicons-halflings-regular.ttf?39608375') format('truetype'), url('fonts/glyphicons-halflings-regular.svg?39608375#glyphicons-halflings-regular') format('svg');
    font-weight: normal;
    font-style: normal;
}

body { 
    font-family: Verdana, "Bitstream Vera Sans", Geneva, sans-serif; 
    font-size: 1em;
    text-align: left;
    font-weight: normal;
}

pre {
    font-family: Courier, monospace;
    line-height: 1.2em;
}

a:hover, a:active, a:visited, button:focus { outline: 0; }

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
    margin: .5em 0;
}

label {
    display: block;
	margin: .25em 0 0 0;
}

option {
    padding: 0;
}

th {
    font-weight: bold;
}

dt, dd {
    padding: 0 0 .5em 0;
}

dt {
    width: 30%;
    float: left;
    text-align: right;
    padding-right: .5em;
}

dt::after {
    content: ":";
}

dd {
    width: 68%;
    margin-left: 32%;
    word-break: break-all;
}

iframe {
    border: 0 none;
    height: auto;
}

div {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


/* basic layout, positioning 
-------------------------------------------------------------- */
#wrapall, 
#hb {
    width: 100%;
	margin: 0;	
    padding: 0;
}

#leftbox {
	width: 25%;
	margin: 0;	
    padding: 0;
	float: left;
}

#mainbox {
	margin: 0 0 0 26%;
    padding: 0;
    width: 74%;
}

    #logobox, 
    #datebox, 
    #finderbox {
        margin: 0 0 .5em 0;	
        padding: 0;
    } 
    
    #copyright { 
        display: block; 
    }
        
        #datebox_inner, 
        #finderbox_inner, 
        #houseinfo {
            margin: .5em;
        }

        #rf {
            margin: 0;	
            padding: 0;
        }

#stagepanel {
    height: auto;
    min-width: 512px; /* prevent wrapping of tabs */
}

#stage.tabs .ui-tabs-panel {
	padding: .4em .2em;
}

#stage.tabs div.mytab ul.ui-tabs-nav { 
    height: 2.425em; 
}

#stage .mytab .images, 
#summaryright {
    width: 29%;
    float: right;    
    margin: 0;	
    padding: 0;
} 

#stage .mytab .allarticles, 
#bookpos {
	margin: 0 31% 0 0;	
    padding: 0;
    width: 70%;
}
    #stage .mytab .allarticles .products, 
    #stage .mytab .allarticles .productsbig, 
    #stage .mytab .allarticles .extras {
        margin: 0 0 .5em 0;	
        padding: 0;
    }
    
        #stage .mytab .allarticles .products .accommodation, 
        #stage .mytab .allarticles .productsbig .accommodation, 
        #stage .mytab .allarticles .extras .extrasinner {
            width: auto;
            margin: 0;	
            padding: .2em;
            min-height: 10em;
        }
        
            #stage .mytab .allarticles .extras .extrasinner span.noresults { 
                font-style: italic; 
                display: block; 
                padding: .75em .5em; 
            }
    
    #bookpos_inner {
        margin: .5em;
    }
    
    .proceed_container {
        position: relative;
    }   
    

.articles_note, 
.articles_warning, 
.warning {
    padding: .5em;
    margin: .5em 3em 1em 1em;
}    

p.hint {
	width: 97%;
	padding: .5em .3em;
	margin: .5em 0;
	text-align: center;
}

#ajax_loader {
	position: absolute;
	top: 50%; /* == #stage height divided by 2 */
	left: 50%; /* == .products width divided by 2 */
	margin-left: -50%; /* == width divided by 2 */
	margin-top: -50%; /* == height divided by 2 */
	z-index: 9999; /* just a big number so that the image is always in front */
}

/* hidden by default 
-------------------------------------------------------------- */
.buttonbook,  /* only enable book button when accommodation is selected */
#addressbox #label_mem, 
#addressbox #adr_mem, 
#finished, 
#bceml, 
.emailinfo, 
.printinfo, 
.articleDescTerms, 
.hidden, 
#extras-hint, 
.email_add, 
#colorcontrastnav {
    display: none; /* only enable when accommodation is selected */
}        


/* border-radius equivalent to .ui-corner-all 
-------------------------------------------------------------- */

button,
#datebox .buttoncheck, 
.buttonbook, 
button.proceed, 
.sp_response .proceed a, 
.articles_note, 
.articles_warning, 
.warning, 
p.hint {
    border-radius: 4px;
}


/* Buttons 
-------------------------------------------------------------- */

button,
#datebox .buttoncheck, 
.buttonbook, 
button.proceed, 
.sp_response .proceed, 
.sp_response .proceed a {
    border: 0px;
    background:	#FF9900;
    color:	#FFFFFF;
    font-weight: bold;	
    text-align: center;
    cursor: pointer;
    display: block;
    padding: .25em;
    margin: .5em 0;
    text-decoration: none;
}

button.proceed span {
    color: #fff;
    font-weight: bold;	
}

button:hover,
#datebox .buttoncheck:hover, 
.buttonbook:hover, 
button.proceed:hover, 
button.proceed:hover span, 
.sp_response .proceed:hover, 
.sp_response .proceed a:hover {
	color:	#000000;	
}

.buttonbook {
    text-transform: uppercase;
}

#datebox .buttoncheck, 
.buttonbook {
    width: 100%;
}

#stage #button_back {
	position: relative;
	float: right;
	width: auto;
}


/* left part: book now box, copyright 
-------------------------------------------------------------- */

#leftbox {
    border: 0 none;
}

    #logobox {
        border: 0 none;
        overflow: hidden;
    }
        
        #logobox img {
            display: block;
            margin: .5em auto;
        }
    
    #datebox, 
    #finderbox, 
    #bookpos, 
    #address, 
    #stage .mytab .images {
        border: 1px solid #AAAAAA;	
    }
        
        #datebox label {
            font-weight: bold;
        }
        
        /* arrival / departure boxes */
        #availbox_arrival, 
        #availbox_depart {
            position: relative;	
        }

            /* arrival / departure calendar icons */
            #availbox_arrival img, 
            #availbox_depart img {
                display: block;
                position: absolute;
                right: .5em;
                top: 50%;
            }
    
            /* arrival / departure weekday  */
            #dowarrival, 
            #dowdeparture {
                background: transparent;
                border: 0 none;
                text-align: center;
                padding: .1em 0;
            }

        /* number of nights: plus / minus buttons
           => only if night spinner is deactivated
        */
        #nightsup,
        #nightsdown {
            border: 1px solid #aaaaaa;
            cursor: pointer;
            margin-left: .5em;
            width: 1.5em;
            height: 1.5em;
            text-align: center;
        }
        #nightsdown {
            margin-left: 0;
        }
        #nightsup:hover, 
        #nightsdown:hover {
            border-color: #555555;
            color: #000;
            background: #dadada;
        }
        
        /* link for guest type switch */
        #guestlinkwrap { 
            margin: .75em .5em;
            text-align: right;
        }
        
        /* toggle families */
        #toggle_family div label { 
            display: inline;
            cursor: pointer;
            font-weight: normal;
        }

#copyright { font-size: .75em; color: #ccc; }

    #copyright a { color: #ccc; text-decoration: none; }


/* main part: tabs
-------------------------------------------------------------- */

#stagepanel {
	overflow: hidden;
    border-bottom: 0 none;
}

    #stagepanel li.addnew {
        background-image:url('../imgfront/new.png');
        background-repeat:no-repeat;	
        background-position: .1em .2em;
        padding-left: 1em; 
    }
    
    #stagepanel li.addnew a.tab span {
        white-space: normal;
    }
    
    #stagepanel li.ui-tabs-active.ui-state-active a.remove {
        padding: 0;
        margin: .3em .3em 0 0;
        position: absolute;
        right: 0;
        top: 0;
    }

    /* proceed tab */
    #stagepanel #proceedtab {
        float: right;
        background:	#FF9900 ;
        color: #FFFFFF ;
    }

    #stagepanel #proceedtab.ui-tabs-active {
        background:	#FFFFFF;
    }

        #stagepanel #proceedtab .p {
            color: #FFFFFF;
            font-weight: bold;
        }

        #stagepanel #proceedtab.ui-tabs-active .p, 
        #stagepanel #proceedtab.ui-state-hover .p { 
            color: #000000; 
        }
    
/* main part center: article tables (search restults, summary)
-------------------------------------------------------------- */

table.t_houselistbook, 
table.t_bookpos {
    border-collapse: separate;
}

table.t_houselistbook {
	width: 100%;	
}

    #bookpos_inner table.t_houselistbook tr:first-child td:first-child, 
    table.t_houselistbook td.header p.guests {
        border-top: 1px dotted #333333;
    }

    table.t_houselistbook td {
        border-bottom: 1px dotted #333333;
    }
    
    table.t_houselistbook td.nodots, 
    table.t_houselistbook tr.pinad td, 
    table.t_houselistbook td.total, 
    table.t_houselistbook td.pricemix, 
    table.t_houselistbook td.resterrors {
        border-bottom: 0 none;
    }

    table.t_houselistbook th { 
        background: #ccc; 
        color: #fff; 
        text-transform: uppercase;
    }

    table.t_houselistbook td {
        vertical-align: top;
        padding: .2em .1em;	
    }
    
        table.t_houselistbook td.name label {
            display: inline-block;	
            cursor: pointer;
        }
    
        table.t_houselistbook td.name a.showartinfo {
            display: inline-block;
            margin-left: .5em;
            font-size: .9em;
            text-decoration: none;
        }
    
            table.t_houselistbook td.name a.showartinfo span {
                display: none;
            }
    
            table.t_houselistbook td.name a.showartinfo:before {
                content: '';
                font-family: 'Glyphicons Halflings';
                font-size: 1em;
                padding: 0 .2em;
            }

    table.t_houselistbook td.check {
        padding: .3em .1em 0 .2em !important;
    }	

    table.t_houselistbook th:first-child, 
    table.t_houselistbook td.pricemix, 
    table.t_houselistbook td.resterrors { 
        padding-left: .2em; 
    }
    
    table.t_houselistbook th.right, 
    table.t_houselistbook td.num, 
    table.t_houselistbook tr.pinad td, 
    table.t_houselistbook td.discount,
    table.t_houselistbook td.subtotal, 
    table.t_houselistbook td.total, 
    table.t_houselistbook td.sum {
        text-align: right;
        padding-right: .2em;
    }
    
    table.t_houselistbook tr.pinad td, 
    table.t_houselistbook td.subtotal, 
    table.t_houselistbook td.total {
        font-weight: bold;
    }

    table.t_houselistbook td.subtotal, 
    table.t_houselistbook td.pricemix, 
    table.t_houselistbook td.resterrors {
        padding-top: .5em;
    }

    table.t_houselistbook tr.pinad td {
        white-space: nowrap;
    }

    table.t_houselistbook td.numempty {
        padding-right: 0;
        padding-left: 0;
    }

    table.t_houselistbook td.accomm_images {
        text-align: center;
        /* hack so that the accomm_images column has a minimal width 
         * e.g. needed if there are only pictures for normal accommodation articles but not for special accommodation articles */
        width: .1em;
    }    
    
        table.t_houselistbook td.terms p { 
            line-height: 1.5em; 
            width: 98%; 
            color: #555; 
        }
        table.t_houselistbook td.terms a { 
            color: #333; 
        }

    table.t_houselistbook p.housecontact {
        width: 50%;
    }

    table.t_houselistbook dl.housecontact {
        width: 50%;
        margin: -2.25em 0 0 50%;
    }

        table.t_houselistbook dl.housecontact dt, 
        table.t_houselistbook dl.housecontact dd {
            padding-bottom: .1em;            
        }
        
        table.t_houselistbook td.header p.guests {
            margin-top: .5em;
            padding-top: .5em;
        }

/* booking confirmation dialog 
-------------------------------------------------------------- */

iframe.htmlConf {
    display: block;
    width: 100%;
    height: 100%;
    margin-top: 1.5em;
    border: 0;
}


/* article info popup dialogue 
-------------------------------------------------------------- */

.artheader, 
.artdesc { 
    margin-bottom: .75em 
}
.artdesc { 
    line-height: 1.5em; 
}
table.artprice th { 
    font-weight: bold; 
    padding: .5em 0; 
}
table.artprice td { 
    padding: .2em 1em .2em 0; 
}


/* main part center: article collections (accordion)
-------------------------------------------------------------- */

tr.collection-header {
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

    tr.collection-header td {
        padding: 0;
    }
    
        tr.collection-header td a {
            display: block;
            padding: .2em .1em;
            font-weight: bold;
            text-decoration: none;
            background-color: #eee;
        }  
        
            tr.collection-header a span.count {
                color: #bbb;
                margin-left: 0.3em;
            }
            
            tr.collection-header td a span.open-icon, 
            tr.collection-header td a span.close-icon {
                margin-right: .5em;
                background-color: #dedede;
                border: 1px solid #aaa;
                color: #353535;
                border-radius: .5em;
                text-align: center;
                vertical-align: middle;
                line-height: .75em;
                width: 1em;
                height: 1em;
            }
        
            tr.collection-header td a:hover span.open-icon, 
            tr.collection-header td a:hover span.close-icon {
                background-color: #ccc;
            }
            
            tr.collection-header td a span.close-icon {
                display: inline-block;
            }
            
            tr.collection-header td a span.open-icon {
                display: none;
            }
        
        tr.collection-header.collection-closed td a {
            background-color: #fff;
        }
        
            tr.collection-header.collection-closed td a span.open-icon {
                display: inline-block;
            }
        
            tr.collection-header.collection-closed td a span.close-icon {
                display: none;
            }
            

/* main part left: guest details, payment method
-------------------------------------------------------------- */

#addressbox {
	margin: .5em 0 .5em .5em;
}

    #addressbox input,
    #addressbox select, 
    #addressbox textarea {
        display: block;
        width: 95%;
    }

    #addressbox input[type=radio],
    #addressbox input[type=checkbox] {
        width: 1em;	
    }

    #addressbox #adr_zip {
        display: inline !important;
        width: 20%;
    }

    #addressbox #adr_city {
        display: inline !important;
        width: 70%;
    }

    #addressbox input.readonly {
        border: 1px solid #FFF;
    }

    #addressbox label.radio,
    #addressbox input.radiobox {
        font-weight: normal;
        display: inline;
    }

    #addressbox div.paydetails {
        margin: 0 0 0 1.5em;
    }
    
#terms_accepted_wrap { padding-top: 1em; }
    #terms_accepted_wrap label, 
    #terms_accepted_wrap input { display: inline; }
#terms_accepted_wrap #privacyPolicy { display: inline-block; }
    
#extrainfo2_wrap { padding-top: 1em; padding-bottom: 1em; }
    #extrainfo2_wrap input { float: left; }
    #extrainfo2_wrap label { margin-left: 1.5em; line-height: 1.3em; margin-top: 0; }
    
#savefacebook_wrap { padding: 1em 0; }
    #savefacebook_wrap input { float: left; }
    #savefacebook_wrap label { margin-left: 1.5em; line-height: 1.3em; margin-top: 0; }
   
.termspay {
	border: 1px dotted #aaa;
	background: #E6E6E6;
	width: 95%;
	padding: .2em;
	font-style: italic;
    margin: .2em 0 1em 0;
}

#privacyPolicyWrap {
    margin: 1em 0 .5em 0;
}

/* Saferpay
-------------------------------------------------------------- */

.sp_response {
	padding: 1em;
}

    .sp_response .warning, .sp_response .notice {
        min-width: 250px;
    }

    .sp_response #houseinfo, 
    .sp_response input {
        height: auto;
    }

    
/* promotion code
-------------------------------------------------------------- */

#requestpromocode {
    width: 95%;
}
#promocoderemover {
	width: 1em;
	height: 1em;
	background: transparent url(../imgfront/delete_off.png) no-repeat center bottom;
	border: 0;
	cursor: pointer;
	margin-left: .2em;
}
    #promocoderemover:hover {
        background: transparent url(../imgfront/delete.png) no-repeat center bottom;
    }

    
/* facebook
-------------------------------------------------------------- */

.login_button {
    display: block;
}
.fellow_travelers {
    cursor: default;
}
    .fellow_travelers .faces {
        white-space: nowrap;
        overflow: auto;
    }
    #bookpos .fellow_travelers {
        margin-top: 3em;
    }
    .fellow_travelers h3 {
        margin-bottom: .5em;
    }
    .fellow_travelers h3:before, 
    .fb_share:before {
        content: url("../img/facebook.png");
        vertical-align: top;
        margin: .1em .3em 0 0;
        display: inline-block;
    }
.fb_share {
    font-weight: bold;
}
.traveler {
    display: inline-block;
    width: 50px;
    overflow: hidden;
    margin-right: .3em;
    margin-bottom: 0;
}
    .traveler img {
        display: block;
    }
    .traveler .name {
        display: block;
        text-align: center;
    }

    
/* jQuery overrides
-------------------------------------------------------------- */
#ui-datepicker-div {
	z-index: 99 !important;	
    display: none;
}

table.ui-datepicker-calendar td a.ui-state-active {
    background: url("images/ui-bg_glass_75_e6e6e6_1x400.png") repeat-x scroll 50% 50% #E6E6E6;
    border: 1px solid #D3D3D3;
    color: #555555;
}
table.ui-datepicker-calendar td.ui-datepicker-current-day a.ui-state-active {
    background: url("images/ui-bg_glass_65_ffffff_1x400.png") repeat-x scroll 50% 50% #FFFFFF;
    border: 1px solid #AAAAAA;
    color: #212121;
}

.ui-dialog-titlebar-close {
	display: none !important;
}

.artInfo .ui-dialog-titlebar-close {
	display: block !important;
}

.ui-spinner-input {
    width: 2em;
}

/* helper classes
-------------------------------------------------------------- */
.articles_warning, 
.warning {
    font-weight: bold;
}

.hint {    
	font-style: italic;
}

.box {
	border: none;
}
	
.remove {
	cursor:	pointer !important;
}

.clear {
    overflow: hidden;
	font-size: 0px;
	clear: both;
}


/* important colors
-------------------------------------------------------------- */
.articles_note, .notice{
    background-color: #ffedbc;
    border: 1px solid #eeae01;
}

.articles_warning, 
.warning, 
.hint {
    background-color: #ffcdbc;
    border: 1px solid #ee2e01;
}

.green {
	background: #090 !important;
}

.regular {
	color: #090 !important;
}

.changed, 
.warning, 
.articles_warning {
    color: #900 !important;	
}

.resterrors, 
.promocode_error {
    color: #f00 !important;
}

.hint {
    color: #c00 !important;
}

.article-tag {
    padding: 0.3em;
    margin: 0.2em 0.3em 0;
    cursor: default;
    border-radius: 4px;
    background-color: #eeeef3;
    color: #8b8b8b;
    font-size: 0.7em;
    display: inline-block;
    text-transform: uppercase;
}

.mercanet-form-container {
    margin-top: 20px;
}
.mercanet-form-container input {
    height: auto;
}


/*
make sure, tracking snippet on booking confirmation page is not visible
display: none can't be used because then the jS might not be executed
 */
#finishedTracking {
    width: 0px !important;
    height: 0px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 none !important;
    background: transparent;
    color: transparent;
}
