#header h2, #footer h2 {color:#000;text-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);}
#wrapper {background:#4973b3;border:1px solid #1c2122;}
div.module {background-color:#dee7e9;}
.mcontainer .mtoggler a {background-color:#5c9742;}
.feature-list .picto {color:#559136;}
#footer-contacts {color:#000;text-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);}
/*
 * Blue 2 refresh
 * The Clean layout uses the palette and accents from the original Basic
 * Blue 2 variant.
 */
:root {
    --deep-950: #20262d;
    --deep-900: #343c44;
    --deep-800: #42566b;
    --deep-700: #4973b3;
    --soft-300: #c9d7e4;
    --soft-200: #dce6ee;
    --soft-100: #edf2f6;
    --cream: #fafcff;
    --ink: #29323b;
    --muted: #66727d;
    --accent: #5c9742;
    --accent-dark: #497c34;
    --sage: #559136;
    --line: rgba(52, 60, 68, .14);
    --shadow: 0 12px 34px rgba(52, 60, 68, .10);
}

html { background: var(--soft-100); }
body {
    background:
        radial-gradient(circle at 12% 2%, rgba(85, 145, 54, .13), transparent 27rem),
        radial-gradient(circle at 92% 24%, rgba(52, 60, 68, .12), transparent 32rem),
        linear-gradient(160deg, #edf1f5 0%, #dce5ed 100%);
    color: var(--ink);
    padding: 4em 0;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

body, input, textarea, button { font-family: "adelle", Georgia, serif; }
a { color: var(--accent-dark); transition: color .18s ease, background-color .18s ease, opacity .18s ease; }
p a:hover, h3 a:hover { color: var(--accent); background: rgba(85, 145, 54, .12); }

#wrapper {
    width: 88%;
    max-width: 1120px;
    min-width: 600px;
    overflow: hidden;
    background: rgba(73, 115, 179, .68);
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 20px;
    box-shadow: 0 28px 80px rgba(52, 60, 68, .22);
}

#header {
    box-sizing: border-box;
    min-height: 11em;
    padding: 3.2em 7%;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 20%, rgba(255, 255, 255, .09), transparent 18rem),
        linear-gradient(135deg, var(--deep-950), var(--deep-800));
    border-radius: 0;
}
#header:after {
    content: "";
    position: absolute;
    right: -4em;
    bottom: -9em;
    width: 24em;
    height: 24em;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 50%;
    box-shadow: 0 0 0 3em rgba(255,255,255,.025), 0 0 0 7em rgba(255,255,255,.018);
    pointer-events: none;
}
#header h1 {
    position: relative;
    z-index: 1;
    margin-top: 0;
    color: var(--cream);
    font-size: 2.65em;
    line-height: 1.05em;
    letter-spacing: -.025em;
}
#header h2 {
    position: relative;
    z-index: 1;
    padding-top: .85em;
    color: var(--soft-300);
    font-size: .82em;
    letter-spacing: .16em;
}
#header a, #footer a { color: var(--cream); text-shadow: none; }
#header-contacts { z-index: 1; top: 3.35em; right: 7%; }
#header-contacts p {
    min-height: 24px;
    margin-bottom: .4em;
    padding: .55em .8em .55em 2.8em;
    background-color: rgba(255,255,255,.07) !important;
    background-position: .65em center !important;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
}
#header-contacts a:hover { color: #fff; background: transparent; opacity: .76; }

#content-wrapper { padding: 1.2em 0; }
div.module {
    box-sizing: border-box;
    margin: 12px 2.2%;
    padding: 2.6em 5.5%;
    background: var(--cream);
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 12px;
    box-shadow: var(--shadow);
}
div.module h2 {
    color: var(--deep-900);
    font-size: 1.65em;
    letter-spacing: -.015em;
}
div.module h2:after {
    content: "";
    display: block;
    width: 2.2em;
    height: 3px;
    margin-top: .55em;
    background: var(--accent);
    border-radius: 2px;
}
.typeset p, .typeset li { color: #29323b; }
.typeset li::marker { color: var(--accent); }

.mtabs { width: 95.6%; margin-top: 14px; }
.mtabs a {
    margin-left: 8px;
    padding: 1.15em 1em;
    background: rgba(52, 60, 68, .82);
    border-radius: 10px 10px 0 0;
    letter-spacing: .02em;
}
.mtabs a:hover { background: var(--deep-900); }
.mtabs .active a {
    color: var(--deep-900);
    background: var(--cream);
    box-shadow: 0 -5px 18px rgba(52,60,68,.07);
}
#mod-multitext {
    margin-top: 0;
    background: var(--cream);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.mcontainer .mcontent { padding: 2.35em 5.5%; }

#mod-features { padding-top: .8em; padding-bottom: 3.5em; }
.feature-list .picto {
    width: 1.15em;
    height: 1.15em;
    margin-bottom: 24px;
    color: var(--accent);
    font-size: 66px;
    line-height: 1.15em;
    text-shadow: none;
}
.feature-list li h3 { color: var(--deep-800); letter-spacing: .08em; }
.feature-list li p { color: var(--muted); }

ul.gallery-s li {
    background: #fff;
    border-radius: 9px;
    box-shadow: 0 8px 22px rgba(52,60,68,.14);
    transition: transform .2s ease, box-shadow .2s ease;
}
ul.gallery-s li:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(52,60,68,.19); }
ul.gallery-s li a { overflow: hidden; border: 6px solid #fff; border-radius: 9px; }
ul.gallery-s li a span { inset: auto 0 0; background: rgba(52,60,68,.80); }

#mod-price_list table { border-color: var(--line); }
#mod-price_list table td, #mod-price_list table th { padding: .65em .7em; border-color: var(--line); }
#mod-price_list table th { color: var(--deep-800); background: var(--soft-200); }
#mod-price_list table tr:nth-child(odd) td { background: rgba(73, 115, 179, .16); }

#mod-billboard, #mod-video { overflow: hidden; }
div#mod-billboard div.slide img, div#mod-video iframe { border-radius: 11px; }
div.slider div.controls li a { opacity: .8; }

ul.articles span.date, .article span.date { color: var(--sage); letter-spacing: .03em; }
ul.articles h3 a { color: var(--accent-dark); }
ul.articles p { color: var(--muted); }
ul.articles li {
    box-sizing: border-box;
    padding: .7em;
    background: rgba(73, 115, 179, .20);
    border: 1px solid var(--line);
    border-radius: 8px;
}

#mod-testimonials { background: var(--deep-900); color: var(--cream); }
#mod-testimonials .quote { color: var(--cream); }
#mod-testimonials .quote:before { content: "“"; color: var(--soft-300); }
#mod-testimonials .quote:after { content: "”"; color: var(--soft-300); }
#mod-testimonials .attribution { color: var(--soft-300); }
#mod-testimonials .testimonal-entry .attribution .div { color: rgba(255,255,255,.35); }

#footer {
    padding: 3em 7%;
    color: var(--soft-200);
    background: var(--deep-900);
    text-shadow: none;
}
#footer h2 { color: var(--soft-300); letter-spacing: .12em; }
#footer-contacts { color: var(--soft-200); }
#footer-contacts a:hover { color: #fff; background: transparent; }
#contact-menu { right: 4%; bottom: 2.3em; }
#contact-menu li a { color: var(--soft-200); }
#contact-menu li a:hover { color: #fff; }
#contact-menu .icon { filter: saturate(.72) sepia(.12); }

.loadmore a { color: var(--accent-dark); background: var(--cream); }
.loadmore a:hover { color: var(--accent); background: #fff; }

@media screen and (max-width: 600px) {
    body { background: var(--soft-100); }
    #wrapper { width: 100%; min-width: 0; border-radius: 0; box-shadow: none; }
    #header { min-height: 0; padding: 2.2em 7%; }
    #header h1 { font-size: 2.1em; }
    #header-contacts { margin-top: 1.4em; }
    #header-contacts p { display: inline-block; box-sizing: border-box; max-width: 100%; }
    #content-wrapper { padding: .45em 0; }
    div.module { margin: 8px 3%; padding: 2em 7%; border-radius: 10px; }
    div.module h2 { font-size: 1.4em; }
    .mcontainer .mtoggler a { background: var(--deep-800); text-shadow: none; }
    #mod-multitext { padding: 0; }
    ul.gallery-s, .minimized ul.gallery-s.more { display: grid; gap: .65em; }
    ul.gallery-s li, ul.gallery-s li.i3 { width: auto; }
    ul.gallery-s li:hover { transform: none; }
    #mod-features { padding-top: 0; }
    #footer { padding: 2.5em 7%; }
    #footer-contacts { float: none; width: 100%; margin: 0; }
    #contact-menu { margin-top: 2.5em; }
}
