:root {
	--weiss: #fff;
	--schwarz: #000;
	--linkfarbe: #3e3e3e;
	--schwarztrans07: rgba(0, 0, 0, 0.7);
	--rot: #B92A39;
	--dunkelrot: #97232f;
	--dunkelrot2: #88202a;
	--hellrosa: #E7CDBE;
	--hintergrundrosa: #F9F3EF;
	--lightgrey: #eee;
	--hellblau: #CEF7FF;
	--dunkelblau: #00B8DC;
	--transdunkelblau: rgba(0, 183, 220, 0.7);
	--standardtransition: all 0.3s ease;
	--inhaltsbreite: 1280px;
	--cookiemanmain: #B92A39;
	--outline: var(--rot);

	--hoben: 70px;
    --navbg: var(--rot);
    --navischriftfarbe: #000;
}

a:focus-visible {
    outline: var(--outline) auto 2px;
	outline-offset: inherit;
}

/* montserrat-200 - latin */

@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 200;
	src: url('../fonts/montserrat-v26-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */

}

/* montserrat-regular - latin */

@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/montserrat-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */

}

/* montserrat-700 - latin */

@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/montserrat-v26-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */

}

/* montserrat-900 - latin */

@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/montserrat-v26-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */

}

html, body {
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	font-family: 'Montserrat';
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	line-height: 1.6em;
	color: var(--linkfarbe);
	min-height: 100vh;
	flex-direction: column;
}

* {
	outline: none;

}

.btn:hover {
    color: var(--weiss);
    background-color: var(--dunkelrot2);
    border-color: var(--dunkelrot2);
    text-decoration: none;
}

.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active, .show > .btn.dropdown-toggle {
    color: var(--weiss);
    background-color: var(--dunkelrot2);
    border-color: var(--dunkelrot2);
}

a, a:active, a:visited {
	color: var(--rot);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: 0.2s;
}

a:hover {
	text-underline-offset: 3px;
	text-decoration-thickness: 1.5px;
}

a.link-mail, a.link-phone, a.link-external {
	color: var(--rot);
}

#inhaltsbereich .ce-bodytext a {
	color: var(--rot);
  	text-align: left;
}

figure.image > a {
	display: table;

}

.audio-embed, .audio-caption {
	float: left;
	clear: both;
	width: 100%;

}

p {
	margin: 0 0 10px 0;

}

.frame:not(.frame-team):not(.frame-leistungenunterseite) .ce-bodytext {
	text-align: justify;
}

ul, li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ce-bodytext ul {
	margin: 10px 0 20px 0;
	padding: 0 0 0 20px;
}

/* .ce-bodytext ul {
	margin-bottom: 10px
} */

.ce-bodytext li {
	list-style: disc;
}

.ce-bodytext li::marker {
	color: var(--rot);
}

strong {
	font-weight: 700

}

.text-right {
	text-align: right;

}

.text-left {
	text-align: left;

}

.text-center {
	text-align: center;

}

.text-justify {
	text-align: justify;

}

.ce-textpic, .ce-image, .ce-nowrap .ce-bodytext, .ce-gallery, .ce-row, .ce-uploads li, .ce-uploads div {
	float: left;
	width: 100%

}

.ce-center .ce-outer {
	position: relative;
	float: left;
	clear: both;
	right: auto;
	left: 50%;
	transform: translateX(-50%);
	max-width: 100%;

}

/* .mob_button {
	position: absolute;
	right: 2%;
	top: 30px;
	z-index: 5000;
	margin: 0;
	width: 60px;
	height: 60px;
	cursor: pointer;
	display: none;

}

.mob_button span {
	background-color: var(--rot);
	height: 2px;
	left: 7px;
	margin-top: -1px;
	position: absolute;
	top: 50%;
	width: 40px;
	transition: all 0.3s ease 0.3s;
	display: none;

} */

.mobile .mob_button span {
	display: block;

}

.mob_button span::after, .mob_button span::before {
	backface-visibility: hidden;
	background-color: var(--rot);
	content: "";
	height: 2px;
	position: absolute;
	transform: translateZ(0px);
	transition: all 0.3s ease 0.3s;
	width: 100%;
	display: block;

}

.mob_button span::before {
	transform: translateY(-11px);

}

.mob_button span::after {
	transform: translateY(11px);

}

.mobnavvisible.mob_button span {
	background-color: transparent;

}

.mobnavvisible.mob_button span::before {
	transform: translateY(0px) rotate(-45deg);

}

.mobnavvisible.mob_button span::after {
	transform: translateY(0px) rotate(45deg);

}

h1, h2, h3, h4, h5 {
	font-weight: normal;
	hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
}

img {
	max-width: 100%;
	height: auto;

}

.video[data-type="external"] .video-embed {
	padding-top: 0;
	aspect-ratio: 16/9;
	overflow: hidden;

}

.videobox,
.video-embed {
	position: relative;

}

.videoiframelink {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	overflow: hidden;
	text-indent: -9999px;
	color: transparent;

}

.ce-gallery.videocontainer {
	width: 100%;
	float: left;
	clear: both;

}

.ce-gallery.videocontainer .video-column {
	max-width: 100%;
	float: left;

}

.ce-gallery.videocontainer figure.video {
	display: block;

}

/* -- Headervideo -- */

.frame-type-textmedia.frame-layout-11 > .rahmen {
	width: 100% !important;
	max-width: none !important;
	float: left !important;
	clear: both !important;
	margin: 0 !important;
	display: block !important;

}

.frame-type-textmedia.frame-layout-11 .ce-gallery {
	margin: 0;
	width: 100%;
	float: left;
	clear: both;
	position: relative;

}

.frame-type-textmedia.frame-layout-11 .ce-gallery::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;

}

.frame-type-textmedia.frame-layout-11 .video-embed .video-preview {
	height: 100%;

}

.frame-type-textmedia.frame-layout-11 .video-embed .video-preview img {
	width: 100%;
	max-width: none;
	height: auto;

}

.frame-type-textmedia.frame-layout-11.loadingok .video-embed .video-preview {
	display: none;

}

.frame-type-textmedia.frame-layout-11 .video[data-type="internal"] .video-embed .video-embed-item {
	width: 100%;

}

.ce-intext.ce-right .ce-gallery, .ce-intext.ce-left .ce-gallery, .ce-above .ce-gallery {
	margin: 0;
	padding: 0

}

.ce-gallery, .ce-row, .ce-column, figure.image, .image picture {
	width: 100%

}

body.lb_body {
	height: auto !important;
	max-width: 800px;
	width: 90vw;

}

#lightbox {
	width: 96%;
	margin: 10px 2%;

}

/* -------------------------------------------------------------- */

/* oben */

#oben {
	position: fixed;
	width: 100%;
	float: left;
	z-index: 110;
	background: var(--weiss);
	border-bottom: 1px solid var(--lightgrey);
}

#oben .ce-gallery img {
	max-width: 350px;
	height: auto;
	margin-top: 8px
}

#oben .frame-type-textmedia {
	float: left;
	text-align: center;
	width: 365px;
	margin: 20px 0 20px 20px
}

#oben figure.image > a {
	width: 100%;

}

#oben .ce-gallery img {
	display: unset;

}

#oben .frame-type-textmedia picture {
	width: 100%;
	margin: 0 auto

}

#oben .hnavi {
	float: right;
	width: auto;
	margin-top: 50px

}

/* header */

#header {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
	margin-top: 144px
}

#inhaltsbereich .ce-bodytext li {
	text-align: left !important;
}

/*

#header header{

    position: absolute;

    display: block;

    bottom: 5%;

    left: 0;

    padding-left: 10%;

    background: rgba(231, 205, 190, 0.75) no-repeat padding-box;

}

*/

#header .ce-bodytext {
	position: absolute;
	display: block;
	bottom: 50px;
	left: 0;
	padding: 30px 50px 30px 100px;
	background: rgba(231, 205, 190, 0.75) no-repeat;

}

#header .ce-bodytext ul, #header .ce-bodytext li {
	list-style: none;

}

/*

#header header h2{

    float: right;

    margin: 60px 20px 60px 40%;

}

*/

#header .ce-bodytext li:nth-of-type(1) {
	float: right;
	margin: 60px 20px 60px 40%;
	font-size: 50px;
	text-transform: uppercase;
	color: var(--linkfarbe);
	float: right;
	font-weight: 400;
	white-space: nowrap;
	margin: 20px 20px 20px 0

}

/*

#header header span:nth-child(1){

    font-size: 50px;

    text-transform: uppercase;

    color: var(--linkfarbe);

    float: right;

    font-weight: 400;

    white-space: nowrap;

    margin: 20px 20px 20px 0

}





#header header span:nth-child(2){

    font-size: 40px;

    color: var(--linkfarbe);

    float: right;

    clear: both;

    margin: 20px 20px 20px 0;

}

*/

#header .ce-bodytext li:nth-of-type(2) {
	font-size: 40px;
	color: var(--linkfarbe);
	float: right;
	clear: both;
	margin: 20px 20px 20px 0;

}

#header .image picture {
	width: 100vw

}

#header .image picture img {
	width: 100vw

}

/*  ++ Barrierefreie Navigation ++ */
#mobnav, 
ul.ebene1 input[name="togglesub"] {
    position: absolute;
    top: 0;
    right: 0;
    visibility: hidden; 
}

label[for="mobnav"] {
    float: right;
    display: block;
}

label[for="mobnav"] .mob_button {
    float: left;
    position: relative;
    z-index: 5;
    margin: 4px;
    width: 52px;
    height: 52px;
    cursor: pointer;
    display: none;
}

label[for="mobnav"] .mob_button span {
    background-color: var(--rot);
    height: 3px;
    left: 6px;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    width: 40px;
    transition: all 0.3s ease 0.3s;
}

label[for="mobnav"] .mob_button span::after, 
label[for="mobnav"] .mob_button span::before {
    backface-visibility: hidden;
    background-color: var(--rot);
    content: "";
    height: 3px;
    position: absolute;
    transform: translateZ(0px);
    transition: all 0.3s ease 0.3s;
    width: 100%;
    display: block;
}

label[for="mobnav"] .mob_button span::before {
    transform: translateY(-12px);
}

label[for="mobnav"] .mob_button span::after {
    transform: translateY(12px);
}

#mobnav:checked + label .mob_button span {
    background-color: transparent;
}

#mobnav:checked + label .mob_button span::before {
    transform: translateY(0px) rotate(-45deg);
    background-color: var(--rot);
}

#mobnav:checked + label .mob_button span::after {
    transform: translateY(0px) rotate(45deg);
    background-color: var(--rot);
}

.hauptnavi {
	float: right;
	margin: 50px 4% 0 0;
}

ul.ebene1, 
ul.ebene1 ul {
    list-style: none;
    margin: 0;
    padding: 0;
    --linkfarbe: var(--navischriftfarbe);
}

.klappnavi {
	display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: var(--hoben);
    background: var(--navbg);
}

ul.ebene1 > li {
    display: inline-block;
    vertical-align: top;
	margin: 0 10px;
    padding: 20px 0;
    position: relative;
}

ul.ebene1 > li:last-child {
    margin: 0 0 0 7px;
    padding: 20px 0 20px 7px;
}

ul.ebene1 > .ifsub > label > .navtoggle,
ul.ebene2 > .ifsub > label > .navtoggle {
    display: inline-block;
    position: relative;
	vertical-align: top;
    width: 24px;
    height: 24px;
    background: var(--hellrosa);
    border-radius: 100%;
    cursor: pointer;
}

ul.ebene1 > .ifsub > label:focus-visible,
ul.ebene1 > .ifsub > label > .navtoggle:focus-visible {
	outline: 2px solid var(--outline);
}

ul.ebene1 .navtoggle::before,
ul.ebene1 .navtoggle::after {
    content: '';
    display: block;
    width: 10px;
    height: 1px;
    background: var(--navischriftfarbe);
    transform: rotate(45deg);
    position: absolute;
    top: 12px;
    left: 4px;
}

ul.ebene1 .navtoggle:hover::before,
ul.ebene1 .navtoggle:hover::after,
ul.ebene1 li.ifsub:hover .navtoggle::before,
ul.ebene1 li.ifsub:hover .navtoggle::after {
    height: 2px;
}

ul.ebene1 .navtoggle::after {    
    transform: rotate(-45deg);
	left: 10px;
}

ul.ebene1 li.ifsub:hover > .klappnavi,
ul.ebene1 li.ifsub:has(input[name="togglesub"]:checked) > .klappnavi {
    display: flex;
}

ul.ebene1 li > a {
	font-family: 'Montserrat', Arial, Helvetica, sans-serif;
	text-transform: uppercase;
    font-size: 20px;
    line-height: 1.4em;
    padding: 20px 5px;
    text-decoration: none;
    color: var(--linkfarbe);
    font-weight: normal;
	transition: var(--standardtransition);
}

ul.ebene1 li > a:hover,
ul.ebene1 li.ifsub:hover > a,
ul.ebene1 li.act > a {
	color: var(--rot);
    text-shadow: 0.5px 0 0 var(--rot), 0 0 0.5px var(--rot);
	text-decoration: underline;
    text-decoration-style: dotted;
	text-decoration-thickness: 1.5px;
}

ul.ebene2 {
    display: block;
    float: left;
    text-align: left;
    min-width: 300px;
    padding-top: 20px !important;
    position: relative;
}

ul.ebene2::before {
	content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-width: 20px 35px 0px 35px;
    border-style: solid;
    border-color: var(--weiss) transparent transparent transparent;
}

ul.ebene2 > li {
    float: left;
    clear: both;
    display: block;
    width: 100%;
    padding: 0;
}

ul.ebene2 > li:first-child {
    border-top: 0;
}

ul.ebene2 > li > a {
    display: block;
    padding: 15px 20px 15px 40px;
	color: var(--weiss);
    text-transform: unset;
	position: relative;
}

ul.ebene2 > li.act > a {
	color: var(--weiss);
	text-shadow: 0.5px 0 0 var(--weiss), 0 0 0.5px var(--weiss);
	text-decoration: none;
}

ul.ebene2 > li > a:hover {
	color: var(--weiss) !important;
	text-shadow: 0.5px 0 0 var(--weiss), 0 0 0.5px var(--weiss)!important;
	text-decoration: none !important;
}

ul.ebene2 > li.act > a::before,
ul.ebene2 > li > a:hover::before {
    position: absolute;
    content: "";
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 8px solid transparent;
    border-left: 8px solid var(--weiss);
}



/* +++++++++++++++++++++++++ */

/* --- Navi --- */

/* ul.hnavi {
	margin: 0 4% 0 0;
	padding: 0
}

ul.hnavi li {
	position: relative;
	float: left;
	color: var(--linkfarbe);
	font-size: 20px;
	text-transform: uppercase;
	margin-right: 20px;
	padding: 20px 0
}


ul.hnavi li a {
	color: var(--linkfarbe);

}

ul.hnavi > li.act a {
	font-weight: bold;
	color: var(--rot);

}

ul.hnavi ul.unavi > li a {
	font-weight: normal;

}

ul.hnavi ul.unavi > li.act a {
	font-weight: bold;

}

.unavi {
	display: none
}


.hnavi li.ifsub:hover .unavi {
	display: block;
	z-index: 2
}

.unavi {
	position: absolute;
	background: var(--rot);
	top: 40px;
	left: 50%;
	margin: 0;
	padding: 0 20px 20px 20px;
	min-width: 200px;
	transform: translateX(-50%);
	margin-top: 20px
}

ul.hnavi .unavi li {
	margin: 5px 0 0 5px;
	padding: 0;
	width: 100%;
	float: left;
	clear: both;

}

ul.hnavi .unavi li:first-of-type {
	position: relative;
	margin-top: 40px

}

ul.hnavi .unavi:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -32px;
	border-width: 20px 35px 0px 34px;
	border-style: solid;
	border-color: var(--weiss) transparent transparent transparent;

}
 
ul.hnavi .unavi li a {
	white-space: nowrap;
	text-transform: none;
	margin: 8px 15px;
	padding: 0;
	color: var(--weiss);
	font-size: 18px;
	float: left;
	clear: both

}

ul.unavi > li.act:before {
	position: absolute;
	content: "";
	left: 0;
	top: 10px;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-right: 8px solid transparent;
	border-left: 8px solid var(--weiss);

} */

/* Inhaltsbereich */

#inhaltsbereich {
	float: left;
	clear: both;
	width: 100%;
  min-height: 60vh;
}

#inhaltsbereich > .frame {
	float: left;
	clear: both;
	width: 100%;
	margin: 40px 0 40px 0

}

#inhaltsbereich > .frame-type-textmedia a {
  word-break: break-all;
}

#inhaltsbereich .frame > .rahmen {
	max-width: var(--inhaltsbreite);
	margin: 0 auto;
	width: 90%;

}

#inhaltsbereich .frame > .rahmen .rahmen {
	width: 100%;
}

#inhaltsbereich header {
	margin: 0 0 40px 0;
	max-width: var(--inhaltsbreite);
	float: left;
	width: 100%;
	clear: both

}

/* H1 */

#inhaltsbereich header h1 {
	position: relative;

}

#inhaltsbereich h1 span {
	font-size: 36px;
	display: block;
	float: left;
	line-height: normal;

}

#inhaltsbereich h1 span:nth-of-type(1) {
	position: relative;
	font-size: 36px;
	margin: 10px 0;
	font-weight: bold;
	text-transform: uppercase;

}

#inhaltsbereich h1 span:nth-of-type(1):before {
	position: absolute;
	content: "";
	left: 0;
	top: -10px;
	height: 3px;
	width: 100%;
	background: var(--rot)

}

#inhaltsbereich h1 span:nth-of-type(2) {
	clear: both;
	font-size: 26px;
	margin: 10px 0 0 10%;

}

/* h2 */

#inhaltsbereich header h2 {
	position: relative

}

#inhaltsbereich header h2 span:nth-of-type(1):before {
	position: absolute;
	content: "";
	left: 0;
	top: -20px;
	width: 100%;
	height: 3px;
	background: var(--hellrosa)

}

#inhaltsbereich h2 span {
	position: relative;
	font-size: 36px;
	display: block;
	float: left;

}

#inhaltsbereich h2 span:nth-of-type(1) {
	font-size: 36px;
	margin: 10px 0;
	font-weight: bold;
	text-transform: uppercase;

}

#inhaltsbereich h2 span:nth-of-type(2) {
	clear: both;
	font-size: 26px;
	margin: 10px 0 0 15%;
	/* white-space: nowrap; */

}

/* Dr Urlinger */

#inhaltsbereich .frame-drurlingerstartseite {
	background: var(--hintergrundrosa);
	margin: 0

}

#inhaltsbereich .frame-drurlingerstartseite .rahmen .tx_cn-columns {
	background: var(--hintergrundrosa);
	padding: 20px 0

}

#inhaltsbereich .frame-drurlingerstartseite .rahmen .tx_cn-columns .row {
	float: unset;
	max-width: var(--inhaltsbreite);
	width: 100%;
	margin: 0 auto

}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(1) .rahmen {
	width: calc(100% - 40px);
	margin: 10px 20px;

}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(1) .ce-bodytext a:nth-of-type(1) {
	position: relative;
	float: left;
	padding: 10px 20px;
	border: 2px solid var(--rot);
	border-radius: 15px;
	font-weight: bold;
	margin-top: 16px;
	text-decoration: none;

}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(1) .ce-bodytext a:nth-of-type(1):after {
	position: absolute;
	content: url("/fileadmin/cn_website/images/zahn_rot.svg");
	transform: rotate(20deg); /* Drehung um 45 Grad */
	width: 30px;
	height: 30px;
	right: -14px;
	top: -16px

}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(1) .ce-bodytext a:nth-of-type(1) {
	margin-right: 10px;

}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(1) .ce-bodytext a:nth-of-type(2) {
	float: left;
	margin-right: 0;
	padding: 10px 20px;
	border: 2px solid var(--rot);
	border-radius: 15px;
	background: var(--rot);
	color: var(--weiss);
	font-weight: bold;
	margin-top: 16px;
	text-decoration: none;
}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(2) .ce-textpic {
	position: relative;

}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(2) .ce-bodytext {
	position: absolute;
	left: calc(50%);
	top: 20px;
	width: 200px;
	height: 200px;
	transform: rotate(20deg);
	background: url("/fileadmin/cn_website/images/zahn.svg") no-repeat;

}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(2) .ce-bodytext p {
	transform: rotate(-20deg);

}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(2) .ce-bodytext p {
	position: absolute;
	top: 50px;
	left: 60px

}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(2) .ce-bodytext p a {
	color: var(--linkfarbe);
    width: 50%;
    display: block;
}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(2) .rahmen, #inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(2) .rahmen .ce-textpic {
	width: 100%;
	float: left;

}

/* Startseite Vorteile */

#inhaltsbereich .frame-startseitevorteile {
	margin: 60px 0 20px 0
}

/* #inhaltsbereich .frame-startseitevorteile .rahmen, #inhaltsbereich .frame-startseitevorteile .rahmen .ce-textpic {
	width: 100%

} */

#inhaltsbereich .frame-startseitevorteile ul {
	position: relative;
	padding: 0 65px;
	width: calc(100% - 66px);
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: baseline;
	align-content: center;
	padding: 0 65px;
	width: calc(100% - 66px);

}

#inhaltsbereich .frame-startseitevorteile .ce-bodytext li {
	position: relative;
	font-size: 18px;
	list-style: none;
	width: calc(20% - 20px);
	padding-left: 70px;
	padding-right: 0;
	margin-right: 30px;
	padding-top: 30px;
	min-height: 70px;
	hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	text-align: left;

}

#inhaltsbereich .frame-startseitevorteile .ce-bodytext li:last-child {
	margin-right: 0;
}

/*

#inhaltsbereich .frame-startseitevorteile .ce-bodytext li{

    position: relative;

    display: flex;

    align-items: center;

    text-align: left;

    float: left;

    font-size: 18px;

    list-style: none;

    margin: 0 0 0 5%;

    padding: 0 0 0 5px;

    width: calc(20% - 5px);

    min-height: 100px;

    hyphens: auto;

    -webkit-hyphens: auto;

    -moz-hyphens: auto;

}



*/

#inhaltsbereich .frame-startseitevorteile .ce-bodytext li:before {
	position: absolute;
	content: url("/fileadmin/cn_website/images/zahn-icon-haken.svg");
	left: 0px;
	top: 20px;
	width: 60px;
	height: 60px

}

/* Expertise */
#inhaltsbereich .frame-expertise .ce-gallery .ce-column {
	position: relative;
	width: unset;
	width: calc(33% - 10px);
}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column .image {
	border-radius: 40px 40px 0 40px;
	background: var(--rot)

}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column .image img {
	position: relative;
	border-radius: 40px 40px 0 40px;
	opacity: 0.5;
	width: 100%;
    height: auto;
    max-width: unset;
}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column:nth-of-type(1) .image a:nth-of-type(1):after {
	position: absolute;
	content: url("/fileadmin/cn_website/images/leistungen.svg");
	width: 150px;
	height: 150px;
	left: calc(50% - 50px);
	top: 200px;
	filter: brightness(50);

}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column:nth-of-type(1) figcaption {
	position: absolute;
	top: 370px;
	color: var(--weiss);
	font-size: 30px;
	text-transform: uppercase;
	width: 100%;
	text-align: center;

}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column:nth-of-type(2) {
	margin-top: 80px

}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column:nth-of-type(2) .image a:after {
	position: absolute;
	content: url("/fileadmin/cn_website/images/service.svg");
	width: 150px;
	height: 150px;
	left: calc(50% - 71px);
	top: 200px;
	filter: brightness(50);

}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column figcaption {
	bottom: 30px;
	top: auto;
}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column:nth-of-type(2) figcaption {
	position: absolute;
	top: 370px;
	color: var(--weiss);
	font-size: 30px;
	text-transform: uppercase;
	width: 100%;
	text-align: center;

}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column:nth-of-type(3) .image a:after {
	position: absolute;
	content: url("/fileadmin/cn_website/images/baer.svg");
	width: 150px;
	height: 150px;
	left: calc(50% - 80px);
	top: 200px;
	filter: brightness(50);

}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column:nth-of-type(3) figcaption {
	position: absolute;
	top: 370px;
	color: var(--weiss);
	font-size: 30px;
	text-transform: uppercase;
	width: 100%;
	text-align: center;
	line-height: unset;
}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column figcaption {
	bottom: 30px;
	top: auto !important;
	width: calc(100% - 20px) !important;
	padding: 0 10px;
}

#inhaltsbereich .frame-expertise .ce-gallery .ce-column .image a:after {
	bottom: 90px;
	top: auto !important;
}

/*  ++ Anpassung Expertise ++ */
#inhaltsbereich .frame-expertise .ce-gallery a {
	position: relative;
}

#inhaltsbereich .frame-expertise .ce-gallery a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    border-radius: 40px 40px 0 40px;
}

/* Sprechzeiten */

.frame-sprechzeiten .tx_cn-columns {
	max-width: var(--inhaltsbreite);
	float: none;
	margin: 0 auto

}

.frame-sprechzeiten .table {
	padding: 0;
	margin: 6px 0 0 60px;
	border-spacing: 0;
	border-collapse: collapse;
}

.frame-sprechzeiten table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;

}

.frame-sprechzeiten .table tr, .frame-sprechzeiten .table td {
	border: 0;
	padding: 0;
	margin: 0;
	border-spacing: 0;
	border-collapse: collapse;
	text-align: left;
}

.frame-sprechzeiten .table tr {
	width: 100%;

}

.frame-sprechzeiten .table td {
	padding: 11px;

}

.frame-sprechzeiten .table tr:nth-of-type(odd) {
	background: var(--hellrosa);
	border: 0;
	padding: 0;
	margin: 0

}

.frame-sprechzeiten .tx_cn-columns .col-50 a:nth-of-type(1) {
	position: relative;
	float: left;
	padding: 10px 20px;
	border: 2px solid var(--hellrosa);
	border-radius: 15px;
	font-weight: bold;
	margin-top: 20px;
	text-decoration: none;

}

.frame-sprechzeiten .tx_cn-columns .col-50 a:nth-of-type(1):after {
	position: absolute;
	content: url("/fileadmin/cn_website/images/zahn.svg");
	transform: rotate(20deg);
	width: 30px;
	height: 30px;
	right: -14px;
	top: -16px;

}

/* Leistungsspektrum */

#inhaltsbereich .frame-leistungsspektrum {
	max-width: var(--inhaltsbreite);
	float: none;
	margin: 40px auto 0;
	padding: 0 0 40px 0

}

#inhaltsbereich .frame-leistungsspektrum .ce-row {
	width: 33%;
	float: left
}

#inhaltsbereich .frame-leistungsspektrum .ce-bodytext {
	width: 60%

}

#inhaltsbereich .frame-leistungsspektrum .ce-gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#inhaltsbereich .frame-leistungsspektrum .ce-gallery::after {
	content: "";
  	flex: auto;
}

#inhaltsbereich .frame-leistungsspektrum .ce-gallery .ce-row {
	width: calc(33% - 7px);
	margin-bottom: 20px;
}

#inhaltsbereich .frame-leistungsspektrum .ce-gallery .ce-row:last-child {
	margin-left: 20px;
}

#inhaltsbereich .frame-leistungsspektrum .ce-column a {
    height: 250px;
    border: 2px solid var(--lightgrey);
    box-shadow: 0px 3px 6px var(--lightgrey);
    border-radius: 40px 40px 0 40px;
    width: calc(100% - 4px);
    transition: var(--standardtransition);
    display: flex;
    padding-top: 60px;
    /* align-content: center; */
    flex-wrap: wrap;
	position: relative;
}

#inhaltsbereich .frame-leistungsspektrum .ce-column a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    z-index: 1;
    border-radius: 40px 40px 0 40px;
}

#inhaltsbereich .frame-leistungsspektrum .ce-column figcaption {
    color: var(--rot);
	position: absolute;
    bottom: 50px;
	left: 20px;
	right: 20px;
    /* padding: 0 10px; */
    text-transform: uppercase;
    font-size: 26px;
    line-height: normal;
    text-align: center;
    font-weight: bold;
    /* width: calc(100% - 20px); */
    /* hyphens: auto; */
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    /* margin-top: 20px;*/
}

#inhaltsbereich .frame-leistungsspektrum .ce-column:hover a {
	background: var(--rot);

}

#inhaltsbereich .frame-leistungsspektrum .ce-column:hover img {
	filter: brightness(50);

}

#inhaltsbereich .frame-leistungsspektrum .ce-column:hover figcaption {
	color: var(--weiss)

}

#inhaltsbereich .frame-leistungsspektrum .image picture {
	text-align: center;
	width: 100%

}

#inhaltsbereich .frame-leistungsspektrum .image picture img {
	display: inline-block;
}

#inhaltsbereich .frame-leistungsspektrum .image {
	position: relative;
	width: 100%;

}

/* Leistungen Unterseite */

#inhaltsbereich .frame-leistungenunterseite {
	max-width: var(--inhaltsbreite);
	float: none;
	margin: 40px auto;
	line-height: 1.1;
	/* -s */
	/* text-align: left; */

}

#inhaltsbereich .frame-leistungenunterseite header {
	position: absolute;
	border: 1px solid var(--schwarz);
	top: -200px;

}

#inhaltsbereich .frame-leistungenunterseite .tx_cn-columns .row {
	display: flex;
	align-items: center

}

#inhaltsbereich .frame-leistungenunterseite .col-33 {
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 0;
	height: calc(100% + 80px);
	width: calc(33.3% - 20px);
	padding: 40px 20px 40px 0;
  hyphens: auto;
}

#inhaltsbereich .frame-leistungenunterseite .ce-bodytext {
	text-align: left;
}

#inhaltsbereich .frame-leistungenunterseite .col-66 {
	border-left: 2px solid var(--rot);

}

#inhaltsbereich .frame-leistungenunterseite .col-66 li {
	float: left;
	width: 50%

}

#inhaltsbereich .frame-leistungenunterseite .tx_cn-columns .row ul {
	margin: 10px 0 0 80px;
	float: left;
	clear: both;
	width: calc(100% - 80px);
	list-style-type: none;
  display: flex;
  flex-wrap: wrap;
}

#inhaltsbereich .frame-leistungenunterseite .tx_cn-columns .row li {
	position: relative;
	float: left;
	width: calc(50% - 80px);
	padding: 20px 10px 0 70px;
	font-size: 18px;
	margin-left: 0;
	min-height: 70px;
	list-style: none;
	margin: 20px 0 0;
	hyphens: auto;
}

#inhaltsbereich .frame-leistungenunterseite .tx_cn-columns .row li:before {
	position: absolute;
	content: url("/fileadmin/cn_website/images/zahn-icon-haken.svg");
	left: 0;
	top: 0;
	width: 60px;

}

/* Leistungen Unterseite Teil 1  */

#inhaltsbereich .frame-leistungenunterseite1 {
	float: left;
	background: var(--hintergrundrosa);
	line-height: 1.6;
	padding: 0 0 40px;

}

#inhaltsbereich .frame-leistungenunterseite1 > .rahmen {
	max-width: var(--inhaltsbreite);
	margin: 40px auto;

}

#inhaltsbereich .frame-leistungenunterseite1 .ce-gallery {
	width: 33%;

}

#inhaltsbereich .frame-leistungenunterseite1 .ce-gallery img {
	border-radius: 40px 40px 0 40px;
	width: unset;
	height: unset;

}

#inhaltsbereich .frame-leistungenunterseite1 .ce-bodytext {
	float: left;
	width: calc(66% - 105px);
	margin-left: 105px;

}

#inhaltsbereich .frame-buttonleistungueberblick > .rahmen {
	max-width: var(--inhaltsbreite);
	margin: 0 auto

}

#inhaltsbereich .frame-buttonleistungueberblick.frame {
	margin-top: -10px;
	margin-bottom: -10px
}

#inhaltsbereich .frame-buttonleistungueberblick a {
	position: relative;
	float: right;
	padding: 10px 20px 10px 30px;
	border: 2px solid var(--rot);
	border-radius: 15px;
	font-weight: bold;
	margin: 20px 15px 0 0;
	text-decoration: none;

}

#inhaltsbereich .frame-buttonleistungueberblick a:before {
	position: absolute;
	content: url("/fileadmin/cn_website/images/zahn_rot.svg");
	transform: rotate(20deg); /* Drehung um 45 Grad */
	width: 30px;
	height: 30px;
	right: -14px;
	top: -16px

}

#inhaltsbereich .frame-buttonleistungueberblick a:after {
	position: absolute;
	content: "\00BB";
	width: 10px;
	height: 10px;
	left: 13px;
	top: 8px

}

/* Kinderbehandlungen */

#inhaltsbereich .frame-kinderbehandlungenoben > .rahmen {
	max-width: var(--inhaltsbreite);
	margin: 0 auto

}

/* Team */

#inhaltsbereich .frame-team {
	background: var(--hellrosa);
	margin: 0 20px 40px 5%;
	width: calc(45% - 20px);
	border-radius: 40px 40px 40px 0;
	overflow: hidden;
	float: left;
	clear: none;
	height: 0;
	padding-bottom: 20%;
}

#inhaltsbereich .frame-team:nth-child(odd) {
	margin: 0 5% 40px 20px;
}

#inhaltsbereich .frame-team .ce-gallery {
	width: 36%
}

#inhaltsbereich .frame-team .ce-gallery figcaption {
	position: absolute;
	float: left;
	bottom: 0;
	left: 0;
	color: var(--weiss);
	font-size: 16px;
	padding: 10px 40px;
	background: rgba(185, 42, 57, 0.5);
	min-height: 80px;
}

#inhaltsbereich .frame-team .ce-bodytext {
	position: relative;
	font-size: 16px;
	overflow: visible;
	z-index: 2;
	line-height: 1.2em;
	margin-top: 40px;
	width: 60%;
}

#inhaltsbereich .frame-team .ce-bodytext:before {
	position: absolute;
	content: "";
	transform: rotate(-20deg); /* Drehung um 45 Grad */
	top: 10px;
	left: 100px;
	width: 140px;
	height: 140px;
	background: url("/fileadmin/cn_website/images/zahn.svg") no-repeat;
	filter: brightness(50);
	opacity: 0.25;
	z-index: -1;

}

#inhaltsbereich .frame-team:nth-child(even) .ce-bodytext:before {
	transform: rotate(20deg); /* Drehung um 45 Grad */

}

#inhaltsbereich .frame-kinderbehandlungenoben .ce-gallery .ce-outer, #inhaltsbereich .frame-kinderbehandlungenoben .ce-gallery picture {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: stretch;

}

#inhaltsbereich .frame-kinderbehandlungenoben .image a {
	width: 100%

}

#inhaltsbereich .frame-kinderbehandlungenoben .ce-row {
	width: 25%
}

#inhaltsbereich .frame-kinderbehandlungenoben > .rahmen .ce-bodytext {
	width: 60%
}

#inhaltsbereich .frame-kinderbehandlungenoben .ce-column {
	position: relative;
	float: left;
	width: calc(100% - 40px);
	height: 290px;
	border: 2px solid var(--lightgrey);
	box-shadow: 0px 3px 6px var(--lightgrey);
	border-radius: 40px 40px 0 40px;
	margin: 30px 20px

}

#inhaltsbereich .frame-kinderbehandlungenoben .ce-gallery .image {
	width: 100%;
	margin: 0 auto

}

#inhaltsbereich .frame-kinderbehandlungenoben .ce-gallery img {
	padding-top: 40px;
	margin: 0 auto

}

#inhaltsbereich .frame-kinderbehandlungenoben .ce-gallery figcaption {
	position: absolute;
	width: calc(100% - 10%);
	margin: 0 5%;
	text-align: center;
	color: var(--rot);
	text-transform: uppercase;
	top: 160px;
	font-size: 22px;
	line-height: 1.6em;
	hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
}

#inhaltsbereich .frame-kinderbehandlungenodd {
	float: left;
	background: var(--hintergrundrosa);
	line-height: 1.6em;
	padding-bottom: 40px

}

#inhaltsbereich .frame-kinderbehandlungeneven {
	float: left;
	line-height: 1.6em;
	padding-bottom: 20px
}

#inhaltsbereich .frame-kinderbehandlungenodd > .rahmen, #inhaltsbereich .frame-kinderbehandlungeneven > .rahmen {
	max-width: var(--inhaltsbreite);
	margin: 20px auto;

}

#inhaltsbereich .frame-kinderbehandlungenodd .ce-bodytext, #inhaltsbereich .frame-kinderbehandlungeneven .ce-bodytext {
	float: left;
	width: calc(70% - 120px);
	margin: 0 60px 0 60px

}

#inhaltsbereich .frame-kinderbehandlungenodd .ce-gallery, #inhaltsbereich .frame-kinderbehandlungeneven .ce-gallery {
	width: 200px;

}

#inhaltsbereich .frame-kinderbehandlungenodd .ce-gallery img, #inhaltsbereich .frame-kinderbehandlungeneven .ce-gallery img {
	margin: 0 auto;
	width: 120px;
	height: auto;
}

#inhaltsbereich .frame-kinderbehandlungeneven header {
	margin-top: 0px

}

#inhaltsbereich .frame.frame-kinderbehandlungeneven {
	margin: 20px 0

}

#inhaltsbereich .frame-kinderspielecke {
	max-width: var(--inhaltsbreite);
	margin: 40px auto;
	float: unset;
	padding-top: 20px

}

#inhaltsbereich .frame-kinderspielecke .ce-bodytext {
	float: left;
	width: calc(50% - 15%);
	margin-right: 15%

}

#inhaltsbereich .frame-kinderspielecke .ce-gallery {
	float: right;
	width: 50%

}

#inhaltsbereich .frame-kinderspielecke .ce-gallery img {
	border-radius: 40px 40px 40px 0;

}

/* News-List-Start */

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 {
	position: relative;
	max-width: var(--inhaltsbreite);
	float: none;
	margin: 60px auto;
}

/* #inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news {
	padding: 0 60px

} */

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .owl-nav {
	position: absolute;
	top: 50%;
	width: 100%;

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .owl-nav .owl-prev {
	position: absolute;
	top: 50%;
	left: -20px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 19px 21px 19px;
	border-color: transparent transparent var(--hellrosa) transparent;
	transform: rotate(270deg);

}

#inhaltsbereich .news-listslider-container {
	float: left;
	clear: both;
	width: 100%;

}

#inhaltsbereich .news-listslider-container h2 a {
	hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .owl-nav .owl-next {
	position: absolute;
	top: 50%;
	right: -20px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 0 19px 21px 19px;
	border-color: transparent transparent var(--hellrosa) transparent;
	transform: rotate(90deg);

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .owl-nav .owl-prev span, #inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .owl-nav .owl-next span {
	display: none

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .owl-item .article {
	position: relative;
	min-height: 400px;
	padding: 20px 10px;
	-webkit-box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.1);
	margin: 20px;
	width: unset;

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .owl-item .article .news-list-date {
	display: none

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .article .news-img-wrap {
	margin: 0 auto;
	text-align: center

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .article .news-img-wrap a {
	padding: 0;
	border: 0

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news-img-wrap {
	margin: 20px;
	clear: both;

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news-img-wrap, #inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news-content {
	margin: 0 auto;
	clear: both;

}

#inhaltsbereich .frame .news-listslider-container .news-content {
	float: left;
	margin: 20px 10px;
	width: calc(100% - 20px)

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news-content h3 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news-content a.more {
	position: absolute;
	bottom: 20px;
	left: 42%;
	color: var(--rot);

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news-content a.more:before {
	position: absolute;
	content: ">";
	width: 10px;
	height: 10px;
	left: -16px;
	top: -1px

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .article .news-img-wrap {
	margin: 0 auto;
	float: left;
	clear: both;
	width: 100%

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .article .news-img-wrap a {
	float: left;
	width: 100%

}

#inhaltsbereich .frame-type-news_pi1.frame-layout-3 .news .article .news-img-wrap img {
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	margin: 0 auto;
	float: unset;
	width: 200px;
	height: 200px;

}

.news .article .news-img-wrap img {
	border-radius: 40px 40px 0 40px;
}


/* Überschrift im Header */

#header .frame-ueberschriftimheader, #header .frame-ueberschriftimheader .rahmen {
	width: 100%;
	float: left;
	background: var(--hintergrundrosa);
	padding: 20px 0

}

#header .frame-ueberschriftimheader header {
	position: relative;
	margin: 0 auto;
	padding: 0;
	max-width: var(--inhaltsbreite);
	width: 100%;
	background: unset;

}

#header .frame-ueberschriftimheader header > * {
	width: 90%;
	margin: 0 5%
}

#header .frame-ueberschriftimheader header h1 span:nth-of-type(1) {
	position: relative;
	float: left;
	font-size: 36px;
	margin: 10px 0;
	font-weight: bold;
	text-transform: uppercase;
	line-height: normal;
}

#header .frame-ueberschriftimheader header span:nth-child(1) {
	float: unset;
	margin: 0

}

#header .frame-ueberschriftimheader header h1 span:nth-of-type(1):before {
	position: absolute;
	content: "";
	left: 0;
	top: -20px;
	height: 3px;
	width: 100%;
	background: var(--rot)

}

#header .frame-ueberschriftimheader header h1 span:nth-child(2) {
	float: left;
	clear: both;
	font-size: 26px;
	margin: 10px 0 0 10%;
	/* white-space: nowrap; */

}

/* Überschrift im Header und weiße Schrift mit rotem Hintergrund */

#header .frame-ueberschriftimheaderrot, #header .frame-ueberschriftimheaderrot .rahmen {
	width: 100%;
	float: left;
	background: var(--rot);
	padding: 20px 0

}

#header .frame-ueberschriftimheaderrot header {
	position: relative;
	margin: 0 auto;
	padding: 0;
	max-width: var(--inhaltsbreite);
	width: 100%;
	background: unset;
	color: var(--weiss)

}

#header .frame-ueberschriftimheaderrot header h1 span:nth-of-type(1) {
	position: relative;
	float: left;
	font-size: 36px;
	margin: 10px 0;
	font-weight: bold;
	text-transform: uppercase;

}

#header .frame-ueberschriftimheaderrot header span {
	color: var(--weiss)

}

#header .frame-ueberschriftimheaderrot header span:nth-child(1) {
	float: unset;
	margin: 0

}

#header .frame-ueberschriftimheaderrot header h1 span:nth-of-type(1):before {
	position: absolute;
	content: "";
	left: 0;
	top: -20px;
	height: 3px;
	width: 100%;
	background: var(--weiss)

}

#header .frame-ueberschriftimheaderrot header h1 span:nth-child(2) {
	float: left;
	clear: both;
	font-size: 26px;
	margin: 10px 0 0 10%;
	white-space: nowrap;

}

/* Praxis */

#inhaltsbereich .frame-drurlinger {
	background: var(--hintergrundrosa)

}

#inhaltsbereich .frame-drurlinger .rahmen {
	max-width: var(--inhaltsbreite);
	margin: 0 auto

}

#inhaltsbereich .frame-drurlinger .ce-gallery {
	float: right;
	width: 40%;

}

#inhaltsbereich .frame-drurlinger .ce-gallery .ce-column:before {
	content: "";
	position: absolute;
	top: 72px;
	left: 60%;
	transform: rotate(20deg);
	width: 150px;
	height: 150px;
	background: url("/fileadmin/cn_website/images/zahn.svg") no-repeat;
	filter: brightness(75);

}

#inhaltsbereich .frame-drurlinger .ce-gallery .ce-column {
	position: relative;
	background: var(--hellrosa);
	margin: 60px 0;
	border-radius: 40px 40px 40px 0;

}

#inhaltsbereich .frame-drurlinger .ce-bodytext {
	float: left;
	clear: none;
	width: 50%;
	margin: 50px 0

}

#inhaltsbereich .frame-werdegang {
	margin-bottom: 40px

}

#inhaltsbereich .frame-werdegang .rahmen {
	max-width: var(--inhaltsbreite);
	margin: 0 auto

}

#inhaltsbereich .frame-werdegang .col-100:nth-child(odd) {
	float: left;
	border-right: 2px solid var(--rot);

}

#inhaltsbereich .frame-werdegang .col-100:nth-child(even) {
	border-left: 2px solid var(--rot);

}

#inhaltsbereich .frame-werdegang .col-100 {
	float: right;
	clear: both;
	margin: 0 10px;
	width: calc(50% - 11px)

}

#inhaltsbereich .frame-werdegang .col-100:first-of-type {
	padding-top: 50px

}

#inhaltsbereich .frame-werdegang .col-100:last-of-type {
	padding-bottom: 50px

}

#inhaltsbereich .frame-werdegang .col-100 h3 {
	font-size: 26px;
	font-weight: bold;
	margin: 0;
	padding: 0

}

#inhaltsbereich .frame-werdegang .col-100:nth-child(even) h3 {
	text-align: right

}

#inhaltsbereich .frame-werdegang .col-100 header {
	position: relative;
	margin: 0;
	padding: 0

}

#inhaltsbereich .frame-werdegang .col-100 header:before {
	position: absolute;
	content: "";
	display: block;
	top: 25px;
	width: 16px;
	height: 16px;
	background: var(--rot);
	border-radius: 100%;

}

#inhaltsbereich .frame-werdegang .col-100:nth-child(even) header:before {
	left: -9px;

}

#inhaltsbereich .frame-werdegang .col-100:nth-child(odd) header:before {
	right: -9px;

}

#inhaltsbereich .frame-werdegang .col-100:nth-child(odd) header {
	float: right;
	width: 300px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--rot);
	border-bottom: 2px solid var(--rot);

}
/* -s */
#inhaltsbereich .frame-werdegang .ce-bodytext {
	text-align: left;
}

#inhaltsbereich .frame-werdegang .col-100:nth-child(odd) .ce-textpic {
	clear: both;
	float: left;
	/* margin: 40px 0 0 150px; */
	margin: 40px 70px 0 80px;
	width: unset;
	/* width: calc(100% - 90px);
	margin: 40px 20px 0 70px; */
}

#inhaltsbereich .frame-werdegang .col-100:nth-child(even) header {
	width: 300px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--rot);
	border-bottom: 2px solid var(--rot);

}

#inhaltsbereich .frame-werdegang .col-100:nth-child(even) .ce-textpic {
	clear: both;
	float: left;
	/* width: calc(100% - 110px);
	margin: 40px 0 0 110px */
	width: calc(100% - 70px);
    margin: 40px 0 0 70px;

}

/* News / Aktuelles */

/* #inhaltsbereich .frame-type-news_pi1, #inhaltsbereich .frame-type-news_pi1 .rahmen {
	width: 100%;
	max-width: unset;

} */

#inhaltsbereich .news .article {
	position: relative;
	max-width: var(--inhaltsbreite);
	margin: 0 auto;
	padding: 0 20px;

}

#inhaltsbereich .news-single .article {
	padding: 0 0 0 0;
}

#inhaltsbereich .news .news-img-wrap {
	float: left;
	width: 350px;
	margin: 0;
	padding: 0;
	background: transparent;

}

#inhaltsbereich .news .article .news-img-wrap a {
    padding: 0;
    border: none;
    background: none;
}

#inhaltsbereich .news .news-content {
	float: left;
	width: calc(100% - 350px);
	text-align: justify;
	max-width: 700px;
}

#inhaltsbereich .news .news-content .news-text {
	text-align: left;
}

#inhaltsbereich .news .news-content h2 {
	text-align: left;
}

#inhaltsbereich .newswrap {
	padding: 40px 0

}

#inhaltsbereich .newswrap:nth-of-type(even) {
	background: var(--hintergrundrosa)

}

#inhaltsbereich .newswrap h2 {
	padding: 0 0 20px 0;
	margin: 0;
	font-weight: bold

}

#inhaltsbereich .newswrap a.more {
	position: absolute;
	right: 40px;
	bottom: 0;
	color: var(--rot)

}

#inhaltsbereich .newswrap a.more:before {
	content: ">";
	width: 10px;
	height: 10px;
	left: -16px;
	top: -1px;

}

#inhaltsbereich > .frame.frame-type-news_newsdetail {
	margin-top: 0

}

#inhaltsbereich .frame-type-news_newsdetail > .rahmen {
	max-width: unset;
	width: auto
}

#inhaltsbereich .frame-type-news_newsdetail .news-detail-wrap,
#inhaltsbereich .news-single .header h1{
	width: 90%;
	margin: 0 5%;
}

#inhaltsbereich .news-single .header {
	float: left;
	width: 100%;
	background: var(--hintergrundrosa);
	padding: 60px 0 70px 0

}

#inhaltsbereich .news-single .header h1 {
	position: relative;
	max-width: var(--inhaltsbreite);
	margin: 0 auto;

}

#inhaltsbereich .news-single h1 span:nth-of-type(1)::before {
	top: -20px

}

#inhaltsbereich .news-single .news-text-wrap {
	float: left;
	width: calc(100% - 390px);
	margin-left: 40px;
	text-align: justify;
	max-width: 700px;

}

#inhaltsbereich .news-single .header {
	margin-bottom: 40px

}

#inhaltsbereich .news-single .article {
	max-width: unset;

}

#inhaltsbereich .news-single .article .news-detail-wrap {
	position: relative;
	max-width: var(--inhaltsbreite);
	margin: 0 auto;
	margin-bottom: 40px;
	padding: 40px 0;
	display: block;

}

#inhaltsbereich .news-single .article .news-backlink-wrap {
	position: absolute;
	right: 0;
	bottom: 0

}

#inhaltsbereich .news-single .article .news-backlink-wrap a {
	color: var(--rot)

}

#inhaltsbereich .news-single .article .news-backlink-wrap a:before {
	content: "<";
	width: 10px;
	height: 10px;
	left: -16px;
	top: -1px;

}

#inhaltsbereich .news-single h1 {
	font-weight: bold;
	font-size: 30px

}

/* Kontaktformular */

#inhaltsbereich .frame-kontakt .col-50:nth-child(1) {
	width: calc(50% - 20px);
	padding-right: 20px

}

#inhaltsbereich .frame-kontakt header {
	display: none

}

#inhaltsbereich .tx-powermail {
	width: 100%;
	float: right

}

#inhaltsbereich .tx-powermail fieldset {
	float: left;
	width: 100%;
	border: 0;
	margin: 0;
	padding: 0

}

#inhaltsbereich .tx-powermail .powermail_fieldwrap {
	float: left;
	clear: both;
	margin-bottom: 20px;

}

#inhaltsbereich .tx-powermail .powermail_label {
	float: left;
	clear: both;
	min-width: 150px;
	padding-top: 4px;

}

#inhaltsbereich .tx-powermail .powermail_field {
	float: left

}

#inhaltsbereich .tx-powermail .powermail_field .powermail_input,
#inhaltsbereich .tx-powermail .powermail_field .powermail_captcha,
#inhaltsbereich .tx-powermail .powermail_field textarea {
	float: left;
	clear: both;
	width: 400px;
	height: 28px;
	font-size: 16px;
	color: var(--linkfarbe);
	border-radius: 4px;
	border: 1px solid var(--linkfarbe);
	-webkit-appearance: none;
}

#inhaltsbereich .tx-powermail .powermail_field textarea {
	width: 400px;
	height: 200px;
	font-family: 'Montserrat';
	resize: none;

}

#inhaltsbereich .tx-powermail #powermail_captchaimage {
	float: left;
	clear: both;
	margin-top: 20px

}

#inhaltsbereich .tx-powermail .powermail-errors-list, #inhaltsbereich .tx-powermail .powermail_message_error {
	color: var(--rot);
	float: left;
	clear: both;
	margin-top: 5px;
}

#inhaltsbereich .powermail_legend.nolabel {
    display: block;
    width: 0px;
    height: 0px;
    overflow: hidden;
    text-indent: -999px;
    white-space: nowrap;
    margin: 0;
    border: 0;
}

.powermail_fieldwrap_type_check .powermail_field .powermail_checkwrap .powermail_checkbox,
.powermail_fieldwrap_type_radio .radio .powermail_radio {
    display: inline-block;
    width: 24px;
    height: 24px;
    padding: 0;
    margin-right: 15px;
}

.powermail_field_error:not(.powermail_field_error_container) {
    outline: var(--rot) solid 4px;
    padding: 5px;
    margin-top: 15px;
}

/* #inhaltsbereich .tx-powermail .powermail_fieldwrap_datenschutz input {
	width: 20px;
	height: 20px;
	margin: 5px 15px 0 0;
} */

/* #inhaltsbereich .tx-powermail .powermail_field .checkbox {
	position: relative;
	float: left;
	width: 400px;
	margin: 6px 0 0;
} */

/* #inhaltsbereich .tx-powermail .powermail_field .checkbox input {
	position: absolute;
	top: 0;
	left: -4px;
	border: none;
	-webkit-appearance: none;
} */

/* [type="checkbox"]::before {
	width: 15px;
	height: 15px;
	border-radius: 50px;
	border: 2px solid var(--rot);
	background-color: var(--weiss);
	display: block;
	content: "";
	float: left;
	margin-right: 5px;
	z-index: 5;
	position: relative;
} */

/* [type="checkbox"]:checked::before {
	box-shadow: inset 0px 0px 0px 3px var(--weiss);
	background-color: var(--rot);
} */

/* #inhaltsbereich .tx-powermail .powermail_fieldwrap_datenschutz .checkbox > label {
	float: left;
}

#inhaltsbereich .tx-powermail .powermail_fieldwrap_datenschutz .powermail-errors-list {
	padding-left: 40px
} */

#inhaltsbereich .tx-powermail .powermail_submit {
    background: var(--rot);
    border: 0 !important;
    color: var(--weiss) !important;
    font-weight: bold;
    cursor: pointer;
    padding: 10px 15px;
    font-size: 18px;
    border-radius: 10px;
}

#inhaltsbereich .tx-powermail .powermail_submit:focus-visible {
	outline: 4px solid var(--linkfarbe);
}

#inhaltsbereich .tx-powermail .powermail_create {
	color: var(--rot);
	font-weight: bold;

}

body.page7 #inhaltsbereich .ce-bodytext {
	width: 60%;
}

/* Bildslider */

#inhaltsbereich .frame.frame-bildslider {
	margin: 40px auto 0 auto;

}

.frame-bildslider .ce-gallery {
	max-width: calc(var(--inhaltsbreite) - 100px);
	margin: 0 auto;
	width: calc(95% - 80px);

}

.frame-bildslider .ce-left .ce-gallery {
	float: unset;
	position: relative;

}

.frame-bildslider .ce-gallery .owl-nav span {
	display: none

}

.frame-bildslider .ce-gallery .owl-nav .owl-next {
	position: absolute;
	top: calc(50% - 20px);
	right: -60px;
	width: 0px;
	height: 0px;
	border-top: 20px solid transparent; /* skyblue */
	border-right: 20px solid transparent; /* limegreen;  */
	border-bottom: 20px solid transparent; /* orange; */
	border-left: 20px solid var(--hellrosa);

}

.frame-bildslider .ce-gallery .owl-nav .owl-prev {
	position: absolute;
	top: calc(50% - 20px);
	left: -60px;
	width: 0px;
	height: 0px;
	border-top: 20px solid transparent; /* skyblue */
	border-right: 20px solid var(--hellrosa); /* limegreen;  */
	border-bottom: 20px solid transparent; /* orange; */
	border-left: 20px solid transparent;

}

.frame-bildslider .ce-gallery .owl-item.active.center {
	padding-top: 40px

}

.frame-bildslider .owl-dots {
	display: none;
}


.frame-bildslider .ce-gallery .image picture img {
	border-radius: 20px;

}

.slidein {
    height: 0;
}

.slidein > .frame > .rahmen {
	background: var(--hellblau);
	padding: 20px 20px 20px 40px;

}

body .slidein > .frame > header.button, .slideinmob .button.textbutton {
	background: var(--dunkelblau);
	font-weight: bold;
	text-transform: uppercase;
	color: var(--schwarz);
}

body .slidein > .frame > header.button, .slideinmob .button.textbutton > span {
	color: var(--schwarz);	
}

.slideinmob {
    position: fixed;
    left: 0;
    top: 20vh;
    z-index: 12;
}


/* Footer */

#footer {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
	background: var(--rot);
	margin-top: 40px

}

#footer .rahmen {
	max-width: var(--inhaltsbreite);
	margin: 0 auto;
	width: 90%;
}

#footer .rahmen .rahmen {
	width: 100%;
}

#footer .rahmen .col-50 {
	text-align: right
}

#footer #conceptnet {
	position: absolute;
	right: 20px;
	bottom: 0
}

#footer li, #footer ul{
	list-style: none;
	padding: 0;
	margin: 0 0 0 0;
}

#footer .tx_cn-multicontent {
	margin: 40px 0 20px;
	color: var(--weiss)

}

#footer .tx_cn-multicontent a {
	color: var(--weiss)

}

#footer .tx_cn-multicontent .col-25:nth-of-type(2) li {
	margin-left: 26px

}

#footer .tx_cn-multicontent .col-25:nth-of-type(2) li {
	position: relative;
}

#footer .tx_cn-multicontent .col-25:nth-of-type(2) li:nth-of-type(1):before {
	content: url('/fileadmin/cn_website/images/telefon.svg');
	width: 18px;
	height: 18px;
	left: -26px;
	top: 2px;
	position: absolute;

}

#footer .tx_cn-multicontent .col-25:nth-of-type(2) li:nth-of-type(1):before {
	content: url('/fileadmin/cn_website/images/telefon.svg');
	width: 18px;
	height: 18px;
	left: -26px;
	top: 2px;
	position: absolute;

}

#footer .tx_cn-multicontent .col-25:nth-of-type(2) li:nth-of-type(2):before {
	content: url('/fileadmin/cn_website/images/telefax.svg');
	width: 18px;
	height: 18px;
	left: -26px;
	top: 2px;
	position: absolute;

}

#footer .tx_cn-multicontent .col-25:nth-of-type(2) li:nth-of-type(3):before {
	content: url('/fileadmin/cn_website/images/email.svg');
	width: 18px;
	height: 18px;
	left: -26px;
	top: 2px;
	position: absolute;

}

.tx_cn-columns[data-cols="2"] .row > div > div {
	width: 100%

}

.tx_cn-columns[data-cols="2"] .row > div:nth-child(2n+1) > div, .tx_cn-columns[data-cols="2"] .row > div:nth-child(2n) > div, .tx_cn-columns[data-cols="3"] .row > div:nth-child(3n) > div {
	margin: 0

}

.tx_cn-columns[data-cols="3"] .row > div > div {
	width: 100%

}

/*-- Multicontent --*/
.tx_cn-columns .row .col-25 {
    width: 25%;
}
/*-- Multicontent --*/

#footer .tx_cn-multicontent .col-25:nth-child(2),
#footer .tx_cn-multicontent .col-50 {
	margin-top: 26px
}

/* #footer .tx_cn-multicontent .col-50 {
	margin-top: 52px;
} */

/*~ Button Hover Effekt ~*/
#inhaltsbereich .frame-drurlingerstartseite .col-50 .ce-bodytext a,
.frame-sprechzeiten .tx_cn-columns .col-50 a,
#inhaltsbereich .frame-buttonleistungueberblick a,
.frame-sprechzeiten .tx_cn-columns .col-50 a,
#inhaltsbereich .tx-powermail .powermail_submit {
	transition: var(--standardtransition);
}

#inhaltsbereich .frame-drurlingerstartseite .col-50 .ce-bodytext a:hover,
.frame-sprechzeiten .tx_cn-columns .col-50 a:hover,
#inhaltsbereich .frame-buttonleistungueberblick a:hover,
.frame-sprechzeiten .tx_cn-columns .col-50 a:hover,
#inhaltsbereich .tx-powermail .powermail_submit:hover {
	background: var(--dunkelblau) !important;
	color: #1e1e1e !important;
	border-color: var(--dunkelblau) !important;
}

#inhaltsbereich .frame-drurlingerstartseite .col-50:nth-of-type(1) .ce-bodytext a:nth-of-type(1):hover::after,
#inhaltsbereich .frame-buttonleistungueberblick a:hover::before {
    content: url(/fileadmin/cn_website/images/zahn.svg);
}

#inhaltsbereich .frame-type-header + div {
	margin-top: 0;
	padding-top: 0;
}

#inhaltsbereich .frame-type-header header {
	margin-bottom: 0;
}