#contents iframe {border:0px;max-width:100%;}

a.phone {
    color: inherit;
    font-weight: bold;
}
 
p {
    margin: 0 0 1em 0;
    line-height: 1.5em;
}

h1 {
   font-family: var(--sec-font-family);
    font-size: 2.25rem;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.2em;
    margin: 0;
    padding: 0.5rem 0 2.5rem 0;
    word-break: break-word;
}

.h1left h1 {
    float: left;
    width: 62.5%;
}

@media screen and (max-width: 800px) {
    .h1left h1 { width: 100%; }
}

h2 {
   font-family: var(--sec-font-family);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1em;
    margin: 0;
    padding: 1.9rem 0 1rem 0;
    word-break: break-word;
}

/* section headings on listings/grids (was .caption/.chapter divs) */
h2.eg-heading {
    font-size: 2.3rem;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1em;
    padding: 1.9rem 0 2.3rem 0;
    flex: 0 0 100%;
}

h2.eg-heading.small {
    font-size: 1.5rem;
    margin: 1.65rem 0;
    padding: 0;
}

h2.eg-heading.spaced {
    padding: 0;
    margin: 3.2rem 0 1.65rem 0;
}

h2.eg-heading.compact {
    padding: 0.5rem 0 1.5rem 0;
    margin: 0;
}

h2.eg-heading.rail {
    padding: 0;
    margin: 0;
}

input[type="text"], textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    font-family: var(--input-font-family);
    font-weight: 300;
    color: var(--text-color);
}

input:focus-visible {
    outline: 2px solid #bedd00;
    outline-offset: 0.15rem;
}

.easy { color: #1da5db; }
.medium { color: #de0010; }
.hard { color: black; }

blockquote {
    position:relative;
   font-family: var(--sec-font-family);
    font-size: 1.35rem;
    font-weight: 300;
    line-height: 1.5em;
    margin: 1.3rem 0 1.3rem 0;
    padding:1.5rem 2rem;
    background: url('../images/blockquote-top.png') 0 0 no-repeat;
}
blockquote::after {
  content:''; position:absolute;right:0;bottom:0;
  margin: 0;
    padding: 1.9rem;
    background: url('../images/blockquote-bottom.png') 100% 100% no-repeat;
}


img.pin {
    position: absolute;
    top: 0;
    left: 0;
}

img.pin-right {
    position: absolute;
    top: 0;
    right: 0;
}

/* editorial intro / lead paragraph (NOT the clamped box excerpt, see layout.css .short) */
div#contents div#list-items-left.intro,
#contents div.left > div.intro,
#contents div.tabs div.intro {
    font-size: 1.35rem;
    margin: 0 1.9rem 1.2em 0;
}

@media screen and (max-width: 600px) {
    div#contents div#list-items-left.intro,
    #contents div.left > div.intro,
    #contents div.tabs div.intro {
        font-size: 1.15rem;
        margin-bottom: 1em;
    }
}

p.route-segment-name {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.5rem;
    margin-top: 1.9rem;
}

p.route-segment-short {
    font-weight: bold;
}

.editor_text_short p {
    font-family: var(--main-font-family);
    font-weight: 400;
    color: var(--text-color);
    font-size: 1.35rem;
    margin: 0 1.9rem 1.2em 0;
    line-height: 1.2em;
}

.editor_text p {
    margin: 0 0 1em 0;
    line-height: 1.5em;
}

.main_heading {
    font-family: var(--sec-font-family);
    font-size: 2.3rem;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.2em;
    margin: 0;
    padding: 0.65rem 0 1.3rem 0;
    word-break: break-word;
}

@media screen and (max-width: 600px) {
    .main_heading { font-size: 2rem; }
}

.tabs table,
.features table {
    display: block !important;
}

.tabs tr,
.features tr {
    background-color: transparent !important;
    height: auto !important;
}

.tabs td,
.features td {
    background-color: transparent !important;
    vertical-align: top !important;
    padding: 0 1.9rem 0.65rem 0 !important;
}

.tabs table img,
.features img {
    float: left;
    padding-top: 0.4rem;
}

.tabs table tr td h2,
.features h2 {
    font-family: var(--sec-font-family);
    font-size: 2.3rem;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.2em;
    margin: 0;
    padding: 0.65rem 0 1.3rem 0;
    word-break: break-word;
}

.tabs table tr td h3,
.features h3 {
    padding: 0 0 0.5em 0 !important;
    text-transform: uppercase !important;
    color: var(--text-color) !important;
    font-family: var(--sec-font-family) !important;
    font-size: 1.3rem !important;
    line-height: 1.2em !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

.tabs table tr td p,
.features p {
    font-size: 0.9rem !important;
    font-family: var(--main-font-family);
    margin: 0 0 1em 0 !important;
    line-height: 1.5em !important;
}

.tabs table tr td strong,
.features strong {
    font-family: var(--main-font-family);
    font-size: 1rem;
    font-weight: 600 !important;
}



#slider div.slides div.slide span.txt {
    position: absolute;
    top: 38.461538462%;
    left: 2.083333333%;
    
    font-family: var(--sec-font-family);
    font-size: 2.3rem;
    line-height: 1em;
    color: white;
    text-transform: uppercase;
    margin-right: 11.2rem;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
    opacity: 0;
}

#slider div.slides div.slide span.title {
    display: block;
    padding: 0.45rem 0 0 0;
    font-size: 4.5rem;
    line-height: 1em;
    color: white;
    text-transform: uppercase;
}

body.lt #primary-nav li.txt > a span.txt {
    padding: 0 0.7rem;
}

body.lt #primary-nav li.txt a {
    font-size: 1rem;
}
/* ===== Video wrapper ===== */

div.video-wrapper {
    position: relative;
    height: 0;
    line-height: 0;
}

div.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/* --- Image contract: figures, alignment, ratio, decorations ---
 * The editor keeps <img class="image"> (responsive) and may wrap it in
 * <figure> + <figcaption>. The only display-size knob is an inline
 * max-width em cap; source pixels stay independent of display size. */

#contents  figure {
    margin: 0 0 1em;
}

#contents  figure img.image {
    width: 100%;
    height: auto;
    display: block;
}

#contents  figcaption {
    font-size: 0.9em;
    color: #666;
    line-height: 1.35;
    margin-top: 0.35em;
}

/* orientation: inline margins written by the editor win over these defaults */

#contents  img.image.align-left,
#contents  figure.align-left {
    float: left;
    margin-top: 0.3em;
    margin-right: 1.2em;
    margin-bottom: 1em;
    margin-left: 0;
}

#contents  img.image.align-right,
#contents  figure.align-right {
    float: right;
    margin-top: 0.3em;
    margin-right: 0;
    margin-bottom: 1em;
    margin-left: 1.2em;
}

#contents  img.image.align-center,
#contents  figure.align-center {
    display: block;
    float: none;
    margin-left: auto;
    margin-right: auto;
}

/* aspect-ratio boxes: the box owns the ratio, the image fills it */

#contents  img.ratio-16-9,
#contents  figure.ratio-16-9 { aspect-ratio: 16 / 9; }
#contents  img.ratio-4-3,
#contents  figure.ratio-4-3 { aspect-ratio: 4 / 3; }
#contents  img.ratio-3-2,
#contents  figure.ratio-3-2 { aspect-ratio: 3 / 2; }
#contents  img.ratio-1-1,
#contents  figure.ratio-1-1 { aspect-ratio: 1 / 1; }

#contents  img.image.ratio-16-9,
#contents  img.image.ratio-4-3,
#contents  img.image.ratio-3-2,
#contents  img.image.ratio-1-1 {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* optional decoration classes offered by the editor */

#contents  img.image.bordered,
#contents  figure.bordered {
    border: 1px solid #d6d6c1;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

#contents  img.image.rounded,
#contents  figure.rounded {
    border-radius: 8px;
}

/* small screens: un-float so images collapse to full width */

@media (max-width: 600px) {
    #contents  img.image.align-left,
    #contents  img.image.align-right,
    #contents  figure.align-left,
    #contents  figure.align-right,
    #contents  figure.fig-mini-left,
    #contents  figure.fig-mini-right {
        float: none;
        display: block;
        margin: 0 0 1em;
    }
}

/* the editor's own preview mirrors the same contract */

.jodit-wysiwyg img.image {
    max-width: 100%;
    height: auto;
}

.jodit-wysiwyg figure { margin: 0 0 1em; }
.jodit-wysiwyg figure img.image { width: 100%; height: auto; display: block; }
.jodit-wysiwyg figcaption { font-size: 0.9em; color: #666; margin-top: 0.35em; }

.jodit-wysiwyg img.align-left,
.jodit-wysiwyg figure.align-left { float: left; margin: 0.3em 1.2em 1em 0; }
.jodit-wysiwyg img.align-right,
.jodit-wysiwyg figure.align-right { float: right; margin: 0.3em 0 1em 1.2em; }
.jodit-wysiwyg img.align-center,
.jodit-wysiwyg figure.align-center { display: block; float: none; margin-left: auto; margin-right: auto; }

.jodit-wysiwyg img.ratio-16-9 { aspect-ratio: 16 / 9; object-fit: cover; }
.jodit-wysiwyg img.ratio-4-3 { aspect-ratio: 4 / 3; object-fit: cover; }
.jodit-wysiwyg img.ratio-3-2 { aspect-ratio: 3 / 2; object-fit: cover; }
.jodit-wysiwyg img.ratio-1-1 { aspect-ratio: 1 / 1; object-fit: cover; }

.jodit-wysiwyg img.image.bordered,
.jodit-wysiwyg figure.bordered { border: 1px solid #d6d6c1; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12); }
.jodit-wysiwyg img.image.rounded,
.jodit-wysiwyg figure.rounded { border-radius: 8px; }

/* --- Preset image classes (bordered variants + shaded), editor-written --- */
#contents  img.image.bordered-red,
#contents  figure.bordered-red { border-color: #b3261e; }
#contents  img.image.bordered-green,
#contents  figure.bordered-green { border-color: #2e7d32; }

#contents  img.image.shaded,
#contents  figure.shaded {
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}
#contents  img.image.shaded-black,
#contents  figure.shaded-black {
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
#contents  img.image.shaded-white,
#contents  figure.shaded-white {
    border-radius: 8px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
}

.jodit-wysiwyg img.image.bordered-red,
.jodit-wysiwyg figure.bordered-red { border-color: #b3261e; }
.jodit-wysiwyg img.image.bordered-green,
.jodit-wysiwyg figure.bordered-green { border-color: #2e7d32; }
.jodit-wysiwyg img.image.shaded,
.jodit-wysiwyg figure.shaded { border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25); }
.jodit-wysiwyg img.image.shaded-black,
.jodit-wysiwyg figure.shaded-black { border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); }
.jodit-wysiwyg img.image.shaded-white,
.jodit-wysiwyg figure.shaded-white { border-radius: 8px; box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12); }

/* --- Preset figure classes (template modes), editor-written --- */
#contents  figure.fig-plain { margin: 0 0 1em; }
#contents  figure.fig-border {
    margin: 0 0 1em;
    padding: 0 0 0.5em;
    border: 1px solid #d6d6c1;
    border-radius: 6px;
}
#contents  figure.fig-border figcaption { padding: 0 0.6em; }
#contents  figure.fig-callout {
    margin: 0 0 1em;
    padding: 0.6em 0.8em 0.5em;
    background: #f4f4ee;
    border-left: 4px solid #d6d6c1;
}
#contents  figure.fig-callout figcaption { margin-top: 0.3em; }
#contents  figure.fig-mini { width: 45%; }
#contents  figure.fig-mini-left { float: left; margin: 0.3em 1em 1em 0; }
#contents  figure.fig-mini-right { float: right; margin: 0.3em 0 1em 1em; }
#contents  figure.fig-mini img.image,
#contents  figure.fig-mini-right img.image,
#contents  figure.fig-mini-left img.image { width: 100%; height: auto; }

.jodit-wysiwyg figure.fig-plain { margin: 0 0 1em; }
.jodit-wysiwyg figure.fig-border {
    margin: 0 0 1em;
    padding: 0 0 0.5em;
    border: 1px solid #d6d6c1;
    border-radius: 6px;
}
.jodit-wysiwyg figure.fig-border figcaption { padding: 0 0.6em; }
.jodit-wysiwyg figure.fig-callout {
    margin: 0 0 1em;
    padding: 0.6em 0.8em 0.5em;
    background: #f4f4ee;
    border-left: 4px solid #d6d6c1;
}
.jodit-wysiwyg figure.fig-callout figcaption { margin-top: 0.3em; }
.jodit-wysiwyg figure.fig-mini { width: 45%; }
.jodit-wysiwyg figure.fig-mini-left { float: left; margin: 0.3em 1em 1em 0; }
.jodit-wysiwyg figure.fig-mini-right { float: right; margin: 0.3em 0 1em 1em; }
.jodit-wysiwyg figure.fig-mini img.image,
.jodit-wysiwyg figure.fig-mini-right img.image,
.jodit-wysiwyg figure.fig-mini-left img.image { width: 100%; height: auto; }

/* ===== Tables (prettify / stacked) ===== */
div#contents table{
  height:auto;
  max-width: 100%;
}


div#contents table.prettify {
    width: 100%;
    border-collapse: collapse;
    border: 0;
    text-align: left;
}

div#contents table.prettify td {
    text-align: left;
    border: 1px dotted #d6d6c1;
}

div#contents table.prettify th {
    text-align: left;
    border: 1px dotted #f5f5ec;
}

div#contents table.prettify tr:nth-child(n),
div#contents table.prettify td:nth-child(n),
div#contents table.prettify th:nth-child(n) {
    border: 0;
}

div#contents table.stacked {
    display: none;
}

div#contents table.prettify td,
div#contents table.prettify th {
    vertical-align: middle;
    padding: 0.65rem 1rem;
}

div#contents table.prettify thead tr {
    height: 4.5rem;
    padding: 0;
}

div#contents table.prettify thead th {
    vertical-align: bottom;
    background: #d6d6c1;
}

div#contents table.prettify thead th[scope=row] {
    background: none;
}

div#contents table.prettify thead th:nth-child(2n) {
    background: #c8c8a6;
}

div#contents table.prettify tbody tr {
    height: 3.2rem;
    padding: 0;
    background: #fefefa;
}

div#contents table.prettify tbody tr:nth-child(2n) {
    background: #f3f3ef;
}

div#contents table.prettify tbody tr td:nth-child(2n) {
    background: #f5f5ec;
}

div#contents table.prettify tbody tr:nth-child(2n) td:nth-child(2n) {
    background: #e7e7da;
}

div#contents table.prettify tbody tr:hover:nth-child(n) td:nth-child(n),
div#contents table.prettify tbody tr:hover:nth-child(n) th:nth-child(n) {
    background: #dfdfce;
}

@media screen and (max-width: 600px) {
    div#contents table.prettify { display: none; }
    div#contents table.stacked {
        display: block;
        width: 100%;
        border-collapse: collapse;
    }
    div#contents table.stacked tr {
        display: block;
        padding: 0.65rem 0;
        border-bottom: 1px solid #d6d6c1;
    }
    div#contents table.stacked td {
        display: block;
        padding: 0.15rem 0;
    }
    div#contents table.stacked td:before {
        content: attr(data-label) ": ";
        font-weight: bold;
    }
}

/* --- Preset table classes (stripes + header variants), editor-written --- */
div#contents table.stripes {
    border-collapse: collapse;
    width: 100%;
}
div#contents table.stripes tbody tr:nth-child(2n) {
    background: #f0f0ea;
}
div#contents table.stripes-green-header thead th {
    background: #2e7d32;
    color: #fff;
}
div#contents table.stripes-black-header thead th {
    background: #212121;
    color: #fff;
}

.jodit-wysiwyg table.stripes {
    border-collapse: collapse;
    width: 100%;
}
.jodit-wysiwyg table.stripes tbody tr:nth-child(2n) {
    background: #f0f0ea;
}
.jodit-wysiwyg table.stripes-green-header thead th {
    background: #2e7d32;
    color: #fff;
}
.jodit-wysiwyg table.stripes-black-header thead th {
    background: #212121;
    color: #fff;
}

/* ===== Tabs ===== */

div#contents ul.tabs {
    list-style: none;
    margin: 0 0 1.3rem 0;
    padding: 0;
    float: left;
}

div#contents ul.tabs li {
    float: left;
    padding: 0.45rem 0 0 0;
    margin: 0 0.05rem 0 0;
    position: relative;
}

div#contents ul.tabs li a {
    display: block;
    height: 2.3rem;
    line-height: 2.3rem;
   font-family: var(--sec-font-family);
    font-size: 1.15rem;
    font-weight: 300;
    padding: 0 1em;
    background: white;
    color: #808080;
}

div#contents ul.tabs li a:hover {
    background: #cccccc;
    text-decoration: none;
}

div#contents ul.tabs li.active {
    background-color: var(--bg-color);
}

div#contents ul.tabs li.active:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -0.45rem;
    left: 50%;
    margin-left: -0.25rem;
    border-style: solid;
    border-width: 8px 8px 0px 8px;
    border-color: var(--bg-color) transparent transparent transparent;
}

div#contents ul.tabs li.specialoffers a {
    color: red !important;
}

div#contents ul.tabs li.active a {
    color: white;
    background: none;
}

div#contents div.tabs {
    display: none;
}

div#contents div#overview-tab {
    display: block;
}

div#contents div.tabs h2 {
    word-break: normal;
}

@media screen and (max-width: 600px) {
    div#contents ul.tabs li a { font-size: 0.9rem; }
}

@media screen and (max-width: 480px) {
    div#contents ul.tabs li { width: 100%; }
}

/* ===== Options / specialoffers ===== */


div#contents div.specialoffers {
    padding-bottom: 1.3rem;
}

div#contents div.specialoffers .book {
    border: 1px solid gray;
    padding: 1.3rem;
}

div#contents div.specialoffers .book .btn-green {
    color: white;
    font-size: 1.5rem;
    height: 2.9rem;
    line-height: 2.9rem;
    padding: 0 1.3rem;
}

div#contents div.specialoffers .book .note {
    font-size: 0.75rem;
    font-weight: bold;
}

/* ===== Link button presets (editor-written demo classes) ===== */

#contents  a.link-solid {
    display: inline-block;
    padding: 0.3em 0.9em;
    color: #fff;
    background: #3070aa;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
}
#contents  a.link-solid-red { background: #d93025; }
#contents  a.link-solid-green { background: #2e7d32; }

#contents  a.link-pill {
    display: inline-block;
    padding: 0.25em 0.9em;
    color: #3070aa;
    background: #fff;
    border: 1px solid #3070aa;
    border-radius: 999px;
    text-decoration: none;
}
#contents  a.link-pill-outline {
    color: #6a6f7a;
    border-color: #c9ced6;
}

#contents  a.link-plain {
    color: #3070aa;
    text-decoration: underline;
}

@media (max-width: 600px) {
    #contents  a.link-solid,
    #contents  a.link-pill {
        white-space: nowrap;
    }
}

/* the editor's own preview mirrors the same contract */

.jodit-wysiwyg a.link-solid {
    display: inline-block;
    padding: 0.3em 0.9em;
    color: #fff;
    background: #3070aa;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
}
.jodit-wysiwyg a.link-solid-red { background: #d93025; }
.jodit-wysiwyg a.link-solid-green { background: #2e7d32; }

.jodit-wysiwyg a.link-pill {
    display: inline-block;
    padding: 0.25em 0.9em;
    color: #3070aa;
    background: #fff;
    border: 1px solid #3070aa;
    border-radius: 999px;
    text-decoration: none;
}
.jodit-wysiwyg a.link-pill-outline {
    color: #6a6f7a;
    border-color: #c9ced6;
}

.jodit-wysiwyg a.link-plain {
    color: #3070aa;
    text-decoration: underline;
}

/* EnterGauja audio classes (audio-properties dialog) */
.jodit-wysiwyg audio.aud-wide {
    display: block;
    width: 100%;
    max-width: 100%;
}

.jodit-wysiwyg audio.aud-center {
    display: block;
    margin: 0 auto;
}

/* ===== k-templates: template row / cell grid (page content) =====
 * The 12-column grid the template blocks (k-row[data-k-tid] with k-col
 * children) are laid out with — this stylesheet is the single source.
 * Loaded by public pages, the Jodit editor iframe (iframeCSSLinks) and
 * the thumbmaker kit. Jodit edit-mode affordances (dashed outlines) live
 * in the plugin's k-templates.css / BLOCK_CSS and are outline-only, so
 * they never affect this layout. */

.k-row[data-k-tid] {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1.25em;
    max-width: 100%;
    margin: 0;
}
.k-row[data-k-tid][data-k-flex="false"] {
    display: block;
    grid-template-columns: none;
    gap: 0;
}
.k-row[data-k-tid] > * {
    min-width: 0;
}
.k-col {
    min-width: 0;
    margin: 0;
}
.k-col-1 { grid-column: span 1; }
.k-col-2 { grid-column: span 2; }
.k-col-3 { grid-column: span 3; }
.k-col-4 { grid-column: span 4; }
.k-col-5 { grid-column: span 5; }
.k-col-6 { grid-column: span 6; }
.k-col-7 { grid-column: span 7; }
.k-col-8 { grid-column: span 8; }
.k-col-9 { grid-column: span 9; }
.k-col-10 { grid-column: span 10; }
.k-col-11 { grid-column: span 11; }
.k-col-12 { grid-column: span 12; }
.k-col-auto { grid-column: auto; }
