/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

/*Debug hide*/
.debug {
    display: none;
}

html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    background-color: #000000;
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
.lvl0 .item a:hover,
.lvl0 .item a.act,
.lvl0 .item a.cur {
    color: #9C0A15 !important;
}

.page {
    position: absolute;
    min-height: 780px;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 10;
    overflow: hidden;
}

.bg_slide {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    -webkit-transition: top 0.5s ease;
    -moz-transition: top 0.5s ease;
    -o-transition: top 0.5s ease;
    -ms-transition: top 0.5s ease;
    transition: top 0.5s ease;
}
    .bg_slide img {
        width: 100%;
        height: auto;
    }

.header {
    padding-top: 10px;
}

    .header ul {
        list-style-type: none;
    }

    .header > .top {
        padding-left: 50px;
        padding-bottom: 20px;
        -webkit-transition: padding-left 0.5s ease;
        -moz-transition: padding-left 0.5s ease;
        -o-transition: padding-left 0.5s ease;
        -ms-transition: padding-left 0.5s ease;
        transition: padding-left 0.5s ease;
    }

        .lang-menu {
                float: left;
                width: 95px;
                margin: 0 0 0 10px;
                padding: 0;
                font: normal 11px/30px Tahoma, sans-serif;
                word-spacing: 10px;
                color: #b5b5b5;
                list-style: none outside none;
            }
                .lang-menu li {
                    float: left;
                    margin-right: 5px;
                }
                    .lang-menu a {
                        color: #b5b5b5;
                        text-decoration: none;
                    }

                    .lang-menu .act {
                        color: #ffffff;
                    }

        .search {
            float: left;
            margin-left: 100px;
            -webkit-transition: margin-left 0.5s ease;
            -moz-transition: margin-left 0.5s ease;
            -o-transition: margin-left 0.5s ease;
            -ms-transition: margin-left 0.5s ease;
            transition: margin-left 0.5s ease;
        }
            .search input {
                background: #737373;
                background: rgba(115,115,115,0.6);
                color: #aaaaaa;
                font: normal 18px/30px 'Anton', sans-serif;
                border: 0 none;
                padding: 0 0 0 10px;
                margin: 0;
                width: 110px;
            }

        .login-buttons {
            position: absolute;
            top: 10px;
            right: 420px;
            z-index: 1000;
        }
            .login-buttons .element {
                cursor: pointer;
                padding: 0 10px;
                background: #000000;
                color: #ffffff;
                font: normal 18px/30px 'Anton', sans-serif;
            }

                .login-buttons .element .form {
                    display: none;
                    font: normal 10px Arial, sans-serif;
                    padding: 10px 0;
                }

                    .login-buttons .element .text {
                        width: 147px;
                        text-align: center;
                    }

                    .login-buttons .element .login-field label {
                        display: inline-block;
                        width: 80px;
                    }

                    .login-buttons .element .login-field input[type=text],
                    .login-buttons .element .login-field input[type=password] {
                        width: 60px;
                    }

        .contact-tel {
            position: absolute;
            width: 21.428em;
            top: -0.714em;
            right: 0;
            z-index: 20;
            font: normal 14px/1.571em Tahoma, sans-serif;
            padding: 2.143em;
            margin: -1.014em 0.714em 0 0;
            background: #9c0a15 url('../img/sprite.png') no-repeat -315px 30px;
            color: #ffffff;
            -moz-transform: rotate(-5deg) translate3d(0,0,0);
            -webkit-transform: rotate(-5deg) translate3d(0,0,0);
            -o-transform: rotate(-5deg) translate3d(0,0,0);
            -ms-transform: rotate(-5deg) translate3d(0,0,0);
            transform: rotate(-5deg) translate3d(0,0,0);
            -webkit-transition: font-size 0.5s ease, background-position 0.5s ease, right 0.5s ease;
            -moz-transition: font-size 0.5s ease, background-position 0.5s ease, right 0.5s ease;
            -o-transition: font-size 0.5s ease, background-position 0.5s ease, right 0.5s ease;
            -ms-transition: font-size 0.5s ease, background-position 0.5s ease, right 0.5s ease;
            transition: font-size 0.5s ease, background-position 0.5s ease, right 0.5s ease;
        }
            .contact-tel a.tel {
                font: normal 1.571em/1em 'Anton', sans-serif;
                text-decoration: none;
                color: #ffffff;
            }
            .contact-tel a.mail {
                display: block;
                position: absolute;
                right: 70px;
                bottom: 5px;
                color: #ffffff;
                -webkit-transition: right 0.5s ease;
                -moz-transition: right 0.5s ease;
                -o-transition: right 0.5s ease;
                -ms-transition: right 0.5s ease;
                transition: right 0.5s ease;
            }

    .header .main-menu-wrap {
        position:relative;
        width: 100%;
        z-index: 1;
    }

        #partnerlogos {
            position: absolute;
            top: 0;
            left: 235px;
        }
            #partnerlogos img {
                height: 40px;
                width: auto;
                float: left;
            }
            #partnerlogos img + img {
                margin-left: 5px;
            }

        .header .mlogo {
            position: absolute;
            top: 0;
            left: 0;
            z-index: 10;
            margin-top: 2px;
            margin-left: 50px;
            width: 170px;
            height: auto;
            -webkit-transition: width 0.5s ease, margin 0.5s ease;
            -moz-transition: width 0.5s ease, margin 0.5s ease;
            -o-transition: width 0.5s ease, margin 0.5s ease;
            -ms-transition: width 0.5s ease, margin 0.5s ease;
            transition: width 0.5s ease, margin 0.5s ease;
        }

        .header .main-menu-wrap {
            height: 100px;
            z-index: 1;
        }

        .main-menu {
            position: absolute;
            top: 50px;
            left: 235px;
            right: 0;
            z-index: 5;
            min-width: 1085px;
            -webkit-transition: min-width 0.5s ease;
            -moz-transition: min-width 0.5s ease;
            -o-transition: min-width 0.5s ease;
            -ms-transition: min-width 0.5s ease;
            transition: min-width 0.5s ease;
        }
            .main-menu .lvl0,
            .main-menu .lvl-1 {
                display: inline;
                margin: 0;
                padding: 0;
            }
                .main-menu ul {
                    list-style-type: none;
                }
                .main-menu .lvl0 > .item {
                    float: left;
                    font: normal 23px/50px 'Anton', sans-serif;
                    background: #ffffff;
                    position: relative;
                    -webkit-transition: font-size 0.5s ease, line-height 0.5s ease;
                    -moz-transition: font-size 0.5s ease, line-height 0.5s ease;
                    -o-transition: font-size 0.5s ease, line-height 0.5s ease;
                    -ms-transition: font-size 0.5s ease, line-height 0.5s ease;
                    transition: font-size 0.5s ease, line-height 0.5s ease;
                }
                .main-menu .lvl0 > .item.first > a {
                    padding-left: 50px;
                }
                .main-menu .lvl0 > .item.last > a {
                    padding-right: 50px;
                }
                    .main-menu .lvl0 > .item > a,
                    .main-menu .lvl-1 > .item > a {
                        display: block;
                        color: #525051;
                        padding: 0 30px;
                        text-decoration: none;
                        text-transform: uppercase;
                        -webkit-transition: padding 0.5s ease;
                        -moz-transition: padding 0.5s ease;
                        -o-transition: padding 0.5s ease;
                        -ms-transition: padding 0.5s ease;
                        transition: padding 0.5s ease;
                    }
                    .main-menu .lvl0 > .info {
                        float: right;
                    }
                        .main-menu .lvl0 > .info .open {display: none;}
                        .main-menu .lvl1 {
                            display: none;
                            position: absolute;
                            top: 50px;
                            left: 0px;
                            margin: 0;
                            width: 100%;
                            padding: 0 0 10px;
                            background: #ffffff;
                        }
                        .main-menu .item.hover > .lvl1 {
                            display: block;
                        }
                            .main-menu .lvl1 > .item {
                                margin: 0 20px;
                                border-top: 1px solid #d7d5d6;
                                text-align: center;
                            }
                                .main-menu .lvl1 > .item > a {
                                    font: normal 12px/36px Tahoma, sans-serif;
                                    text-transform: uppercase;
                                    text-decoration: none;
                                    color: #525051;
                                }

                                .main-menu .lvl2 {
                                    margin: 0 0 10px;
                                    padding: 0;
                                    width: 100%;
                                }

                                    .main-menu .lvl2 > .item {
                                        margin: 0 20px;
                                        border-top: 1px dashed #d7d5d6;
                                        text-align: center;
                                    }

                                        .main-menu .lvl2 > .item > a {
                                            display: block;
                                            font: normal 11px/20px Tahoma, sans-serif;
                                            text-decoration: none;
                                            color: #525051;
                                        }

            .main-menu .lvl-1 .homebtn {
                display: none;
            }

        .legal-menu {
            float: right;
            font: normal 11px/50px Tahoma, sans-serif;
            background: #ffffff;
            -webkit-transition: line-height 0.5s ease;
            -moz-transition: line-height 0.5s ease;
            -o-transition: line-height 0.5s ease;
            -ms-transition: line-height 0.5s ease;
            transition: line-height 0.5s ease;
        }
            .legal-menu a {
                display: block;
                float: left;
                color: #878586;
                text-decoration: none;
                text-transform: uppercase;
                margin: 0 10px;
            }

            .appStoreWrap {
                display: block;
                position: absolute;
                top: 125px;
                right: 15px;
                max-height: 115px;
                max-width: 350px;
            }

                .appStore {
                    display: block;
                    height: 43px;
                    margin: 0 0 15px 15px;
                    float: right;
                }

        .header > .bot {
            min-height: 550px;
        }
             .social-menu {
                background: #000000 url('../img/sprite.png') no-repeat 0 -134px;
                position: absolute;
                top: 300px;
                left: 0;
                width: 47px;
                padding-top: 77px;
                text-align: center;
                font-size: 30px;
            }
                .social-menu a {
                    display: block;
                    height: 30px;
                    width: 31px;
                    display: block;
                    text-decoration: none;
                    margin: 5px;
                    margin-bottom: 10px;
                }
                .fb-color {
                    color: #3b5998;
                }
                .gp-color {
                    color: #db4a39;
                }
                .tw-color {
                    color: #00a0d1;
                }
                .pt-color {
                    color: #910101;
                }

        .content-wrapper {
            position: absolute;
            top: 390px;
            right: 35px;
            width: 640px;
        }
        .content-box {
            background: url('/fileadmin/templates/img/holz.jpg') no-repeat 0 0;
            width: 600px;
            max-height: 175px;
            color: #ffffff;
            padding: 20px;
        }
        .content-box-inhalt {
            width: 600px;
            height: 175px;
        }
        .content-box-close {
            position: absolute;
            top: -30px;
            right: 21px;
            color: #ffffff;
            cursor: pointer;
        }
        .content-box-close.closed {
            font-size: 30px;
            font-weight: bold;
            margin-right: -5px;
        }
        .content-box h1 {
            font: 35px/1em 'Anton', sans-serif;
            text-transform: uppercase;
            margin: 0;
            text-shadow: 2px 2px 0 #000000;
        }
        .content-box h2 {
            font: bold 15px/24px 'Tahoma', sans-serif;
            margin: 2px;
            text-shadow: 2px 2px 0 #000000;
        }
        .content-box p {
            font: 14px/16px 'Tahoma', sans-serif;
            text-shadow: 2px 2px 0 #000000;
        }
        .content-menu {
            float: right;
            width: 306px;
            margin-top: -15px;
            margin-right: 64px;
            -webkit-transition: margin 0.5s ease, width 0.5s ease;
            -moz-transition: margin 0.5s ease, width 0.5s ease;
            -o-transition: margin 0.5s ease, width 0.5s ease;
            -ms-transition: margin 0.5s ease, width 0.5s ease;
            transition: margin 0.5s ease, width 0.5s ease;
        }
            .content-menu-ul {
                list-style-type: none;
                margin: 0;
                padding: 0;
            }
                .content-menu-ul .item {display: inline;}


    .footer {
        background-color: #000000;
        position: absolute;
        width: 100%;
        bottom: 0;
        font: 11px/18px Tahoma, sans-serif;
        color: #aaaaaa;
    }

        .footer .footerbox {
            padding: 0 25px 10px;
        }

        .footer a{
            font: 11px/18px Tahoma, sans-serif;
            color: #aaaaaa;
            text-decoration: none;
        }

            .footer .bot .contact-info {
                float: left;
            }

            .footer .bot .backlink {
                display: block;
                float: right;
                color: #aaaaaa;
                text-decoration: none;
                padding-right: 27px;
                background: url('../img/sprite.png') no-repeat -221px -49px
            }

/* QUICKREQUEST */

.quickrequest h2 {
    font: 30px/1.5em 'Anton', sans-serif;
    color: #cc0000;
    text-transform: uppercase;
    margin: 0;
}

.quickrequest a {
    text-decoration: none;
    display: block;
}

.quickrequest ul {
    list-style-type: none;
    padding: 0;
    padding-bottom: 10px;
    margin: 0;
}

.quickrequest li {
    padding-right: 30px;
    float: left;
}

.quickrequest label {
    display: block;
    padding-left: 5px;
    font: 12px/18px Tahoma, sans-serif;
    color: #aaaaaa;
}

.quickrequest .submit_wbe {
    margin-top: 17px;
    padding: 0 10px;
    font: 13px/1em 'Anton', sans-serif;
    text-transform: uppercase;
    background-color: #ffffff;
    -webkit-transition: font-size 0.5s ease;
    -moz-transition: font-size 0.5s ease;
    -o-transition: font-size 0.5s ease;
    -ms-transition: font-size 0.5s ease;
    transition: font-size 0.5s ease;
}

.ie7 .quickrequest .submit_wbe {
    padding: 0 10px;
}

    .quickrequest .submit_wbe .icon {
        display: inline-block;
        font-size: 1em;
        line-height: 1em;
        width: 1em;
        color: #ffffff;
        background: #000000;
        margin-left: 5px;
        -webkit-border-radius: 1em;
        border-radius: 1em;
    }

/* SPRITE */



.sprite {
    background: url('../img/sprite.png');
    background-repeat: no-repeat;
    width: 64px;
    height: 64px;
    float: left;
    margin-left: 10px;
}
    .bedIcon {
        background-position: 0 0;
    }
    .cutleryIcon {
        background-position: -65px 0;
    }
    .cityIcon {
        background-position: 0 -64px;
    }
    .infoIcon {
        background-position: -65px -63px;
    }
    .bubbleIcon {
        background-position: -154px -72px;
        width: 176px;
        height: 81px;
    }

.hid_title {
    overflow: hidden;
    display: none;
    font: normal 11px/15px Tahoma, sans-serif;
    color: #ffffff;
    text-align: center;
    -webkit-transition: width 0.5s ease, height 0.5s ease;
    -moz-transition: width 0.5s ease, height 0.5s ease;
    -o-transition: width 0.5s ease, height 0.5s ease;
    -ms-transition: width 0.5s ease, height 0.5s ease;
    transition: width 0.5s ease, height 0.5s ease;
}
    .bed-color {
        background: #4c320f;
    }
    .cutlery-color {
        background: #7f9eba;
    }
    .city-color {
        background: #6e7444;
    }
    .info-color {
        background: #89622b;
    }

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   Theses examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (max-width: 1340px) {
    .search {
        margin-left: 50px;
    }

    .header .mlogo {
        width: 115px;
        margin-top: 20px;
    }

    #partnerlogos {
        left: 180px;
    }

    .main-menu {
        min-width: 0;
        left: 180px;
    }

        .main-menu .lvl0 > .item {
            font-size: 16px;
            line-height: 42px;
        }
            .main-menu .lvl0 > .item.first > a {
                padding-left: 30px;
            }
            .main-menu .lvl0 > .item > a {
                padding: 0 25px;
            }
            .main-menu .lvl0 > .item.last > a {
                padding-right: 30px;
            }

            .main-menu .lvl1 {
                top: 42px;
            }

        .legal-menu {
            line-height: 42px;
            position: absolute;
            right: 0;
            top: -42px;
            background: none;
        }
}

@media only screen and (max-width: 985px) {
    .login-buttons {
        right: auto;
        left: 325px;
    }
}

@media only screen and (max-width: 875px) {

    #partnerlogos {
        top: -23px;
        left: 60px;
    }

    .main-menu {
        left: auto;
    }
        .main-menu .lvl0 > .item.first > a {
            padding-left: 25px;
        }
        .main-menu .lvl0 > .item > a {
            padding: 0 15px;
        }
        .main-menu .lvl0 > .item.last > a {
            padding-right: 25px;
        }

    .footer {
        background-color: #000000;
        position: static;
        width: 100%;
        bottom: 0;
        font: 11px/18px Tahoma, sans-serif;
        color: #aaaaaa;
    }

    .contact-info {
        display: block;
    }

    .contact-tel {
        font-size: 11px;
        background-position: -317px 15px;
        right: -90px;
    }
        .contact-tel a.mail {
            right: 90px;
        }
}

@media only screen and (max-width: 750px) {

    .login-buttons {
        left: 165px;
        top: 55px;
    }
        .login-buttons .element {
            border: 1px solid #ffffff;
        }

    #partnerlogos {
        left: 20px;
    }

    .bg_slide {
        position: absolute;
        top: 175px;
    }

    .page {
        min-width: 320px
    }

    .header > .top {
        padding-left: 10px;
    }

    .header .mlogo {
        margin-left: 10px;
    }

    .header > .bot {
        min-height: 465px;
    }

    .main-menu {
        min-width: 0;
        height: auto;
        left: 80px;
        top: 45px;
        padding: 10px;
        background: #ffffff;
    }

    .main-menu .lvl0,
    .main-menu .lvl1,
    .main-menu .lvl2 {
        display: none;
        position: relative;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 0;
        margin: 0;
    }

    .hotel-menu .lvl0,
    .main-menu .lvl0 {
        border-top: 1px solid #999999;
    }

    .main-menu .lvl-1 .homebtn {
        display: block;
        text-align: center;
        margin: 0;
        padding: 0;
    }

        .main-menu .lvl-1 .item {
            width: 100%;
            float: none;
            margin: 0;
        }
        .main-menu .lvl-1 > .item {
            float: left;
            font: normal 23px/50px 'Anton', sans-serif;
            background: #ffffff;
            position: relative;
            z-index: 1000;
            -webkit-box-shadow: 0px 3px 5px 1px #E0E0E0;
            box-shadow: 0px 3px 5px 1px #E0E0E0;
        }
            .main-menu .lvl0 a,
            .main-menu .lvl0 .first a,
            .main-menu .lvl0 .last a {
                display: block;
                padding: 0 20px 0 50px !important;
                text-align: center;
            }

            .main-menu .item.hover > .lvl0,
            .main-menu .item.hover > .lvl2 {
                display: block;
            }
        .main-menu .lvl0 > .item {
            border-bottom: 1px solid #D7D5D6;
        }
            .main-menu .lvl1 > .item {
                border-top: 1px dashed #D7D5D6;
            }
                .main-menu .lvl2 > .item {
                    border-top: 1px dotted #D7D5D6;
                }

    .content-wrapper {
        width: 100%;
        right: 0;
    }

        .content-box {
            width: 100%;
            padding: 20px 0;
        }
            .content-box-inhalt {
                margin: 0 20px;
                width: auto;
            }

        .content-box-close {
            display: none;
        }

        .content-menu {
            margin-top: -290px;
            margin-right: 0;
            width: 100%;
            text-align: center;
        }
            .content-menu .item {
                display: inline-block;
                margin-left: 10px;
            }
                .content-menu a {
                    display: inline-block;
                    text-decoration: none;
                }
                    .content-menu .sprite {
                        display: inline-block;
                        float: none;
                        margin: 0;
                    }
        .click-icon {
            display: inline-block;
            position: relative;
            width: 23px;
            height: 23px;
            background: #000;
            color: #FFF;
            border-radius: 23px;
            margin-right: 5px;
        }

            .click-icon .icon {
                position: absolute;
                left: 0;
            }
            .click-icon .top {top: -2px;}
            .click-icon .bot {top: 4px;}

            .main-menu .link {
                text-align: center;
                cursor: pointer;
            }
}

@media only screen and (max-width: 520px) {
    .search,
    .login-buttons {
        display: none;
    }
}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
