/* 
	Table of Contents

    01. Settings ----------------------------------
    02. Generic -----------------------------------
    03. Base --------------------------------------
         Small Desktop ----------------------------
         Tablet Portrait --------------------------
    04. Fonts -------------------------------------
    05. Helpers -----------------------------------
         Clear ------------------------------------
         Notext -----------------------------------
         Hidden -----------------------------------
         Alignleft --------------------------------
         Alignright -------------------------------
         Disabled ---------------------------------
         Grid -------------------------------------
         Small Desktop ----------------------------
         Tablet Portrait --------------------------
         Responsive Helpers -----------------------
         Tablet Portrait --------------------------
    06. Reset -------------------------------------
    07. Regions -----------------------------------
    08. Container ---------------------------------
    09. Content -----------------------------------
    10. Footer ------------------------------------
         Small Desktop ----------------------------
         Tablet Portrait --------------------------
    11. Header ------------------------------------
         Tablet Portrait --------------------------
    12. Header-alt --------------------------------
         Small Desktop ----------------------------
         Tablet Portrait --------------------------
    13. Main --------------------------------------
    14. Shell -------------------------------------
         Tablet Portrait --------------------------
    15. Sidebar -----------------------------------
    16. Wrapper -----------------------------------
         Tablet Portrait --------------------------
    17. Modules -----------------------------------
    18. Article -----------------------------------
         Tablet Portrait --------------------------
         Tablet Portrait --------------------------
    19. Button ------------------------------------
         Button Block -----------------------------
         Tablet Portrait --------------------------
    20. Contacts ----------------------------------
         Tablet Portrait --------------------------
    21. Contacts-primary --------------------------
         Small Desktop ----------------------------
         Tablet Portrait --------------------------
    22. Form Elements -----------------------------
    23. Form --------------------------------------
         Tablet Portrait --------------------------
    24. List --------------------------------------
    25. Logo --------------------------------------
    26. Nav ---------------------------------------
         Small Desktop ----------------------------
         Tablet Portrait --------------------------
    27. Nav-utils ---------------------------------
    28. Section -----------------------------------
         Small Desktop ----------------------------
         Tablet Portrait --------------------------
    29. Slider ------------------------------------
    30. Table -------------------------------------
    31. Widget ------------------------------------
    32. Themes ------------------------------------
 */

/* ------------------------------------------------------------ *\
	Settings
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Generic
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Base
\* ------------------------------------------------------------ */

body { min-width: 320px; background: #fff; font-family: 'Ubuntu', sans-serif; line-height: 1.54; color: #606961; letter-spacing: 0.01em; font-size: 17px; }

a { color: #802b50; text-decoration: none; -webkit-transition: color .3s; -o-transition: color .3s; transition: color .3s; }

a:hover { color: #e5006a; }

a:hover,
a[href^="tel"] { text-decoration: none; }

h1, .h1,
h2, .h2,
h3,	.h3,
h4,	.h4,
h5, .h5,
h6, .h6 { color: #802b50; margin-bottom: 0.77em; font-weight: 700; }

h1, .h1 { font-size: 28px; letter-spacing: 0.02em; margin-bottom: 11px; line-height: 1; }

h2, .h2 { font-size: 19px; }

h3, .h3 { font-size: 17px; }

h4 { font-size: 15px; }

ul.unstyled { list-style-type: none; }

ul:not(.unstyled) { list-style-type: none; }

ul:not(.unstyled) > li { position: relative; padding-left: 11px; }

ul:not(.unstyled) > li:before { position: absolute; left: 0; top: .6em; width: 5px; height: 5px; border-radius: 50%; background-color: #802b50; content: ''; }

p,
ul,
ol,
dl,
hr,
table,
blockquote { margin-bottom: 25px; }

/* Small Desktop */

@media (max-width: 1200px) {
	p,
	ul,
	ol,
	dl,
	hr,
	table,
	blockquote { margin-bottom: 20px; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {

	h1, .h1 { font-size: 24px; line-height: 1.23; margin-bottom: 10px; }
	h2, .h2 { font-size: 16px; }
	h3, .h3 { font-size: 17px; }

	body { font-size: 15px; line-height: 1.47; }

	p,
	ul,
	ol,
	dl,
	hr,
	table,
	blockquote { margin-bottom: 22px; }
}

h1[class],
h2[class],
h3[class],
h4[class],
h5[class],
h6[class],
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,
table:last-child,
blockquote:last-child { margin-bottom: 0; }

/* ------------------------------------------------------------ *\
	Fonts
\* ------------------------------------------------------------ */

@font-face {
    font-family: 'Teko';
    src: url('../fonts/Teko-Medium.woff2') format('woff2'),
        url('../fonts/Teko-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Ubuntu';
    src: url('../fonts/Ubuntu-Bold.woff2') format('woff2'),
        url('../fonts/Ubuntu-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Ubuntu';
    src: url('../fonts/Ubuntu-Regular.woff2') format('woff2'),
        url('../fonts/Ubuntu-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* ------------------------------------------------------------ *\
	Helpers
\* ------------------------------------------------------------ */

.text-primary { font-weight: 700; color: #802b50; }

.is-invisible { opacity: 0; visibility: hidden; }

/*  Clear  */

.clear:after { content: ''; display: block; clear: both; }

/*  Notext  */

.notext { overflow: hidden; text-indent: 101%; white-space: nowrap; }

/*  Hidden  */

[hidden],
.hidden { display: none !important; }

/*  Alignleft  */

.alignleft { float: left; }

/*  Alignright  */

.alignright { float: right; }

/*  Disabled  */

[disabled],
.disabled { cursor: default; }

/*  Grid  */

.row { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin-left: -15px; margin-right: -15px; }

.row.large-gutter { margin-left: -30px; margin-right: -30px; }

.row.large-gutter > .col { padding-left: 30px; padding-right: 30px; }

.col { max-width: 100%; -webkit-box-flex: 1; -ms-flex: 1 1; flex: 1 1; padding-left: 15px; padding-right: 15px; }

.col--1of2 { max-width: 50%; -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; }

.col--1of4 { -webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; }

/* Small Desktop */

@media (max-width: 1200px) {
	.row.large-gutter { margin-left: -15px; margin-right: -15px; }
	.row.large-gutter > .col { padding-left: 15px; padding-right: 15px; }

	.row { margin-left: -10px; margin-right: -10px; }
	.row > .col { padding-left: 10px; padding-right: 10px; }

	.row.no-gutter-mobile { margin-bottom: 0px; }
	.row.no-gutter-mobile > .col { padding-bottom:0px; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.row { display: block; }
	.row,
	.row.large-gutter { margin-left: 0; margin-right: 0; margin-bottom: -20px; }

	.row.large-gutter > .col,
	.row > .col { max-width: 100%; padding-left: 0; padding-right: 0; padding-bottom: 20px; }
}

/*  Responsive Helpers  */

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-medium-below-inline-block,
.visible-medium-below-block,
.visible-lg-inline-block { display: none !important; }

@media (max-width: 767px) {
	.hidden-xs { display: none !important; }
	.visible-xs-block { display: block !important; }
	.visible-xs-inline { display: inline !important; }
	.visible-xs-inline-block { display: inline-block !important; }
}

@media (min-width: 768px) and (max-width: 1023px) {
	.hidden-sm { display: none !important; }
	.visible-sm-block { display: block !important; }
	.visible-sm-inline { display: inline !important; }
	.visible-sm-inline-block { display: inline-block !important; }
}

@media (min-width: 1024px) and (max-width: 1200px) {
	.hidden-md { display: none !important; }
	.visible-md-block { display: block !important; }
	.visible-md-inline { display: inline !important; }
	.visible-md-inline-block { display: inline-block !important; }
}

@media (min-width: 1201px) {
	.hidden-lg { display: none !important; }
	.visible-lg-block { display: block !important; }
	.visible-lg-inline { display: inline !important; }
	.visible-lg-inline-block { display: inline-block !important; }
}

@media (min-width: 1024px) {
	.desktop-margin-0 { margin: 0 !important; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.visible-medium-below-inline-block { display: inline-block !important; }
	.visible-medium-below-block { display: block !important; }
	.hidden-medium-below { display: none !important; }

	.ico-smartphone { width: 13px; }
	.ico-mail { width: 24px; }
}

.fw-400 { font-weight: 400 !important; }

/* ------------------------------------------------------------ *\
	Reset
\* ------------------------------------------------------------ */

* { padding: 0; margin: 0; outline: 0; -webkit-box-sizing: border-box; box-sizing: border-box; }

*:before,
*:after { -webkit-box-sizing: inherit; box-sizing: inherit; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
main { display: block; }

template { display: none; }

html { -webkit-tap-highlight-color: rgba(0,0,0,0); tap-highlight-color: rgba(0,0,0,0); }

body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; -webkit-text-size-adjust: none; -moz-text-size-adjust: none; -ms-text-size-adjust: none; text-size-adjust: none; }

img,
iframe,
video,
audio,
object { max-width: 100%; }

img,
iframe { border: 0 none; }

img { height: auto; display: inline-block; vertical-align: middle; }

b,
strong { font-weight: bold; }

address { font-style: normal; }

svg:not(:root) { overflow: hidden; }

a,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="file"],
input[type="image"],
label[for] { cursor: pointer; }

a[href^="tel"],
button[disabled],
input[disabled],
textarea[disabled],
select[disabled] { cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner { padding: 0; border: 0; }

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="color"],
textarea,
a[href^="tel"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }

textarea { overflow: auto; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; }

button,
input,
optgroup,
select,
textarea { font-family: inherit; font-size: inherit; color: inherit; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; }

button,
select { text-transform: none; }

table { width: 100%; border-collapse: collapse; border-spacing: 0; }

nav ul,
nav ol { list-style: none outside none; }

/* ------------------------------------------------------------ *\
	Regions
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Container
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Content
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Footer
\* ------------------------------------------------------------ */

.footer { padding-top: 33px; padding-bottom: 26px; background-color: #fdedf4; color: #802b50; letter-spacing: 0; }

.footer a:hover { color: #802b50; }

.footer .col { padding-bottom: 15px; }

.footer h2 { margin-bottom: 25px; }

.footer .has-border-left { border-left: 2px solid #f0d9e3; }

.footer .footer__nav > ul > li + li { margin-top: 26px; }

.footer .footer__nav ul { color: #ad8391; }

.footer .footer__nav ul:not(.unstyled) li:before { background-color: currentColor; }

.footer .footer__nav ul ul { margin-top: 1px; }

.footer .footer__nav ul ul a { color: inherit; }

.footer .footer__nav ul ul a:hover,
.footer .footer__nav ul li:hover { color: #802b50; }

.footer .link-back { margin: 43px 0 68px; }

.footer .footer__credits { color: #802b50; }

.footer .footer__credits a { display: block; color: #ad8391; }

.footer .footer__credits a:hover { color: #802b50; }

/* Small Desktop */

@media (max-width: 1200px) {
	.footer { line-height: 1.6; }
	.footer .link-back { margin: 30px 0; }
	.footer .footer__nav > ul > li + li { margin-top: 20px; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.footer { padding-top: 31px; padding-bottom: 40px; }
	.footer h2 { color: #802b50; margin-bottom: 26px; font-size: 17px; }
	.footer p { margin-bottom: 24px; }
	.footer .has-border-left { border-left: 0; border-top: 2px solid #f0d9e3; margin-top: 12px; padding-top: 29px; }
	.footer .footer__workhours { margin-right: -10px; }
	.footer .link-back { position: relative; top: -2px; margin: -3px 0 0; }

	.footer .footer__title { font-size: 19px; }
}

/* ------------------------------------------------------------ *\
	Header
\* ------------------------------------------------------------ */

.header { z-index: 10; position: absolute; top: 0; left: 0; right: 0; padding: 7px 0; background-color: rgba(255,255,255, .7); font-size: 15px; letter-spacing: 0.02em; }

.header .header__inner { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.header .btn-menu { display: none; position: absolute; right: -5px; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); opacity: 0; visibility: hidden; -webkit-transition: opacity .3s, visibility .3s; -o-transition: opacity .3s, visibility .3s; transition: opacity .3s, visibility .3s; }

/* Tablet Portrait */

@media (max-width: 1023px) {
	.header { font-size: 14px; padding-bottom: 6px; }
	.header .contacts { -webkit-transition: -webkit-transform .5s ease-in-out; transition: -webkit-transform .5s ease-in-out; -o-transition: transform .5s ease-in-out; transition: transform .5s ease-in-out; transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out; }
	.header .header__inner { display: block; }
	.header .shell { padding-left: 15px; padding-right: 15px; }
	.header .btn-menu { display: inline-block; }
}

/* ------------------------------------------------------------ *\
	Header-alt
\* ------------------------------------------------------------ */

.header-alt { position: relative; z-index: 100; background-color: rgba(255,255,255, .7); }

.header-alt:before { position: absolute; height: 7px; content: ''; background-color: #e5006a; left: 0; right: 0; top: 55px; }

.header-alt .header__inner { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; padding-bottom: 64px;  }

.header-alt .header__inner:before { position: absolute; top: 0; height: 54px; background-color: #fff; right: 90%; content: ''; width: 10000px; }

.header-alt .header__logo { position: relative; z-index: 1; margin-left: -20px; background-color: #fff; padding: 19px 142px 0 20px; border-radius: 25px; }

/* Small Desktop */

@media (max-width: 1200px) {
	.header-alt .header__inner { padding-bottom: 45px; }
	.header-alt .header__logo { padding-right: 100px; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.header-alt { background-color: transparent; }
	.header-alt .header__logo { padding: 22px 12px 0 13px; margin-left: 0; border-top-left-radius: 0; border-radius: 33px; }
	.header-alt .header__inner { padding-bottom: 18px; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
	.header-alt .btn-menu { margin-top: 11px; margin-right: -4px; }
	.header-alt .shell { padding-left: 15px; padding-right: 15px; }
}

/* ------------------------------------------------------------ *\
	Main
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Shell
\* ------------------------------------------------------------ */

.shell { max-width: 1180px; padding-left: 20px; padding-right: 20px; margin: auto; }

.shell--fluid { max-width: none; }

/* Tablet Portrait */

@media (max-width: 1023px) {
	.shell { padding-left: 30px; padding-right: 30px; }
}

/* ------------------------------------------------------------ *\
	Sidebar
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Wrapper
\* ------------------------------------------------------------ */

.wrapper { min-height: 100vh; }

/* Tablet Portrait */

@media (max-width: 1023px) {
	.wrapper { -webkit-transition: -webkit-transform .5s ease-in-out; transition: -webkit-transform .5s ease-in-out; -o-transition: transform .5s ease-in-out; transition: transform .5s ease-in-out; transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out; }
	.wrapper.has-nav-open { -webkit-transform: translateX(-270px); -ms-transform: translateX(-270px); transform: translateX(-270px); }
	.wrapper.has-nav-open .header .contacts { -webkit-transform: translateX(-50px); -ms-transform: translateX(-50px); transform: translateX(-50px); }
	.wrapper.has-nav-open .header .btn-menu { opacity: 1; visibility: visible; }
}

/* ------------------------------------------------------------ *\
	Modules
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Article
\* ------------------------------------------------------------ */

.article figure { position: relative; margin-bottom: 21px; }

.article figure > a { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

.article figcaption h2 { margin-top: 6px; color: #606961; letter-spacing: 0.02em; text-align: center; }

.article figcaption em { display: block; margin-top: 22px; margin-bottom: 26px; color: #802b50; letter-spacing: 0.01em; }

.article figure > img,
.article figure > span { display: block; width: 100%; padding-bottom: 8px; border-bottom: 8px solid #e5006a; }

.article figure img { width: 100%; }

.article h3 { margin-bottom: 0; }

.article h3:first-child { margin-top: -5px; }

.article figure.has-hover-effect img { -webkit-filter: grayscale(100); filter: grayscale(100); -webkit-transition: opacity .3s ease-in-out, -webkit-filter .3s ease-in-out; transition: opacity .3s ease-in-out, -webkit-filter .3s ease-in-out; -o-transition: filter .3s ease-in-out, opacity .3s ease-in-out; transition: filter .3s ease-in-out, opacity .3s ease-in-out; transition: filter .3s ease-in-out, opacity .3s ease-in-out, -webkit-filter .3s ease-in-out; }

.article figure.has-hover-effect:hover img { opacity: 1; -webkit-filter: none; filter: none; }

.article .article__aside { padding-right: 40px; }

.article .article__media { margin-bottom: 20px; }

.article .article__block { margin-top: 58px; }

@media screen and (-ms-high-contrast: none) {
	.article figure.has-hover-effect img { opacity: .5; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.article figure { margin-bottom: 18px; }
	.article figcaption em { margin-top: 15px; margin-bottom: 15px; }
	.article .article__aside { padding-right: 0; }
	.article .article__media { margin-bottom: 10px; }
	.article figcaption h2 { margin-top: 10px; }
	.article figure.has-hover-effect img { opacity: 1; -webkit-filter: none; filter: none; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.article .text-primary { margin-top: 33px; }
	.article .article__block { margin-top: 22px; }
	.article .article__media { margin-bottom: 25px; }
}

/* ------------------------------------------------------------ *\
	Button
\* ------------------------------------------------------------ */

.btn { display: inline-block; vertical-align: middle; text-align: center; cursor: pointer; text-decoration: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

/*  Button Block  */

.btn--block { display: block; padding-left: 0; padding-right: 0; }

.link-back { display: inline-block; color: #ad8391; }

.link-back span,
.link-back img { display: inline-block; vertical-align: middle; }

.link-back img { margin-left: 9px; }

.btn-menu { position: relative; display: inline-block; width: 26px; height: 19px; -webkit-transition: opacity .3s, visibility .3s; -o-transition: opacity .3s, visibility .3s; transition: opacity .3s, visibility .3s; }

.btn-menu span { position: absolute; left: 0; width: 100%; display: block; height: 5px; background-color: #fff; border: 1px solid #8c928c;}

.btn-menu span:first-child { top: 0; -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; }

.btn-menu span:nth-child(2) { top: 7px; }

.btn-menu span:last-child { bottom: 0; -webkit-transform-origin: 0 100%; -ms-transform-origin: 0 100%; transform-origin: 0 100%; }

.btn-menu.is-expanded span { border-radius: 5px; }

.btn-menu.is-expanded span:first-child { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

.btn-menu.is-expanded span:nth-child(2) { opacity: 0; }

.btn-menu.is-expanded span:last-child { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); bottom: -3px; }

.btn-menu.is-invisible { opacity: 0; visibility: hidden; }

/* Tablet Portrait */

@media (max-width: 1023px) {
	.link-back { color: #802b50; }
	.link-back img { margin-left: 12px; }
}

/* ------------------------------------------------------------ *\
	Contacts
\* ------------------------------------------------------------ */

.contacts { font-weight: 700; margin-bottom: 0; }

.contacts a + a { margin-left: 30px; }

.contacts img { margin-right: 8px; }

.contacts img,
.contacts span { display: inline-block; vertical-align: middle; }

/* Tablet Portrait */

@media (max-width: 1023px) {
	.contacts { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
	.contacts a + a { margin-left: 5px; }
	.contacts img { margin-right: 6px; }
}

/* ------------------------------------------------------------ *\
	Contacts-primary
\* ------------------------------------------------------------ */

.contacts-primary { margin-top: 29px; display: block; line-height: 1; }

.contacts-primary a { color: #ad8391; }

.contacts-primary li + li { margin-top: 30px; }

.contacts-primary figure,
.contacts-primary span { display: inline-block; vertical-align: middle; }

.contacts-primary figure { min-width: 25px; margin-right: 11px; text-align: center; }

/* Small Desktop */

@media (max-width: 1200px) {
	.contacts-primary p + p { margin-top: 25px; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.contacts-primary { margin-top: 25px; }
	.contacts-primary figure { min-width: 20px; }
	.contacts-primary p + p { margin-top: 30px; }
}

/* ------------------------------------------------------------ *\
	Form Elements
\* ------------------------------------------------------------ */

input::-webkit-input-placeholder { color: inherit; opacity: 1; }

input:-ms-input-placeholder { color: inherit; opacity: 1; }

input::-ms-input-placeholder { color: inherit; opacity: 1; }

input::placeholder { color: inherit; opacity: 1; }

textarea::-webkit-input-placeholder { color: inherit; opacity: 1; }

textarea:-ms-input-placeholder { color: inherit; opacity: 1; }

textarea::-ms-input-placeholder { color: inherit; opacity: 1; }

textarea::placeholder { color: inherit; opacity: 1; }

input:-webkit-autofill { -webkit-text-fill-color: inherit; -webkit-box-shadow: 0 0 0 1000px #fff inset; }

/* ------------------------------------------------------------ *\
	Form
\* ------------------------------------------------------------ */

.intro { height: 472px; margin-bottom: -47px; background-position: center; background-size: cover; background-repeat: no-repeat; }

.intro--home { background-image: url(../images/slider_willkommen.jpg) }

@media (min-resolution: 2dppx) {
	.intro--home { background-image: url(../images/slider_willkommen2x.jpg) }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.intro { height: 283px; background-image: url(../images/mobile_willkommen_neu.jpg); }
}

@media (max-width: 1023px) and (-webkit-min-device-pixel-ratio: 2), (max-width: 1023px) and (-o-min-device-pixel-ratio: 2/1), (max-width: 1023px) and (min-resolution: 2dppx) {
	.intro { background-image: url(../images/mobile_willkommen2x_neu.jpg); }
}

.kontakt { height: 472px; margin-bottom: -47px; background-position: center; background-size: cover; background-repeat: no-repeat; }

.kontakt--home { background-image: url(../images/slider_kontakt.jpg) }

@media (min-resolution: 2dppx) {
	.kontakt--home { background-image: url(../images/slider_kontakt2x.jpg) }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.kontakt { height: 283px; background-image: url(../images/mobile_kontakt.jpg); }
}

@media (max-width: 1023px) and (-webkit-min-device-pixel-ratio: 2), (max-width: 1023px) and (-o-min-device-pixel-ratio: 2/1), (max-width: 1023px) and (min-resolution: 2dppx) {
	.kontakt { background-image: url(../images/mobile_kontaktx2.jpg); }
}

.leistungen { height: 472px; margin-bottom: -47px; background-position: center; background-size: cover; background-repeat: no-repeat; }

.leistungen--home { background-image: url(../images/slider_leistungen.jpg) }

@media (min-resolution: 2dppx) {
	.leistungen--home { background-image: url(../images/slider_leistungen2x.jpg) }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.leistungen { height: 283px; background-image: url(../images/mobile_leistungen.jpg); }
}

@media (max-width: 1023px) and (-webkit-min-device-pixel-ratio: 2), (max-width: 1023px) and (-o-min-device-pixel-ratio: 2/1), (max-width: 1023px) and (min-resolution: 2dppx) {
	.leistungen { background-image: url(../images/mobile_leistungenx2.jpg); }
}

.team { height: 472px; margin-bottom: -47px; background-position: center; background-size: cover; background-repeat: no-repeat; }

.team--home { background-image: url(../images/slider_team.jpg) }

@media (min-resolution: 2dppx) {
	.team--home { background-image: url(../images/slider_team2x.jpg) }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.team { height: 283px; background-image: url(../images/mobile_team_neu.jpg); }
}

@media (max-width: 1023px) and (-webkit-min-device-pixel-ratio: 2), (max-width: 1023px) and (-o-min-device-pixel-ratio: 2/1), (max-width: 1023px) and (min-resolution: 2dppx) {
	.team { background-image: url(../images/mobile_team2x_neu.jpg); }
}

/* ------------------------------------------------------------ *\
	List
\* ------------------------------------------------------------ */

[class^="list-"] { list-style: none outside none; }

/* ------------------------------------------------------------ *\
	Logo
\* ------------------------------------------------------------ */

.logo { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.logo img { -ms-flex-negative: 0; flex-shrink: 0; }

/* ------------------------------------------------------------ *\
	Nav
\* ------------------------------------------------------------ */

.nav { position: relative; margin-top: 47px; padding-top: 23px; padding-left: 1px; -webkit-box-flex: 1; -ms-flex: 1 1; flex: 1 1; }

.nav a { display: block; width: 100%; }

.nav li:hover .nav__dropdown { opacity: 1; visibility: visible; -webkit-transform: none; -ms-transform: none; transform: none; }

.nav > ul { display: -webkit-box; display: -ms-flexbox; display: flex; }

.nav > ul > li { position: relative; padding-bottom: 8px; }

.nav > ul > li:hover > a,
.nav .current > a { color: #e5006a; }

.nav > ul > li:hover > a:before,
.nav .current > a:before { -webkit-transform: none; -ms-transform: none; transform: none; }

.nav > ul > li + li { margin-left: 45px; }

.nav > ul > li > a { position: relative; display: block; font-size: 19px; color: #606961; font-weight: 700; letter-spacing: 0.022em; }

.nav > ul > li > a:before { position: absolute; left: -8px; right: -8px; bottom: 100%; height: 8px; margin-bottom: 7px; border-left: 8px solid #fff; border-right: 8px solid #fff; background-color: #802b50; content: ''; -webkit-transition: -webkit-transform .3s ease-in-out; transition: -webkit-transform .3s ease-in-out; -o-transition: transform .3s ease-in-out; transition: transform .3s ease-in-out; transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out; -webkit-transform: scaleX(0); -ms-transform: scaleX(0); transform: scaleX(0); }

.nav .nav__dropdown { position: absolute; top: 100%; left: -16px; padding: 13px 16px 10px; background-color: #fdedf4; -webkit-transition: opacity .3s, visibility .3s, -webkit-transform .3s; transition: opacity .3s, visibility .3s, -webkit-transform .3s; -o-transition: transform .3s, opacity .3s, visibility .3s; transition: transform .3s, opacity .3s, visibility .3s; transition: transform .3s, opacity .3s, visibility .3s, -webkit-transform .3s; -webkit-transition-timing-function: ease-in-out; -o-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; -webkit-transform: translateY(50px); -ms-transform: translateY(50px); transform: translateY(50px); opacity: 0; visibility: hidden; line-height: 1.45; }

.nav .nav__dropdown span,
.nav .nav__dropdown img { display: inline-block; vertical-align: middle; }

.nav .nav__dropdown img { margin-right: 5px; }

.nav .nav__dropdown li + li { margin-top: 2px; }

.nav .nav__dropdown:before { position: absolute; left: 15px; top: 0; border-width: 8px 8px 0; border-style: solid; border-color: #fff transparent transparent; content: ''; }

.nav .nav__dropdown.is-positioned-reverse { left: auto; right: -17px; text-align: right; }

.nav .nav__dropdown.is-positioned-reverse:before { left: auto; right: 15px; }

.nav .nav__title { display: none; }

.nav .nav__dropdown a { padding-bottom: 3px; color: #802b50; }

.nav .nav__dropdown a:hover { color: #e5006a; }

.nav .nav__dropdown li:not(:last-child) a { border-bottom: 1px solid #fef6fa; }

.nav .push-next-element { margin-right: auto; }

/* Small Desktop */

@media (max-width: 1200px) {
	.nav > ul > li + li { margin-left: 30px; }
	.nav > ul > li > a { font-size: 17px; }
	.nav .nav__dropdown.is-positioned-reverse { right: 0; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.nav { position: fixed; width: 270px; left: 100%; top: 0; bottom: 0; background-color: #fff; margin-top: 0; overflow-y: auto; padding-top: 10px; -webkit-box-shadow: 0 3px 3px rgba(0,0,0, .16); box-shadow: 0 3px 3px rgba(0,0,0, .16); }
	.nav .logo { padding-bottom: 15px; margin-bottom: 20px; text-align: center; border-bottom: 2px solid #dbdbdb; border-radius: 0; }
	.nav > ul { display: block; padding: 0 15px; }
	.nav > ul > li { padding-bottom: 0; }

	.nav > ul > li > a { position: relative; }
	.nav > ul > li > a:before { display: none; }
	.nav .nav__title { display: block; color: #e5006a; text-align: center; }
	.nav > ul > li + li { margin-left: 0; margin-top: 10px; }
	.nav .nav__dropdown { position: static; opacity: 1; visibility: visible; -webkit-transform: none; -ms-transform: none; transform: none; }
	.nav .has-dd > a:after { position: absolute; top: 50%; right: 5px; font-size: 10px; width: 1em; height: 1em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; -webkit-transform: translateY(-52%) rotate(-45deg); -ms-transform: translateY(-52%) rotate(-45deg); transform: translateY(-52%) rotate(-45deg); -webkit-transition: border .3s ease-in-out, -webkit-transform .3s ease-in-out; transition: border .3s ease-in-out, -webkit-transform .3s ease-in-out; -o-transition: border .3s ease-in-out, transform .3s ease-in-out; transition: border .3s ease-in-out, transform .3s ease-in-out; transition: border .3s ease-in-out, transform .3s ease-in-out, -webkit-transform .3s ease-in-out; content: ''; }
	.nav .is-expanded > a:after { -webkit-transform: translateY(-60%) rotate(45deg); -ms-transform: translateY(-60%) rotate(45deg); transform: translateY(-60%) rotate(45deg); }

	.nav .nav__dropdown { background-color: transparent; padding: 10px 10px 0; }
	.nav .nav__dropdown br { display: none; }
	.nav .nav__dropdown a { padding-bottom: 5px; }
	.nav .nav__dropdown li + li { margin-top: 5px; }
	.nav .nav__dropdown.is-positioned-reverse { text-align: left; }
	.nav .current > a { color: #606961; }
}

/* ------------------------------------------------------------ *\
	Nav-utils
\* ------------------------------------------------------------ */

.nav-utils { font-weight: 700; }

.nav-utils ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.nav-utils li + li { margin-left: 31px; }

.nav-utils img,
.nav-utils span { display: inline-block; vertical-align: middle; }

.nav-utils img { margin-right: 8px; }

/* ------------------------------------------------------------ *\
	Section
\* ------------------------------------------------------------ */

.section { position: relative; z-index: 1; padding-bottom: 61px; }

.section .section__head { padding-top: 20px; margin-bottom: 29px; letter-spacing: 0.02em; font-size: 19px; font-weight: 700; border-top: 2px solid #dbdbdb; }

/* Small Desktop */

@media (max-width: 1200px) {
	.section { padding-bottom: 42px; }
}

/* Tablet Portrait */

@media (max-width: 1023px) {
	.section .section__head { margin-bottom: 27px; padding-top: 19px; font-size: 16px; line-height: 1.38; }
}

/* ------------------------------------------------------------ *\
	Slider
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Table
\* ------------------------------------------------------------ */

/* ------------------------------------------------------------ *\
	Widget
\* ------------------------------------------------------------ */

.widgets { list-style: none outside none; }

/* ------------------------------------------------------------ *\
	Themes
\* ------------------------------------------------------------ */
