:root {
    --body-bg: #18272f;
    --body-color: #cce3f0;
    --top-bar-bg: #121d26;
    --top-bar-bottom-border: #111111;
    --top-bar-phone-color: #0CEB15;
    --mm-nav-bg: #1f252b;
    --mm-nav-borders: #2f394a;
    --mm-nav-entry-bg: #232a31;
    --mm-nav-entry-hover: #293139;
    --footer-bg: #161e24;
    --footer-color: #fbfbfb;
    --page-body-top-margin: 3rem;
    --default-max-width: 1240px;
    --default-small-max-width: 700px;
    --default-tablet-horizontal: 960px;
    --default-mobile-horizontal: 600px;
}

.collapse::after { content: '\002B'; float: right; margin-right: 1rem; font-size: 2rem; line-height: inherit; }
.collapse-active::after { content: "\2212"; }
body {
    overflow: scroll;
    letter-spacing: .2px;
    font-family: Arial, Helvetica, sans-serif;
    background-color: var(--body-bg);
    color: var(--body-color);
}

body:nth-child(3) {
    margin-top: -2.4rem;
}

main {
    width: 100%;
    min-height: 100%;
    margin-bottom: 2rem;
}

footer {
    background-color: var(--footer-bg);
    color: var(--footer-color);
    border-top: 1px solid #000000;
}

footer>div {
    max-width: var(--default-max-width);
}

footer>div a {
    color: #ffe5ca;
    display: block;
    margin-bottom: 10px;
}

footer a {
    color: #39f006;
}
.abutton {
	padding: 1rem 1.5rem;
	background-color: #22303e;
	border-radius: 5px;
	color: #98ff7b;
	letter-spacing: .33px;
	border: 1px solid #3b566f;
	min-width: 3rem;
	display: inline-block;
}
.call-button{
	background-color: #76b505;
	color: #000;
	font-weight: bold;
	font-size: 1.4rem;
	border: 4px solid #4c7c8a;
}
.desc-width-small, .width-small {
    width: 100%;
    max-width: var(--default-small-max-width);
}
.desc-width-medium, .width-medium {
	width: 100%;
	max-width: var(--default-tablet-horizontal);
}
.desc-width-max,.width-max {
	width: 100%;
	max-width: var(--default-max-width);
}

.tb {
    border-bottom: 1px solid var(--top-bar-bottom-border);
    background-color: var(--top-bar-bg);
    height: 3rem;
    width: 100%;
}

.tb-nav {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.tb-phone span,
.tb-mail span {
    display: block;
}

.tb-phone {
    background: url('../../images/icons/c/32/phone-green.png');
    background-position: center left;
    text-indent: 3rem;
    font-size: 1.1rem;
}

.tb-phone span::before {
    margin-right: .5rem;
    background: url('../../images/icons/c/32/phone-green.png');
}

.tb-phone span:after {
    content: "0203 7731112";
}

.tb-mail {
    background: url('../../images/icons/c/32/mail-blue.png');
    background-position: center center;
}

.tb-phone,
.tb-mail {
    width: auto;
    display: block;
    float: right;
    margin-right: 1rem;
    min-height: 3rem;
    line-height: 3rem;
    color: var(--top-bar-phone-color);
    min-width: 3rem;
    background-repeat: no-repeat;
}

.nav-icon {
    width: 3rem;
    height: 3rem;
    position: relative;
    outline: none;
    border: none;
    background: inherit;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

.nav-icon span {
    display: block;
    position: absolute;
    height: 2px;
    width: 2rem;
    background: #ffffff;
    border-radius: 3px;
    opacity: 1;
    left: .5rem;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}

.nav-icon span:nth-child(1) {
    top: 11px;
}

.nav-icon span:nth-child(2) {
    top: 22px;
}

.nav-icon span:nth-child(3) {
    top: 33px;
}

.nav-icon.open span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 11px;
    left: .7rem;
    height: 3px;
}

.nav-icon.open span:nth-child(2) {
    width: 0%;
    opacity: 0;
    height: 0;
}

.nav-icon.open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 33px;
    left: .7rem;
    height: 3px;
}

.intro, .base {
    height: calc(100% - 6rem);
    padding-bottom: 5rem;
}
.intro h1,
.intro h2,
.base h1,
.base h2,
.pr-intro h2 {
	width: fit-content;
    max-width: 960px;
    text-align: center;
}
.intro h1, .base h1 {
	margin: 5rem auto 0;
    line-height: 5rem;
    border-bottom: 2px solid aliceblue;
    color: #cec8ff;
    padding: 0 6px;
}
.intro h2, .pr-intro h2, .base h2 {
	margin: 1.5rem auto 3rem;
	line-height: 2rem;
    font-size: 1.4rem;
}
.services h2 {
	padding: 1.5rem .5rem;
	background-color: #0f2228;
	width: 96%;
	max-width: var(--default-max-width);
}
.intro p, .base p {
    text-align: justify;
	line-height: 1.4rem;
	background: inherit;/*111c29*/
	padding: 15px;
	margin-bottom: 2.5rem;
}
.intro p{
	border: 1px solid #3c4b59;
	border-radius: 15px;
}

.intro p.under, .base p.under {
    text-align: center;
    margin: 0 auto 6rem;
    border: none;
    border-radius: unset;
	background-color: inherit;
	padding-top: 0;
}
.base p.bare {
	padding: .3rem;
	margin-top: 0;
	margin-bottom: 0;
	text-align: initial;
}
.base p.bare.c-text {
	text-align: center;
}
.intro p .phone, .base .link {
	color: var(--top-bar-phone-color);
}
.intro .bold {
    max-width: var(--default-max-width);
    background: inherit;/*#0e1822*/
    box-shadow: 0px 0px 5px 2px rgba(136, 136, 136, .5);
    padding: 10px 10px 30px 10px;
    border-radius: 10px;
 }
.intro .bold h2 {
	border-bottom: 1px solid aliceblue;
}
.intro ul {
	width: 96%;
	margin: 1rem auto;
}
.intro ul li::before {
	content: attr(data-icon);/*"\1F5F8";*/
	font-size: 1.5rem;
	margin-right: 1rem;
	color: #0CEB15;
	padding-left: .5rem;
}
.intro ul li:nth-child(odd) {
	background-color: #112a33;
}
.intro ul li:nth-child(even) {
	background-color: #132e37;
}
.intro ul li {
	width: 100%;
	margin: 0 auto .2rem;
	line-height: 2.6rem;
	color: #ffffff;
}
.base.services {
	padding-bottom: 0;
}
.pr-intro {
	width: 100%;
	background-color: #243e46;
	margin: 6rem 0 2rem;
	padding: 2rem 0;
	min-height: 30rem;
}
.pr-intro a {
	color: var(--top-bar-phone-color);
}
.pr-intro p {
	margin: 0 auto .5rem;
	padding: .5rem;
	line-height: 1.2rem;
	max-width: var(--default-small-max-width);
}
.default-tb {
	margin: 0 auto 2rem;
	width: 100%;
	padding: 0;
	border: 1px solid #1e1e1e;
	border-collapse: collapse;
	table-layout: fixed;
	background-color: inherit;
}
.default-tb caption {
	font-size: 1.2rem;
	padding: .5rem;
	background-color: #27343c;
}
.default-tb th {
	color: #eaeaea;
	background-color: #27343c;
	text-align: center;
	vertical-align: middle;
}
.default-tb td, .default-tb th, .default-tb caption{
	border: 1px solid #1e1e1e;
}
.default-tb caption {
	border-bottom: none;
}
.default-tb td, .default-tb th {
	padding: .8rem;
	vertical-align: middle;
}
.default-tb tr {
	background-color: #2c4147;
}
.default-tb.highlight tr:nth-child(even) {
	background-color: #253a40;
}
.default-tb tbody tr td.numeric {
	text-align: right;
}

.desc {
    margin: 1rem auto 2rem;
    display: block;
    padding: 20px 0;
}
.desc.light {
	color: #414141;
	background-color: #fff;
	border: 1px solid #e6e6e6;
}
.desc.light>div, .desc.dark>div{
	-webkit-box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.18);
    -moz-box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.18);
    box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.18);
}
.desc.dark {
	color: inherit;
	background-color: inherit;
}

.desc header {
    width: 100%;
    padding: 1rem 0;
}

.desc h1 {
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    margin: 2rem 0 1rem;
    width: 100%;
}

.desc>div {
    width: 94%;
    margin: 0 auto 1rem;
    padding: 10px;
}
.desc>div.blank {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
.desc>div>h2 {
    width: 100%;
    font-size: 1.2rem;
    font-weight: 600;
    text-indent: 1.5rem;
    text-align: left;
}
.desc h3.relaxed {
	font-size: 1.2rem;
	font-weight: 600;
	text-indent: 1.5rem;
	width: 96%;
	margin-bottom: .5rem;
	text-align: initial;
}
.desc h3.c-text{
	text-align: center;
}
.desc div>p {
    width: 100%;
    margin: .5rem 0;
    line-height: 1.2rem;
    border: none;
    text-align: justify;
}

.desc div>ol {
    width: 90%;
    margin: .5rem auto;
    line-height: 1.1rem;
}

.desc div>ol li {
    list-style: decimal;
    margin-bottom: .2rem;
}
.desc .c-box {
	margin-left: auto;
	margin-right: auto;
}
.desc .c-text {
	text-align: center;
}
.desc p.bare {
	padding: .3rem;
	margin-top: 0;
	margin-bottom: 0;
}
.desc .service-items {
	/*list-style-type: circle;*/
	list-style-position: inside;
	display: block;
	float: left;
	width: 100%;
	min-width: 320px;
	padding: .3rem;
}
.desc .service-items li {
	padding: .5rem;
	margin-left: -.5rem;
	width: 100%;

}
.desc .service-items li::marker {
	content: '✓';
	font-size: 1.2em;
	color: #8C7BFF;
  }
.service-items-group {
	width: 100%;
}
.service-items-group dt, .service-items-group button {
	width: 100%;
	padding: .8rem;
	line-height: 2rem;
	text-align: left;
	border: 1px solid #286671;
	background-color: inherit;
	color: #27bb02;
	border-radius: 5px;
	cursor: pointer;
}
.dl-dropdown button {
	width: 100%;
	padding: .8rem;
	line-height: 2rem;
	text-align: left;
	border: 1px solid #286671;
	color: #27bb02;
	border-radius: 5px;
	cursor: pointer;
	background-color: inherit;
	position: relative;
	z-index: 30;
}
.dl-dropdown {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 300px;
	position: relative;
	background-color: #152228;
}
.dl-dropdown .drop-content {
	border: 1px solid #193f46;
	border-top: 0;
	width: 100%;
	margin: 0 auto;
	color: #549943;
	background-color: #152228;
	position: absolute;
	left: 0;
	top: calc( 3.6rem - 5px );
	z-index: 29;
	padding-top: 5px;
}
.dl-dropdown li:hover {
	opacity: .8;
	background-color: #1f323c;
}
.dl-dropdown a {
	color: #fff;
}
.desc .offer-price{
	font-size: 1.4rem;
	line-height: 2rem;
	color: #3e2434;
	font-weight: bold;
	width: fit-content;
	margin: 0 auto 1rem;
	border-bottom: 1px solid crimson;
}
.desc h3.offer-title{
	font-size: 1.4rem;
	line-height: 2rem;
	color: #fff;
	padding: .7rem 2rem;
	background: #1b7342;
	font-weight: bold;
	width: 100%;
}
.desc .offer-body {
	background: #b2d0df;
	color: #262f2e;
	border: 10px solid #3f5062;
}
.desc q::before,
.desc q::after {
    content: '“';
}
.photo-gallery {
	padding: 10px;
	border: 2px solid #303f42;
}
.photo-gallery a {
	display: inline-block;
}

@media only screen and ( min-width: 961px) {
    .mm-nav+main,
    .mm-nav+article,
    .mm-nav+section {
        padding-top: var(--page-body-top-margin);
    }
    .nav-icon {
        display: none;
    }
    .mm-nav {
        z-index: 100;
        width: fit-content;
        max-width: 1240px;
        height: 3.4rem;
        margin: -.4rem auto calc( var(--page-body-top-margin) * -1);
        background: #ffffff;
        border-bottom: 1px solid #e1e1e1;
        transition: all .12s ease-in-out;
        border-radius: 10px;
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px;
        -webkit-box-shadow: 0px 0px 5px 2px rgba(255, 255, 255, 0.4);
        -moz-box-shadow: 0px 0px 5px 2px rgba(255, 255, 255, 0.4);
        box-shadow: 0px 0px 5px 2px rgba(255, 255, 255, 0.4);
    }
    .mm-nav.moved {
        left: 0;
    }
    .mm-entry {
        display: block;
        float: left;
        width: fit-content;
        height: 3.4rem;
    }
    .mm-entry a {
        color: #1c1225;
        display: block;
        height: 3.4rem;
        line-height: 3.4rem;
        width: 100%;
        padding-top: .9rem;
    }
    .mm-entry a>span {
        height: 1.6rem;
        border-left: 1px solid #09070a;
        display: block;
        line-height: 1.6rem;
        padding: 0 1rem;
    }
    .mm-entry:hover {
        background-color: #f9f9f9;
    }
    .mm-entry a:hover {
        color: #000000;
        text-decoration: underline;
    }
    .mm-entry:first-child {
        border-bottom-left-radius: 10px;
        border-top-left-radius: 10px;
    }
    .mm-entry:last-child {
        border-bottom-right-radius: 10px;
        border-top-right-radius: 10px;
    }
    .mm-entry:first-child a,
    .mm-entry:first-child a>span {
        border-left: none;
    }
}

@media only screen and ( max-width: 960px) {
    .nav-icon {
        display: block;
    }
    .mm-nav {
        /*display: none;*/
        z-index: 1000;
        width: 260px;
        position: absolute;
        top: 3rem;
        bottom: 0;
        left: -260px;
        background: var(--mm-nav-bg);
        height: calc( 100% - 3rem);
        min-height: calc( 100% - 3rem);
        overflow-y: scroll;
        border-right: 6px solid var(--mm-nav-borders);
        border-bottom: 1px solid var(--mm-nav-borders);
        transition: left .18s ease-in-out;
    }
    .mm-nav.moved {
        left: 0;
    }
    .mm-entry {
        width: 100%;
        height: 3rem;
        margin-left: 0;
        background-color: var(--mm-nav-entry-bg);
        border-bottom: 1px solid var(--mm-nav-borders);
    }
    .mm-entry:first-child {
        margin-top: 2rem;
        border-top: 1px solid var(--mm-nav-borders);
    }
    .mm-entry a {
        color: #fff1e4;
        display: block;
        height: 3rem;
        line-height: 3rem;
        width: 100%;
        text-indent: 3rem;
    }
    .mm-entry a:hover {
        background-color: var(--mm-nav-entry-hover);
        border-bottom: 2px solid var(--mm-nav-borders);
    }
    .intro h1, .base h1 {
        text-align: center;
        line-height: 3.5rem;
        font-size: 1.6rem;
    }
    .intro p.under, .base p.under {
		margin: 0 auto 4rem;
	}
	.photo-gallery-single {
		padding: 1rem;
		margin-top: 1rem;
	}
	.photo-gallery {
        margin-top: 2rem;
    }
}

@media only screen and (max-width: 600px) {
    .mm-nav+main,
    .mm-nav+article,
    .mm-nav+section {
        position: relative;
        padding-top: var(--page-body-top-margin);
    }
    .tb {
        position: fixed;
        top: 0;
        z-index: 50;
    }
    .tb-phone {
        background: url('../../images/icons/c/32/phone-green.png');
    }
    .tb-mail {
        background: url('../../images/icons/c/32/mail-blue.png');
    }
    .tb-phone,
    .tb-mail {
        background-repeat: no-repeat;
        background-position: center center;
        width: 3rem;
    }
    .tb-phone span:after,
    .tb-mail span:after {
        content: "";
    }
    .intro {
        padding-bottom: 2rem;
    }
    .intro .bold {
		width: 100%;
		border-radius: 0;
	}
    .intro h1, .base h1  {
        font-size: 1.3rem;
        max-width: 96%;
        line-height: 2.5rem;
    }
    .intro .bold h2, .base .bold h2 {
		width: 96%;
		margin: 1.5rem auto 2rem;
		border-bottom: none;
	}
	.services h2{
		width: 96%;
		margin: 0 auto 2rem;
		border-bottom: none;
		padding: 1.5rem .5rem;
	}
	.services .desc{
		margin-bottom: 0;
		margin-top: 0;
		padding: 3rem 0 0;
		/*border-bottom: 1px solid #000;*/
	}
	.services .dl-dropdown {
		margin-bottom: 1.5rem;
	}
    .intro p.under, .base p.under {
		margin: 0 auto 3rem;
	}
	.intro ul li {
		line-height: 1.6rem;
	}
	.default-tb {
		width: 94%;
	}
	.pr-intro {
		margin: 2rem 0 2rem;
	}
}