/*!
Theme Name: reisetopia
Version: 1.0.1
*/

/*--------------------------------------------------------------
# Icons
--------------------------------------------------------------*/
[class^='icon-']:before,
[class*=' icon-']:before {
    font-family: 'font-awesome';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: 0.2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-left: 0.2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-flight:before {
    content: '\e800';
} /* '' */
.icon-camera:before {
    content: '\e801';
} /* '' */
.icon-search:before {
    content: '\e802';
} /* '' */
.icon-cancel:before {
    content: '\e803';
} /* '' */
.icon-mail:before {
    content: '\e804';
} /* '' */
.icon-comment:before {
    content: '\e805';
} /* '' */
.icon-down-open:before {
    content: '\e806';
} /* '' */
.icon-star:before {
    content: '\e807';
} /* '' */
.icon-star-empty:before {
    content: '\e808';
} /* '' */
.icon-ok-circled2:before {
    content: '\e809';
} /* '' */
.icon-twitter:before {
    content: '\f099';
} /* '' */
.icon-facebook:before {
    content: '\f09a';
} /* '' */
.icon-menu:before {
    content: '\f0c9';
} /* '' */
.icon-thumbs-up-alt:before {
    content: '\f164';
} /* '' */
.icon-instagram:before {
    content: '\f16d';
} /* '' */
.icon-right:before {
    content: '\f178';
} /* '' */
.icon-share:before {
    content: '\f1e0';
} /* '' */
.icon-pinterest:before {
    content: '\f231';
} /* '' */
.icon-whatsapp:before {
    content: '\f232';
} /* '' */
.icon-bed:before {
    content: '\f236';
} /* '' */
.icon-credit-card-alt:before {
    content: '\f283';
} /* '' */
.icon-leaf:before {
    content: '🍂';
} /* '\1f342' */

.social-icon [class^='icon-']:before,
.social-icon [class*=' icon-']:before {
    background: none;
}

/*--------------------------------------------------------------
# HTML & Body Styling
--------------------------------------------------------------*/

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box;
}

body {
    margin: 0;
    background: #eee;
}

html.html-has-lrm {
    overflow: unset !important;
}

html.block-scroll {
    overflow-y: hidden !important;
}

body.block-scroll {
    overflow-y: hidden !important;
    position: fixed;
    width: 100%;
}

body.block-scroll #wpadminbar {
    position: fixed;
}

#page {
    overflow: hidden;
}

/*--------------------------------------------------------------
# Style Fixing
--------------------------------------------------------------*/

input::-ms-clear {
    width: 0;
    height: 0;
}

*,
*:before,
*:after {
    /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
    box-sizing: inherit;
}

/* Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

pre,
code,
kbd,
samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

/* Remove the gray background on active links in IE 10. */
a {
    background-color: transparent;
}

/* Add the correct font weight in Chrome, Edge, and Safari. */
b,
strong {
    font-weight: bold;
}

small {
    font-size: 80%;
}

/* Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Remove the border on images inside links in IE 10. */
img,
amp-img {
    border-style: none;
}

/* 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
}

/* Show the overflow in IE. */
button,
input {
    overflow: visible;
}

/* Remove the inheritance of text transform in Edge, Firefox, and IE. */
button,
select {
    text-transform: none;
}

/* Correct the inability to style clickable types in iOS and Safari. */
button,
[type='button'],
[type='reset'],
[type='submit'] {
    -webkit-appearance: button;
}

/* Remove the inner border and padding in Firefox. */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/* Restore the focus styles unset by the previous rule. */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/* Correct the padding in Firefox. */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/* 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress {
    vertical-align: baseline;
}

/* Remove the default vertical scrollbar in IE 10+. */
textarea {
    overflow: auto;
}

/* 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
[type='checkbox'],
[type='radio'] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/* Correct the cursor style of increment and decrement buttons in Chrome. */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
    height: auto;
}

/* 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type='search'] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
}

/* Remove the inner padding in Chrome and Safari on macOS. */
[type='search']::-webkit-search-decoration {
    -webkit-appearance: none;
}

/* 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
}

/* Add the correct display in Edge, IE 10+, and Firefox. */
details {
    display: block;
}

/* Add the correct display in all browsers. */
summary {
    display: list-item;
}

/* Add the correct display in IE 10+. */
template {
    display: none;
}

/* Add the correct display in IE 10. */
[hidden] {
    display: none;
}

address {
    margin: 0 0 1.5em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
    clear: both;
}

p {
    margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

big {
    font-size: 125%;
}

dt {
    font-weight: bold;
}

dd {
    margin: 0 1.5em 1.5em;
}

img,
amp-img {
    height: auto;
    max-width: 100%;
}

/* Extra wide images within figure tags don't overflow the content area. */
figure {
    margin: 1em 0;
}

/* Do not show the outline on the skip link target. */
#content[tabindex='-1']:focus {
    outline: 0;
}

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
    max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
    display: inline-block;
}

/*--------------------------------------------------------------
# Helper Classes
--------------------------------------------------------------*/
.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
    content: '';
    display: table;
    table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
    clear: both;
}

.hide {
    opacity: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
    color: #232323;
    font-family: 'Titillium Web', 'Open Sans', sans-serif;
    font-size: 16.5px;
    line-height: 1.5;
    font-weight: 300;
}

pre,
code,
kbd,
tt,
var {
    background: #eee;
    font-family: 'Courier 10 Pitch', Courier, monospace;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

/*--------------------------------------------------------------
# Tables
--------------------------------------------------------------*/

table {
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 30px;
    border: 1px solid #e6e6e6;
}

table tr:nth-child(odd) {
    background: #fff;
}
table tr:nth-child(even) {
    background: #fcfcfc;
}

table th {
    background: #e6e6e6;
    padding: 5px 10px;
}

table td {
    padding: 5px 10px;
    text-shadow: none;
}

.reisetopia-table-wrapper {
    border-radius: 8px;

    overflow: hidden;
    overflow-x: auto;
    clear: both;
    width: 100% !important;

    margin-top: 10px;
    margin-bottom: 30px;

    -webkit-box-shadow:
        0px -15px 30px -30px #d7c9c1,
        0px 25px 30px -30px #d7c9c1;
    -moz-box-shadow:
        0px -15px 30px -30px #d7c9c1,
        0px 25px 30px -30px #d7c9c1;
    box-shadow:
        0px -15px 30px -30px #d7c9c1,
        0px 25px 30px -30px #d7c9c1;
}

.reisetopia-table-wrapper table,
.reisetopia-table-wrapper table.wp-block-table.aligncenter {
    width: 100% !important;

    margin-bottom: 0px;
    border: 0;

    height: unset !important;
}

.reisetopia-table-wrapper table tbody {
    border-radius: 8px;
    width: 100% !important;
}

.reisetopia-table-wrapper table tr td,
.reisetopia-table-wrapper table tr th {
    text-align: left;
    padding: 10px 30px;
}

.reisetopia-table-wrapper table :first-child tr:first-of-type td,
.reisetopia-table-wrapper table :first-child tr:first-of-type th {
    padding: 15px 30px;
}

.reisetopia-table-wrapper table tr th:first-of-type,
.reisetopia-table-wrapper table tr td:first-of-type {
    padding-left: 60px !important;
}

.reisetopia-table-wrapper table tr th:last-of-type,
.reisetopia-table-wrapper table tr td:last-of-type {
    padding-right: 60px !important;
}

@media screen and (max-width: 767px) {
    .reisetopia-table-wrapper table tr td,
    .reisetopia-table-wrapper table tr th {
        padding: 8px 20px;
    }

    .reisetopia-table-wrapper table :first-child tr:first-of-type td,
    .reisetopia-table-wrapper table :first-child tr:first-of-type th {
        padding: 12px 20px;
    }

    .reisetopia-table-wrapper table tr th:first-of-type,
    .reisetopia-table-wrapper table tr td:first-of-type {
        padding-left: 20px !important;
    }

    .reisetopia-table-wrapper table tr th:last-of-type,
    .reisetopia-table-wrapper table tr td:last-of-type {
        padding-right: 20px !important;
    }
}

.reisetopia-table-wrapper table :first-child tr:first-of-type td:first-of-type,
.reisetopia-table-wrapper table :first-child tr:first-of-type th:first-of-type {
    border-top-left-radius: 8px;
}

.reisetopia-table-wrapper table :first-child tr:first-of-type td:last-of-type,
.reisetopia-table-wrapper table :first-child tr:first-of-type th:last-of-type {
    border-top-right-radius: 8px;
}

.reisetopia-table-wrapper table :last-child tr:last-of-type td:first-of-type,
.reisetopia-table-wrapper table :last-child tr:last-of-type th:first-of-type {
    border-bottom-left-radius: 8px;
}

.reisetopia-table-wrapper table :last-child tr:last-of-type td:last-of-type,
.reisetopia-table-wrapper table :last-child tr:last-of-type th:last-of-type {
    border-bottom-right-radius: 8px;
}

.reisetopia-table-wrapper table tr {
    color: #2b121d !important;
}

.reisetopia-table-wrapper table :last-child tr:nth-of-type(odd),
.reisetopia-table-wrapper table :last-child tr:nth-of-type(odd) td,
.reisetopia-table-wrapper table :last-child tr:nth-of-type(odd) th {
    background: #f5f0f0 !important;
}
.reisetopia-table-wrapper table :last-child tr:nth-of-type(even),
.reisetopia-table-wrapper table :last-child tr:nth-of-type(even) td,
.reisetopia-table-wrapper table :last-child tr:nth-of-type(even) th {
    background: #fcfbfb !important;
}

.reisetopia-table-wrapper table :first-child tr:first-of-type,
.reisetopia-table-wrapper table :first-child tr:first-of-type td,
.reisetopia-table-wrapper table :first-child tr:first-of-type th {
    background: #db4131 !important;
    color: white !important;
}

.reisetopia-table-wrapper table.with-icon tr th:last-of-type,
.reisetopia-table-wrapper table.with-icon tr td:last-of-type {
    padding-right: 100px; /* 30 + 40 + 30 */
    min-width: 270px; /* 30 + 140 + 30 + 40 + 30 */
}

.reisetopia-table-wrapper table.with-icon :first-child tr:first-of-type td:last-of-type,
.reisetopia-table-wrapper table.with-icon :first-child tr:first-of-type th:last-of-type {
    background-image: url(/wp-content/themes/reisetopia-wordpress-theme/img/reisetopia_logo_white_transparent.png) !important;
    background-size: 40px !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
}

@media screen and (max-width: 767px) {
    .reisetopia-table-wrapper table.with-icon tr th:last-of-type,
    .reisetopia-table-wrapper table.with-icon tr td:last-of-type {
        padding-right: 70px; /* 20 + 30 + 20 */
        min-width: 230px; /* 20 + 140 + 20 + 30 + 20 */
    }

    .reisetopia-table-wrapper table.with-icon :first-child tr:first-of-type td:last-of-type,
    .reisetopia-table-wrapper table.with-icon :first-child tr:first-of-type th:last-of-type {
        background-size: 30px !important;
        background-position: right 20px center !important;
    }
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
    border: 1px solid;
    border-color: #ccc #ccc #bbb;
    border-radius: 3px;
    background: #e6e6e6;
    color: rgba(0, 0, 0, 0.8);
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1;
    padding: 0.6em 1em 0.4em;
}

button:hover,
input[type='button']:hover,
input[type='reset']:hover,
input[type='submit']:hover {
    border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type='button']:active,
input[type='button']:focus,
input[type='reset']:active,
input[type='reset']:focus,
input[type='submit']:active,
input[type='submit']:focus {
    border-color: #aaa #bbb #bbb;
}

input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='search'],
input[type='number'],
input[type='tel'],
input[type='range'],
input[type='date'],
input[type='month'],
input[type='week'],
input[type='time'],
input[type='datetime'],
input[type='datetime-local'],
input[type='color'],
textarea {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 3px;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='number']:focus,
input[type='tel']:focus,
input[type='range']:focus,
input[type='date']:focus,
input[type='month']:focus,
input[type='week']:focus,
input[type='time']:focus,
input[type='datetime']:focus,
input[type='datetime-local']:focus,
input[type='color']:focus,
textarea:focus {
    color: #111;
}

select {
    border: 1px solid #ccc;
}

textarea {
    width: 100%;
}

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
    color: inherit;
    text-decoration: none;
}

a:visited {
    color: inherit;
}

a:hover,
a:focus,
a:active {
    color: #be4335;
}

a:focus {
    outline: thin dotted;
}

a:hover,
a:active {
    outline: 0;
}

/*--------------------------------------------------------------
# Header with Navbar Style
--------------------------------------------------------------*/
#primary-menu {
    display: none;
}

.search-bar {
    display: none;
}

.profile-menu-overlay {
    position: fixed;
    top: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 8;
    overflow: hidden;
    display: none;
}

.rstp-header-banner {
    padding: 10px;
    text-align: center;
    background: #2b121d;
    font-weight: 700;
    letter-spacing: 0.4px;
}

.rstp-header-banner .icon {
    margin-right: 5px;
    margin-bottom: -2px;
}

.rstp-header-banner .text {
    color: white;
    text-decoration: underline;
}

@media screen and (max-width: 767px) {
    .rstp-header-banner {
        font-size: 15px;
    }
}

/*--------------------------------------------------------------
# Category Badges
--------------------------------------------------------------*/

.cat-badge a,
.cat-badge a:hover,
.cat-badge a:visited {
    text-transform: uppercase;
    font-size: 0.7em;
    font-weight: 700;
    padding: 4px 8px;
    height: 24px;
    color: #404040;
    text-decoration: none;
    background-color: #ffffff;
    border-radius: 2px;
}
.cat-badge a.red,
.cat-badge a.red:hover,
.cat-badge a.red:visited {
    background-color: #da3d2c;
    color: #ffffff;
}
.cat-badge a:hover {
    text-decoration: underline;
}

/*--------------------------------------------------------------
# Post Card Style
--------------------------------------------------------------*/

/* Wrapper for Feed */
#primary {
    max-width: 1280px;
    margin: 5px auto;
}

.post_card {
    float: left;
    height: 240px;
    width: 100%;
    padding: 6px;
    position: relative;
    overflow: hidden;
}

.post_card_bg,
.post_card_content {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    -webkit-box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.post_card_bg {
    -webkit-transition: -webkit-box-shadow 0.3s ease-out;
    -moz-transition: -moz-box-shadow 0.3s ease-out;
    transition: box-shadow 0.3s ease-out;
    position: relative;
}

.post_card_bg:before {
    content: '';
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6));
}

.post_card_bg:hover {
    -webkit-box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.5);
}

.post_card_bg img.image,
.post_card_bg picture.image img {
    height: 100%;
    width: 100%;
    object-fit: cover;

    /* For bugfixing article styles when embedding postcard in articles */
    max-width: 100%;
    margin: 0;
}

.post_card_content {
    text-align: center;
    display: flex;
    position: relative;
    z-index: 0;
    justify-content: center;
    flex-direction: column;
    background-color: #fff;
    padding: 16px 32px;
    font-size: 14px;
    line-height: 1.3em;
}

.post_card_content h2 {
    margin: 10px 0px;
}

.post_card_content p {
    margin-top: 10px;
}

.post_card_content .bg-logo-wrap {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    z-index: -1;
}

.post_card_content .bg-logo {
    width: 128px;
    height: 128px;
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translate(30%, 25%);
}

.post_card .cat-badge {
    position: absolute;
    z-index: 1;
    top: 21px;
    left: 21px;
    margin: 0;
    padding: 0;
}

.post_card .price {
    position: absolute;
    z-index: 2;
    top: 15px;
    right: 15px;
    background-color: white;
    margin: 0;
    float: right;
    border-radius: 48px;
    padding: 8px;
    border: 2px solid #ccc;
    font-size: 1em;
    color: #404040;
    font-weight: bold;
}

.post_card .post_card_info .entry-meta {
    color: #ccc;
    font-size: 14px;
}

.post_card .post_card_info .entry-meta .post_card_time {
    width: 0.8em;
    height: 0.8em;
    margin: 0 2px -1px 0;
}

.post_card .post_card_info {
    color: white;
    position: absolute;
    z-index: 1;
    left: 15px;
    bottom: 15px;
    right: 45px;
}

.post_card .post_card_info h2 {
    margin: 0;
    font-size: 1.1em;
}

.post_card .post_card_icons {
    position: absolute;
    z-index: 2;
    bottom: 20px;
    right: 20px;
}

.must-read-article .post_card_bg:before {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
}

.must-read-article .post_card_info {
    position: absolute;
    top: 15px;
    bottom: auto;
    left: 15px;
    width: 80%;
    padding-right: 10px;
    height: 100%;
}

.must-read-article .post_card_info h2 {
    font-weight: 400;
    font-size: 1.3em;
}

.must-read-article .post_card_info .article-link {
    position: absolute;
    bottom: 25px;
    top: auto;
}

@media screen and (min-width: 768px) {
    .post_card {
        width: calc(100% / 2);
        padding: 12px;
    }

    .post_card .cat-badge {
        top: 28px;
        left: 28px;
    }
}

@media screen and (min-width: 1024px) {
    .post_card {
        width: calc(100% * 0.33333);
    }

    .homepage-feed > .post_card:nth-child(5),
    .homepage-feed > .post_card:nth-child(20),
    .homepage-feed > .post_card:nth-child(27),
    .homepage-feed .alm-reveal .post_card:nth-child(1),
    .homepage-feed .alm-reveal .post_card:nth-child(8) {
        width: calc(100% * 0.33333 * 2);
        height: 480px;
    }

    .homepage-feed > .post_card:nth-child(5),
    .homepage-feed > .post_card:nth-child(27),
    .homepage-feed .alm-reveal .post_card:nth-child(8) {
        float: right;
    }

    .homepage-feed > .post_card:nth-child(5) .post_card_info,
    .homepage-feed > .post_card:nth-child(20) .post_card_info,
    .homepage-feed > .post_card:nth-child(27) .post_card_info,
    .homepage-feed .alm-reveal .post_card:nth-child(1) .post_card_info,
    .homepage-feed .alm-reveal .post_card:nth-child(8) .post_card_info {
        font-size: 1.5em;
    }
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/

article {
    padding: 5px 20px;
    font-size: 18px;
}

article img,
article amp-img {
    max-width: 100%;
    margin: 0;
}

.deal-screenshot {
    max-width: 100%;
    margin: 0;
}

.entry-header {
    text-align: center;
    /*height: 320px;*/
    padding: 40px 16px 50px 16px;
    left: 0;
    right: 0;
    color: white;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    height: auto;
}

.entry-header > img,
.entry-header > amp-img,
.entry-header > picture > img,
.entry-header > picture > amp-img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    max-width: 100%;
    margin: 0;
    position: absolute;
    z-index: -2;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}
.entry-header:before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.5));
}

.entry-header.page-header {
    height: 280px;
}

.entry-header .cat-badge a {
    font-size: 0.8em;
}

.entry-header h1 {
    font-size: 1.5em;
    max-width: 960px;
    margin: 20px auto;
}
.entry-header .entry-meta {
    display: flex;
    justify-content: center;
}

.entry-header .entry-meta img,
.entry-header .entry-meta amp-img {
    border-radius: 50%;
    margin: 0 16px;
    height: 48px;
    width: 48px;
}

.entry-header .entry-meta amp-img img {
    margin: 0;
}

.entry-header .entry-meta .author-note {
    margin-top: 12px;
}

.entry-header .entry-meta .author-note a {
    color: white;
}

.entry-header .post_header_icons {
    position: absolute;
    top: 35px;
    right: 20px;
}

@media screen and (max-width: 767px) {
    .entry-header .entry-meta img,
    .entry-header .entry-meta amp-img {
        margin-left: 0;
    }
}

.main-content .entry-price {
    position: absolute;
    z-index: 1;
    margin: auto;
    text-align: center;
    left: 0;
    right: 0;
    top: -18px;
}
.main-content .entry-price__price {
    display: inline-block;
    padding: 8px 13px 10px;
    line-height: 1;
    background-color: #fff;
    border: 2px solid #ccc;
    border-radius: 48px;
    color: #333;
    font-weight: 600;
}

.no-entry-header {
    margin-top: 50px !important;
}

.main-content {
    position: relative;
    z-index: 2;
    margin: -40px auto 0px auto;
    background-color: #ffffff;
    -webkit-box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.1);
}

.teaser,
.teaser-in-page {
    font-style: italic;
    background: #f5f0f0;
    margin-left: -20px;
    margin-right: -20px;
    padding: 10px 20px;
}

.teaser {
    margin-top: -5px;
    margin-bottom: -5px;
    padding-top: 20px;
}

@media screen and (min-width: 768px) {
    .entry-header {
        padding-top: 65px;
        padding-bottom: 65px;
    }

    .entry-header.page-header {
        height: 320px;
    }

    .entry-header h1 {
        font-size: 2em;
    }

    article {
        padding: 20px 50px;
    }

    .teaser,
    .teaser-in-page {
        margin-left: -50px;
        margin-right: -50px;
        padding: 20px 50px;
    }

    .teaser {
        margin-top: -20px;
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
        padding-top: 46px;
    }

    .entry-header .entry-meta img,
    .entry-header .entry-meta amp-img {
        height: 64px;
        width: 64px;
    }

    .entry-header .entry-meta .author-note {
        margin-top: 20px;
    }

    .main-content {
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
        max-width: 90%;
    }

    .main-content.no-entry-header {
        border-bottom-left-radius: 16px;
        border-bottom-right-radius: 16px;
    }
}

@media screen and (min-width: 1080px) {
    .main-content {
        max-width: 960px;
    }

    article {
        padding: 30px 96px;
    }

    .teaser,
    .teaser-in-page {
        margin-left: -96px;
        margin-right: -96px;
        padding: 20px 96px;
    }

    .teaser {
        margin-top: -30px;
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
        padding-top: 46px;
    }
}

h1 {
    font-size: 1.5em;
}

article a,
article a:visited {
    text-decoration: underline;
    color: #da3d2c;
}

article a:hover {
    text-decoration: none;
}

.section-dots.article-end {
    margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
    article .wp-block-media-text.alignwide {
        display: flex;
        flex-direction: column;
    }
}

/*--------------------------------------------------------------
# Page Meilen & Punkte
--------------------------------------------------------------*/

.meilen-punkte h1 {
    font-size: 2.5em;
    margin-top: 10px;
}

.meilen-punkte p {
    color: #ececec;
    padding: 0px 40px;
}

.meilen-punkte-article {
    background: #ffffff;
    max-width: 1600px;
    margin: 0 auto;
}

.quote {
    width: 250px;
    padding: 20px;
    z-index: 0;
    position: relative;
    margin: 0 auto;
    vertical-align: middle;
}
.quote h3 {
    font-size: 2em;
    font-weight: 400;
    text-align: center;
    z-index: 1;
}
.quote img,
.quote amp-img,
.quote .icon {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0;
    height: 100%;
    width: 100%;
    margin: auto;
    z-index: -1;
}

@media screen and (min-width: 600px) {
    .quote {
        margin-bottom: 50px;
        float: left;
        margin-top: 40px;
    }

    .quote-parallel-text {
        width: 50%;
        margin-top: 90px;
        margin-left: 50%;
    }
}
@media screen and (min-width: 1024px) {
    .quote {
        margin-top: 0px;
    }
    .quote-parallel-text {
        margin-left: 400px;
    }
}

.meilen-punkte-inspiration h3 {
    text-align: center;
    font-size: 2em;
}

@media screen and (min-width: 1024px) {
    .meilen-punkte-inspiration .post_card:nth-child(1) {
        height: 480px;
    }
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

.hr {
    height: 2px;
    width: 100%;
    background-color: #eee;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li > ul,
li > ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

blockquote {
    padding: 10px 20px;
    margin: 0 0 30px 0;
    position: relative;
    border: 1px solid #eee;
    border-left: 4px solid black;
    border-radius: 8px;
    overflow: hidden;
}

blockquote cite {
    font-size: 16px;
}

blockquote.red {
    background: #f6cfcb;
    border-left: 4px solid #db4131;
    border-radius: 8px;
}

blockquote.green {
    background: #c5dcdc;
    border-left: 4px solid #365959;
    border-radius: 8px;
}

.reisetopia-centered {
    margin: 0 auto;
    text-align: center;
}

@media (max-width: 767px) {
    .reisetopia-hide-on-mobile {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .reisetopia-hide-on-tablet {
        display: none;
    }
}

@media (min-width: 1025px) {
    .reisetopia-hide-on-desktop {
        display: none;
    }
}

.end-of-article-banner img {
    margin-top: 20px;
    width: 100%;
}

@media (max-width: 500px) {
    .end-of-article-banner-hide-on-mobile {
        display: none;
    }
}

@media (min-width: 501px) {
    .end-of-article-banner-hide-on-desktop {
        display: none;
    }
}

.rstp-breadcrumb {
    font-size: 16px;
    padding-top: 13px;
}

@media screen and (min-width: 768px) {
    .rstp-breadcrumb {
        padding-top: 0;
        padding-bottom: 2px;
        margin-left: -25px;
    }
}

@media screen and (min-width: 1080px) {
    .rstp-breadcrumb {
        padding-top: 0;
        padding-bottom: 12px;
        margin-left: -48px;
    }
}

.rstp-breadcrumb .rstp-breadcrumb-item {
    float: left;
}

.rstp-breadcrumb .rstp-breadcrumb-item a {
    color: #bbb !important;
}

.rstp-breadcrumb .rstp-breadcrumb-separator {
    color: #bbb !important;
    margin: 0 5px;
    display: inline-block;
}

.section-dots {
    text-align: center;
}

.smallRect {
    display: inline-block;
    height: 6px;
    width: 6px;
    transform: rotate(45deg);
    border: 1px solid #f68377;
    margin: 5px;
}

.bigRect {
    display: inline-block;
    height: 8px;
    width: 8px;
    transform: rotate(45deg);
    border: 1px solid #f68377;
    margin: 4px;
}

.entry-header.page-header .section-dots .smallRect {
    border: 1px solid #ffffff;
}
.entry-header.page-header .section-dots .bigRect {
    border: 1px solid #ffffff;
}

.section-breaker {
    text-align: center;
}

.section-breaker h2 {
    padding-top: 32px;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.end-section-breaker {
    padding-top: 32px;
    margin-bottom: 32px;
    clear: both;
}

.spinning-wheel {
    clear: both;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 10px;
}

.spinning-wheel img,
.spinning-wheel amp-img {
    width: 30px;
}

.arrow-right {
    width: 32px;
    height: 8px;
    margin-left: 16px;
}

.spinning-wheel-right {
    width: 18px;
    margin: -5px 4px -5px 23px;
}

.arrow-left {
    width: 32px;
    height: 8px;
    margin-top: 24px;
    margin-right: 8px;
}

#toc_container {
    border-left: 2px solid #da3d2c;
    border-radius: 8px;
    width: 100%;
    margin: 32px auto;
    display: table;
    font-size: 95%;
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.1);
}

#toc_container .toc_title {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 0 16px;
    padding: 16px;
}

#toc_container .fhr {
    height: 1.1px;
    width: 100%;
    background-color: #eee;
}

#toc_container ul {
    margin: 10px 32px 24px 32px;
    padding: 0;
    list-style: none;
    text-transform: uppercase;
    font-weight: 900;
    font-size: 13px;
    letter-spacing: 1px;
}

#toc_container ul li {
    margin: 16px 16px 16px 0;
}

#toc_container ul li:before {
    content: '\2192';
    margin-right: 8px;
}

#toc_container ul li ul {
    list-style: circle;
    margin-left: 35px;
}

#toc_container ul li ul li:before {
    content: '';
    margin-right: 0;
}

#toc_container ul li a {
    text-decoration: none;
    color: #da3d2c;
}

#toc_container ul li a:hover {
    text-decoration: underline;
}

@media screen and (min-width: 768px) {
    #toc_container {
        width: 75%;
        margin: 48px auto;
    }
}

.call-to-action {
    margin: 10px auto 16px auto;
    text-transform: uppercase;
}

.call-to-action.multiple {
    vertical-align: middle;
    display: table;
    table-layout: fixed;
    border-collapse: separate;
    width: 100%;
    border-spacing: 10px;
}

.call-to-action a,
.call-to-action a:hover,
.call-to-action a:visited {
    padding: 15px 18px;
    color: #fff;
    font-size: 14px;
    border-radius: 12px;
    background: linear-gradient(90deg, #bf2e2c 0.17%, #e66849 100%);
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    /*display: table-cell;*/
    display: inline-block;
    vertical-align: middle;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    float: none;
    overflow-wrap: break-word;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

.call-to-action a:hover,
.call-to-action a:visited {
    background: linear-gradient(90deg, #992523 0.17%, #cc5c41 100%);
}

.call-to-action.green a,
.call-to-action.green a:hover,
.call-to-action.green a:visited {
    background: linear-gradient(to bottom right, #2b4b4b, #4b8989);
}

.call-to-action.green a:hover,
.call-to-action.green a:visited {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.5);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.5);
}

.call-to-action.multiple a {
    display: table-cell;
}

.call-to-action.light a,
.call-to-action a:nth-child(2) {
    background: none;
    color: #2b121d;
    border: 1px solid #bcbdbe;
}

.call-to-action.light a:hover,
.call-to-action.light a:visited,
.call-to-action a:nth-child(2):hover,
.call-to-action a:nth-child(2):visited {
    background-color: #f5f0f0;
}

.call-to-action.green.light a,
.call-to-action.green.light a:hover,
.call-to-action.green.light a:visited,
.call-to-action.green a:nth-child(2),
.call-to-action.green a:nth-child(2):hover,
.call-to-action.green a:nth-child(2):visited {
    color: #2b4b4b;
}

@media (max-width: 425px) {
    .call-to-action.multiple a {
        padding: 10px 5px;
    }
}

.alm-btn-wrap {
    text-align: center;
    clear: both;
    margin-bottom: 20px;
}

.alm-btn-wrap button {
    padding: 15px 18px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    border-radius: 12px;
    border: 1px solid #bcbdbe;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    hyphens: auto;
    background: none;
    color: #2b121d;
    text-transform: uppercase;
    margin-top: 15px;
}
.alm-btn-wrap button.done {
    display: none;
}

.alm-btn-wrap button:hover {
    background-color: #f5f0f0;
}

/* In Ajax Load More Auflistungen Datestamp herausnehmen */
.alm-reveal .entry-meta {
    display: none;
}

@media screen and (min-width: 1024px) {
    /* ALM in posts are quite narrow, so keep 2 items per row instead of 3 */
    .main-content .alm-listing .post_card {
        width: calc(100% / 2);
        padding: 8px;
    }

    .main-content .postcards-count-3 .post_card,
    #page .postcards-count-3 .post_card {
        width: calc(100% / 3) !important;
        padding: 4px !important;
    }

    .main-content .postcards-count-2 .post_card,
    #page .postcards-count-2 .post_card {
        width: calc(100% / 2) !important;
        padding: 4px !important;
    }
}

/* On tablets, the last item would look weird so hide it until the user loads more items */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .alm-reveal:last-child:nth-child(odd) .post_card:nth-child(odd):last-child {
        display: none;
    }
}

.neu-hier-artikel {
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center;
    color: #ffffff;
    text-align: center;
    padding: 40px;
    margin: 0px -20px;
}

@media screen and (min-width: 768px) {
    .neu-hier-artikel {
        margin: 0px -50px;
        padding-bottom: 60px;
        text-align: left;
    }
    .neu-hier-artikel-content {
        width: 300px;
        margin-left: 100px;
    }
    .neu-hier-artikel h2 {
        font-size: 2em;
        margin-bottom: 10px;
    }
    .neu-hier-artikel .section-dots {
        text-align: left;
    }
}

@media screen and (min-width: 1080px) {
    .neu-hier-artikel {
        margin: 0px -96px;
    }
    .neu-hier-artikel-content {
        margin-left: 300px;
    }
}

.neu-hier-artikel .section-dots .smallRect,
.neu-hier-artikel .section-dots .bigRect {
    border-color: #ffffff;
}

.neu-hier-artikel .call-to-action {
    display: inline;
}

.deal-carousel-wrapper {
    height: 100%;
    max-height: 280px;
}
@media (max-width: 425px) {
    .deal-carousel-wrapper {
        max-height: 295px;
    }
}

/*--------------------------------------------------------------
# Custom Search Header
--------------------------------------------------------------*/

.entry-header.page-header.custom-search-header {
    height: 260px;
    padding-top: 20px;
}

.entry-header.page-header.custom-search-header h1 {
    font-size: 2.5em;
}

.custom-search-wrapper {
    width: 90%;
    height: 50px;
    max-width: 600px;
    margin: -25px auto 5px auto;
    display: flex;
}

.custom-search-wrapper .custom-search-input {
    height: 100%;
    flex: 1;
    border: none;
    border-radius: 5px 0px 0px 5px;
    padding: 0px 15px;
    outline: none;
}

.custom-search-wrapper .custom-search-button {
    height: 100%;
    color: #ffffff;
    line-height: 50px;
    padding: 0px 15px;
    font-size: 14px;
    background: linear-gradient(90deg, #bf2e2c 0.17%, #e66849 100%);
    cursor: pointer;
    border-radius: 0px 5px 5px 0px;
}

/*--------------------------------------------------------------
# Icons Colors
--------------------------------------------------------------*/

.icon-color-red.fill use,
.icon-color-red.fill path {
    fill: #db4131;
}
.icon-color-red.stroke use,
.icon-color-red.stroke path {
    stroke: #db4131;
}
.icon-color-grey.fill use,
.icon-color-grey.fill path {
    fill: #cdcdcd;
}
.icon-color-grey.stroke use,
.icon-color-grey.stroke path {
    stroke: #cdcdcd;
}
.icon-color-light-grey.fill use,
.icon-color-light-grey.fill path {
    fill: #f2f1f2;
}
.icon-color-light-grey.stroke use,
.icon-color-light-grey.stroke path {
    stroke: #f2f1f2;
}
.icon-color-light-silver.fill use,
.icon-color-light-silver.fill path {
    fill: #ebebeb;
}
.icon-color-light-silver.stroke use,
.icon-color-light-silver.stroke path {
    stroke: #ebebeb;
}
.icon-color-dark-grey.fill use,
.icon-color-dark-grey.fill path {
    fill: #898989;
}
.icon-color-dark-grey.stroke use,
.icon-color-dark-grey.stroke path {
    stroke: #898989;
}
.icon-color-white.fill use,
.icon-color-white.fill path {
    fill: #ffffff;
}
.icon-color-white.stroke use,
.icon-color-white.stroke path {
    stroke: #ffffff;
}
.icon-color-black.fill use,
.icon-color-black.fill path {
    fill: #000000;
}
.icon-color-black.stroke use,
.icon-color-black.stroke path {
    stroke: #000000;
}
.fill-none use,
.fill-none path {
    fill: none;
}
.stroke-none use,
.stroke-none path {
    stroke: none;
}
.icon-stroke-width-2,
.icon-stroke-width-2 path {
    stroke-width: 2px;
}

/*--------------------------------------------------------------
# Clearfix
--------------------------------------------------------------*/

.clearfix:after {
    content: '.';
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix {
    display: inline-block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}

#body_cc #input_cc,
#body_cvc #input_cvc {
    width: 100%;
}

/*--------------------------------------------------------------
# Critical CSS
--------------------------------------------------------------*/
.center-navigation-menu-dropdown {
    display: none;
}

.account-menu {
    display: none;
}

.hamburger-menu {
    display: none;
}

.header-navigation .hamburger-menu-close-icon {
    display: none;
}

.header-navigation .account-button,
.header-navigation .account-icon {
    display: none;
}

/*--------------------------------------------------------------
# AMP
--------------------------------------------------------------*/

.amp-only {
    display: none;
}
