/*
Theme Name: Kindertherapiepraxis-Theme
Theme URI: https://kindertherapiepraxis-greifswald.de
Author: Sven Albrecht
Author URI: https://advanced-simple.de/
Text Domain: ktg-theme
Version: 1.0
*/

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,caption,canvas,center,cite,code,dd,del,details,dfn,dialog,div,dl,dt,embed,fieldset,figcaption,figure,form,footer,header,hgroup,h1,h2,h3,h4,h5,h6,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,summary,tt,table,tbody,textarea,tfoot,thead,time,tr,th,td,u,ul,var,video{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;background:transparent}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin: 0 0 1.5rem;}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

/* apply a natural box layout model to all elements */
*, *:before, *:after {
  -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
 }
 
.test{
	display:none !important;
}
.assistive-text, .screen-reader-text, .screen-reader-response {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
}
@font-face {
    font-family: 'Source Sans Pro Bold';
    src: url('fonts/SourceSansPro-Bold.woff2') format('woff2'),
        url('fonts/SourceSansPro-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro Regular';
    src: url('fonts/SourceSansPro-Regular.woff2') format('woff2'),
        url('fonts/SourceSansPro-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans Pro Semibold';
    src: url('fonts/SourceSansPro-Semibold.woff2') format('woff2'),
        url('fonts/SourceSansPro-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

html{
	background-color:rgb(255,255,255);
	height:100%;
	position:relative;
}

body{
	color: rgb(44, 46, 54);
	font-family: Source Sans Pro Regular, Helvetica, Helvetica Neue, Arial;
    font-size: 1.6rem;
    line-height: 1.5em;
}
/* Typography =================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: Source Sans Pro Semibold, Tahoma, Verdana, sans-serif;
  font-weight: bold;
  text-rendering: optimizelegibility;
}
h1 {
  margin-bottom: 0.75em;
  font-size: 2.8rem;
  line-height: 1.2;
}
h2{
  margin-bottom: 0.75em;
  font-size: 2.4rem;
  line-height: 1.2;
}
h3{
  margin-bottom: 0.5em;
  margin-top: 1em;
  font-size: 2.1rem;
  line-height: 1.3;  
}
h4 {
  margin-bottom: 0.75em;
  margin-top: 0.75em;
  font-size: 1.8rem;
  line-height: 1.25;    
}
h5{
  font-size: 1.6rem;
  margin-bottom: 1.5em;
}
h6{
  margin-bottom: 1.5em;
  font-size: 1.5rem;
  font-weight: normal;
  letter-spacing: 1px;
  text-transform: uppercase;
}

p,
ol,
ul,
dl,
address {
  margin-bottom: 0.75em;
  font-size: 1.25rem;
  line-height: 1.4;
}
small {
  font-size: 1.4rem;
}
ul,
ol {
  margin: 0 0 1.5em -7px;
  padding: 0 0 0 24px;
}
li ul,
li ol {
  margin: 0;
  font-size: 1.5rem;
}
a{
   color: #fcc300;
   text-decoration:none;
}
a:hover, a:focus{
	color:#888;
}
dl {
	display: flex;
	flex-flow: row wrap;
	border: solid #333;
	border-width: 1px 0 0 0;
}
dt {
  flex-basis: 25%;
  padding: 8px 4px;
  border-bottom: 1px solid #333;
}
dd {
	flex-basis: 65%;
	flex-grow: 1;
	margin: 0;
	padding: 8px 4px 0;
	border-bottom: 1px solid #333;
}
p,[role="main"] ul, [role="main"] ol{
 -moz-hyphens: auto;
 -ms-hyphens: auto;
 -webkit-hyphens: auto;
 hyphens: auto;
}

.img-col img{
  width: 80%;
  box-shadow: 0 0 50px rgba(0,0,0,0.1);
}
main[role="main"] .wpcf7-form ul.formlist {
    list-style: none;
    padding: 0;
    margin: 0;
}
main[role="main"] .wpcf7-form ul.formlist li:not(.leavemealone) {
    padding-bottom: 0.75em;
    position: relative;
	padding-left: 0;
} 
.wpcf7-captcha, .wpcf7-form .wpcf7-date, .wpcf7-form .wpcf7-number, .wpcf7-form .wpcf7-quiz, .wpcf7-form .wpcf7-select, .wpcf7-form .wpcf7-text {
    padding-top: 0;
    padding-bottom: 0;
    height: 40px;
    background-color: #f5f5f5;
    font-size: 16px;
    color: #4f6969;
    border:none;
    border-radius: 5px;
    padding-right: 0;
    width:100%;
} 
.wpcf7-form input[type="text"],
.wpcf7-form input[type="date"]{
	padding:8px 15px;
}
.wpcf7-form textarea {
    border: 1px solid #d2d2d2;
    width: 100%;
    height: 150px;
    padding: 8px 15px;
    box-sizing: border-box;
    margin-right: 0;
    background-color: #f5f5f5;
    font-size: 16px;
    color: #4f6969;
    border:none;
    border-radius: 5px;
}
main[role="main"] .wpcf7-form legend{
	font-size:1.4rem;
	line-height:1.4;
	margin-bottom:1rem;
	color:#747474;
}
main[role="main"]  fieldset{
	margin-bottom:2rem;
	border:none;
	padding:0;
}
main[role="main"] .wpcf7-form label{
	line-height:1.4;	
}
.radio-item{    
   display: flex;
   align-items: center;
}
main[role="main"] fieldset.radiogroup{
	margin-bottom:0;
	flex: 0 0 auto;
    width: 75%;
    padding: 0 0.625rem;
}
main[role="main"] fieldset.radiogroup p{
	margin-bottom:0;
}
main[role="main"] .wpcf7-form legend.radiolegend,
main[role="main"] .wpcf7-form legend.checkboxlegend {
    color: inherit;  
	font-size:1.25rem;	
    padding-bottom: 0;
	margin-bottom:0;
}
.wpcf7-form .checkboxgroup{
	padding-top:1rem;
}
.wpcf7-checkbox .wpcf7-list-item{
	display:block;
	margin-left:0;
}
.wpcf7-form .wpcf7-checkbox label,
.wpcf7-form .wpcf7-radio label{
	display: flex;
    align-items: center;
}
.wpcf7-form .wpcf7-checkbox input[type="checkbox"],
.wpcf7-form .wpcf7-radio input[type="radio"]{
	margin-right:0.5rem;
}
.wpcf7-form input[type="radio"]{
	margin-top:0;
	width: 17px;
    height: 17px;
}
.wpcf7-form input[type="checkbox"]{
	height: 17px;
    width: 17px;	
}
.wpcf7-form .wpcf7-acceptance input[type="checkbox"]{
	float: left;  
	margin-top: 0.5rem;	
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label{
	display: block;
    padding-left: 2rem;
}
main[role="main"] .wpcf7-acceptance .wpcf7-list-item{
	margin-left:0;
}
main[role="main"] .wpcf7-submit{
  width: 100%;
  font-size: 1.4rem;
  background-color: #fff;
  color: #387fad;
  border: none;
  padding: 0.25rem 1rem;
  border: 1px solid #387fad;
}
main[role="main"] .wpcf7-submit:hover,
main[role="main"] .wpcf7-submit:focus{
	background-color: #387fad;
    color: #fff;
}
.logo-container{
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.logo-container .navbar-brand{
	width:280px;
	padding:1rem;
}
header[role="banner"] {
  z-index: 2;
  background-color:rgb(13, 51, 81);
}
nav#main-nav{
	background-color: #fff;
    border-top: 5px solid #fcc300;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	flex-wrap:wrap;
	top: 0;
	padding-top:0;
	padding-bottom:0;
	z-index:2;
}
.admin-bar nav#main-nav{
	top:30px;
}
.main-nav{
	justify-content:center;
}
.main-nav ul.navbar-nav{
	text-align: center;
	display:block;
    margin-right: 0;
}
.main-nav li {  
  text-align: center;
  display: inline-block;
}

.main-nav li a{
  color: #383838;
  text-decoration: none;
  font-family: Source Sans Pro Semibold, Tahoma, Verdana, sans-serif;
  position: relative;
  display: inline-block;
  text-transform: uppercase;
  font-size: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left:0.7rem;
  padding-right:0.7rem;
}
.main-nav li.home-item a{
	background-image: url(img/house-solid-full.svg);
    background-size: 30px 30px;
    background-position: 6px 46%;
    background-repeat: no-repeat;
    padding-left: 40px;
}
.main-nav li.current-menu-item a, .main-nav li a.mPS2id-highlight{
	background-color:rgba(0,0,0,0.05)
}
.main-nav li.current-menu-item a::before, .main-nav li a.mPS2id-highlight::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  bottom: 3px;
  left:0;
  margin: -5px 0;
  background-color: #5F493C;
}

#main-nav .logo-container{
	justify-content:center;
}
header[role="banner"] .navbar-toggler {
  width: 36px;
  height: 36px;
  position: relative;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  background: none;
  border: none;
  position: relative;
}
.navbar-toggler span {
  display: block;
  position: absolute;
  padding: 0;
  height: 2px;
  width: 20px;
  background: #fff;
  opacity: 1;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}
.navbar-toggler[aria-expanded="true"] span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 17px;
    left: 0px;
}
.navbar-toggler[aria-expanded="false"] span:nth-child(1) {
    top: 10px;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}
.navbar-toggler[aria-expanded="true"] span:nth-child(2) {
    width: 0%;
    opacity: 0;
}
.navbar-toggler[aria-expanded="false"] span:nth-child(2) {
    top: 17px;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}
.navbar-toggler[aria-expanded="true"] span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 17px;
    left: 0px;
}
.navbar-toggler[aria-expanded="false"] span:nth-child(3) {
    top: 24px;
    -webkit-transform-origin: left center;
    -moz-transform-origin: left center;
    -o-transform-origin: left center;
    transform-origin: left center;
}

.header-text-box{
	color:#fff;
	text-align:center;
}

.page-section.section-0,
.default-content{
	padding-top:3rem;
}
 :nth-last-child(1 of .page-section),
.default-content{
  padding-bottom:3rem;
}
.page-section .container,
.default-content .container{
	background-color:rgba(255,255,255,0.8);	
    padding: 2rem;
    border-right: 1px solid rgba(0,0,0,0.1);
    border-left: 1px solid rgba(0,0,0,0.1);
	border-top:1px dotted rgba(0,0,0,0.3);
}
.latest-news{
	border:2px solid #ff0000;
	padding:1rem 2rem;
	margin-bottom:2rem;
}
.news-head{
	color:#ff0000;
	text-align:center;
	margin-bottom:1rem;
	font-size:2rem;
}
.page-section.section-0 .container{
	border-top: 1px solid rgba(0,0,0,0.1);
}
:nth-last-child(1 of .page-section) .container{
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.page-section .section-header h3{
	margin-top:0;
}
.page-section ul:not(.formlist){
	list-style:none;
	padding-left:10px;
} 
.page-section ul:not(.formlist) > li{
	position:relative;
	padding-left:25px;
	margin-bottom:0.5rem;
}
.page-section ul:not(.formlist) > li::before{
  content: "";
  display: inline-block;
  background: transparent url(img/checkmark2.svg) no-repeat center center;
  background-size: contain;
  height: 16px;
  left: 0;
  position: absolute;
  top: 0;
  margin: auto;
  width: 16px;
  bottom: 0;
}
.page-section .text-columns{
  columns:500px;	
}
.modal-image-col{
  background-image: var(--bg-modal-image);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: calc(100vh);
}
.modal-fullscreen button.btn-close{
	position: absolute;
    right: 20px;
    top: 20px;
}
.modal-text-col{
	padding-top:50px;
}


.content-gallery{
	padding-top:2rem;
}
.content-gallery .gallery-image {
  margin-bottom:1rem;
}
.content-gallery .gallery-image a {
  position: relative;
  display: block;
  text-align: center;
  aspect-ratio: 3 / 2;
}
.content-gallery .gallery-image a img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.content-gallery .gallery-image a span.img-overlay {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: hsla(0, 0%, 100%, .9);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all .3s;
  transition: all .3s;
  border: 1px solid #e5e5e5;
}
.content-gallery .gallery-image a span.img-overlay::before {
  color: #fff;
  content: '+';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  font-size: 32px;
  -webkit-transition: all .4s;
  transition: all .4s;
  background-color: #4e392d;
  border-radius: 100%;
  width: 32px;
  height: 32px;
  line-height: 31px;
  text-align: center;
}
.content-gallery .gallery-image a:hover span.img-overlay  {
	z-index: 3;
	opacity: 1
}


main[role="main"]{
	background-color:#EBECEC;
}
footer[role="contentinfo"]{
	background-color: rgba(32,42,59, 1 );
}
.footer-copyright-legalnav{
	padding-top:2rem;
}
footer[role="contentinfo"] .copyright{
	color:rgba(255,255,255, 0.7);
	font-size:1.05rem;
	text-align:center;
	padding: 0.5rem 0 2rem;
}
footer[role="contentinfo"] .legalnav{
	text-align:center;
}
footer[role="contentinfo"] ul {
  list-style: none;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size:1.05rem;
}
footer[role="contentinfo"] ul > li {
  margin-right: 15px;
  margin-bottom: 0.5rem;
}
footer[role="contentinfo"] ul a {
  color:rgba(255,255,255, 0.7);  
  text-decoration:none;
  text-transform:uppercase;
}
footer[role="contentinfo"] ul a:hover,
footer[role="contentinfo"] ul a:focus{
	color:rgba(255,255,255, 1);
}
.footer-inner{
	padding-top: 2rem;
    padding-bottom: 2rem;
}
.footer-logo{
	margin-bottom:2rem;
}
.footer-logo img{
	max-width:276px;
}
.footer-address p{
	color:#fff;
	font-size:1rem;
}

@media only screen and (min-width: 992px) {
.page-section .container,
	.default-content .container{
	padding:4rem;
}
  .modal-text-col{
	  padding-left:2.5rem;
  }
}

@media only screen and (min-width: 1200px) {
	.logo-container{
		justify-content:center;
	}
	.logo-container .navbar-brand{
		width:auto;
		padding:2rem;
	}
	header[role="banner"] .navbar-toggler{
		display:none;
	}

  .main-nav li a{
	  padding-top: 1rem;
	  padding-bottom: 1rem;
	  font-size:1.2rem;
	}
   .page-section .container,
	.default-content .container{
		padding:4rem 7rem;
	}
  .page-section.section-0,
	.default-content{
	  padding-top:5rem;
  }
  :nth-last-child(1 of .page-section),
	.default-content{
	  padding-bottom:5rem;
  }
}