@charset "utf-8";

/*
* CSS-Design
* Jutta Jäger Steuerberatung
* Online-Schule für Gestaltung: Webdesign-Kurs
*/

 
/* Reset * * * * * * * * */

/* */


			/* Webfonts * * * * * * * * */

/* */


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


				/* Basisformatierung */
				

:root {
	--hauptfarbe: #6b9bb6;
	--text: #575755;
	--hintergrund: #e2e4e4;
	--main-gradient: linear-gradient(to right, #e2e4e4, rgba(10, 98, 147, 0.6));
}

body {
	color: var(--text);
	font-family: Arial, Tahoma;
	text-align: left;
	text-decoration: none;
}

h1 {
	font-size: 2.5rem;
	text-align: center;
}

h1, h2, h3, p {
	margin: 1.5% 1%;
	max-width: 100%;
	padding: 0 5% 0 5%;
}

h2 {
	font-size: 2rem;
}

h3 {
	font-size: 1.75rem;
}

p, 
input, 
label,
li, 
select, 
#result, 
.kontaktformular .button,
#routeBtn,
.scrollTopBtn,
.calendar-header button,
.cookie-buttons button {
	font-size: 1.5rem;
}

img {
	max-width: 100%;
}

.content ul{
    list-style-position: outside;
}

.content li {
	list-style-position: inside;
	list-style-type: "→ ";
	margin: 0 1%;
	padding: 0 5% 0.3% 10%;
	text-indent: -1.5em;
}

.checkbox-row {
  align-items: center;
  display: block;
  font-weight: 300;
  gap: 2%;
}

.checkbox-row input,
.checkbox-row span  {
	margin: 0;
	vertical-align: middle;
  	width: auto;
}

input, select, textarea {
  border: 1px solid #ccc;
  border-radius: 6px;
  color: var(--text);
  margin: 1% 0 0 0;
  padding: 2%;
  width: 100%;
}




							/* Clearfix */

.row:before,
.row:after {
content: " ";
display: table;
}

.row::after {
clear: both;
}


							/* Layout */
							

.wrapper{
	height: auto;
	margin: 0 auto;
	max-width: 100%;
}

.column {
	float: left;
	margin: 0.1% 0 0 0.3%;
}

.column:first-child {
	margin-left: 0;
}

.no-gutter .column {
	margin: 0;
	padding: 1%;
}

.col_1 {
	width: 100%;
}

.no-gutter .col_1_2,
.col_1_2 {
	width: 50%;
}

.no-gutter .col_1_3,
.col_1_3 {
	width: 33.33%;
}

header .row,
.content .row,
.portrait .row,
.phishing .col,
.aktuelles .col,
.phishing .column:last-child,
#zeiten .row,
#wegbeschreibung {
	align-items: center; 	
	display: flex;
	justify-content: center;
}

header,
#navigation ul,
#checkliste h1,
#zeiten .offen::before,
#zeiten .offen::after,
.impressum .wrapper::after,
.footer {
	background: var(--main-gradient);
}

#navigation li a,
#navigation ul li a,
.nav-toggle,
.title h1,
.footer h2,
.footer p,
.footer a, 
.footer p, 
.footer .call,
.footer .maillink { 
	text-transform: uppercase;
}

.maillink,
.call,
#navigation li a,
a,
.hand,
#deadlineList li.business {
    color: var(--text);
    text-decoration: none;
}

.maillink:hover,
.call:hover,
a:hover,
li::marker  {
    color: var(--hauptfarbe);
}



								/* Button */					

button  {
	background: var(--hauptfarbe);
	border-color: white;
    border-radius: 0.5%;
    color: white;
    cursor: pointer;
    display: inline-block;
    margin: 1% 0 0 0;
    padding: 1% 2%;
}

button:hover {
    color: var(--text);
    text-decoration: none;
}

.scrollTopBtn {
	margin: 2% auto 2% auto;
    padding: 0.5% 1%;
	z-index: 9999;
}

.button .row {
	text-align: center;
}

.cookie-buttons {
    color: white;
    display: flex;
    gap: 2%;
	justify-content: center;
    margin: 1% 0 0 0;
}

.cookie-buttons button {
	font-size: 1rem;
}

#acceptCookies {
   background: var(--hauptfarbe);
}

#declineCookies {
    background: var(--text);
}

#acceptCookies:hover,
#declineCookies:hover  {
    background: var(--hintergrund);
}
				
								/* cookie */					


.cookie-popup {
	background: white;
    border-radius: 5px;
    box-shadow: 0 5px 20px rgba(0,0,0,1);
	display: none;
	left: 50%;
    padding: 1%;
    position: fixed;
	text-align: center;
    top: 40%;
    transform: translate(-50%, -75%);
    z-index: 9999;
}

#cookie-popup h3 {
	max-width: 100%;
	text-align: center;
}

#cookie-popup p {
	font-size: 1.2rem;
	max-width: 100%;
	text-align: left;
}



								/* Ticker */			


.ticker {
	align-items: center;
    background: white;
	justify-content: center;
	mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
	overflow: hidden;
    position: relative;
}

.ticker .row {
	max-width: 80%;
}

.ticker-content {
	animation: tickerMove 30s linear infinite;
    display: inline-block;
   	padding-left: 100%;
	white-space: nowrap;
}

.ticker-content a {
 	font-weight: bold;
}

@keyframes tickerMove {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}



							/* Header */	

header {
	width: 100%;
}

header .row {
	gap: 1%;
	margin: 1% 2.5%;
}				
							
header,
header .logo-block,
.logo-link {
	align-items: center;
}

header .logo-block {
  gap: 1.5%;
}

.logo-link {
    color: inherit;
    text-decoration: none;
}

header .logo-block,
.logo-link {
	display: flex;
}

header .Logo1,
header .Logo2  {
	font-size: 12.5rem;
}

header .Logo1,
header .Logo2,
header .Titel,
header .lexofficeLogo {
	float: left;
}
									
header .Logo2 {
	position: relative;
	top: -15px;
}

header .Titel {
	font-family: Georgia, Tahoma;
	font-size: 4.5rem;
}

header .lexofficeLogo {
	margin: 1% 1%;
	max-height: 100%;
}



						/* Navigation */	


#navigation {
	margin: 0.5% 0;
	padding: 0.3% 0.5%;
	text-align: center;
}

#navigation li {
	display: inline;
	list-style: none;
	margin: 0 0 0 2%;
}

#navigation li a {
	font-weight: bold;
	font-size: 1.25rem;
	font-weight: 300;
	padding: 2% 0;
	text-decoration: none;
}

#navigation li a:hover,
#navigation li a.active,
#navigation ul li a:hover {
	color: #e4e6e5;
}



					/* Drop-Down-Menü */

#navigation ul {
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
	display: none;
	left: -14px;
	position: absolute;
	top: 150%;
	width: 210px;
	z-index: 9999;
}

#navigation li {
	position: relative;
}

#navigation ul li a {
	border-bottom: 1px solid rgba(70, 151, 168, .2);
	display: block;
	font-size: 1.125rem; 
	padding: 5% 1.2% 5% 1.2%;
}

#navigation ul li {
	margin-left: 0;
}

#navigation li:hover ul {
	display: block;
}


					/* Responsive Navigation */
					

.nav-toggle {
	display: none;
}

.nav-toggle {
	background: #f1efef;
	color: black;
	font-size: 1.2rem;
	padding: 3% 0;
}

.nav-toggle:hover {
	background: linear-gradient(to right, #0a6293, var(--hauptfarbe));
	color: white;
	text-decoration: none;
}


					/* Titel */	

.title .row {
	align-items: center; 	
	justify-content: center;
	margin: 2% 0;
}

.title h1 {
	font-size: 2rem;
	margin: 1% 0 1% 0;
	max-width: 100%;
	padding: 1% 0 0.5% 0;
	text-align: center;
}




					/* Portrait */	
					

.portrait {
	background: #e5e5e5;
	background: linear-gradient(110deg, rgba(229,229,229,1) 0%, rgba(10,96,147,0.5) 50%, rgba(229,229,229,1) 50%);
	margin: 1.5% auto;
	width: 100%;
}

.portrait .row {
	gap: 5%;
}

.portrait .column:last-child {
	align-items: center; 	
	display: flex;
	justify-content: flex-end;
	padding: 0 12.5% 2.5% 0;
}

.portrait h1{
	margin: 1.5% 0;
	max-width: 100%;
	padding: 0 5% 0 1%;
	text-align: right;
	word-wrap: break-word;
}

.portrait h2{
	font-size: 1.5rem;
	margin: 1.5% 1%;
	max-width: 100%;
	padding: 0 5% 0 5%;
	text-align: right;
}

.portrait p{
	margin: 1.5% 1%;
	padding: 0 1% 0 5%;
	text-align: center;
}

.Bildunterschrift {
	display: flex;
	text-align: right;
}




					/* Leistungen - Beratung - Slider */	


.beratung {
	background: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.7)),
        url('../img/Beratung.png') center center no-repeat;
	background-attachment: fixed;
	background-size: cover;
	min-height: 100px;
}

.slider {
	height: 150px;
	margin: auto;
	overflow: hidden;
	position: relative;
	width: 500px;
}

.slides {
	animation: slide 10s infinite;
	display: flex;
	width: 100%;
}

.slide {
	height: 100%;
	min-width: 100%; 
	object-fit: cover;
}

@keyframes slide {
  0%   { transform: translateX(0); }
  33%  { transform: translateX(0); }

  38%  { transform: translateX(-100%); }
  66%  { transform: translateX(-100%); }

  71%  { transform: translateX(-200%); }
  100% { transform: translateX(-200%); }
}


									/* steuerberatung / rechnungswesen */				


.steuerberatung p {
	margin: 1.5% 0;
	max-width: 50%;
	padding: 1% 0;
	text-align: center;
}
															
.rechnungswesen .slider {
	height: 333px;
	width: 500px;
}

.rechnungswesen li {
	padding: 0 5% 0.3% 20%;
}

									/* phishing und aktuelles */

.phishing .col,
.aktuelles .col {
    flex-direction: column;  
}	

.phishing img {
	background: white;
	transform-origin: center center;
	transition: transform 0.4s ease;
	width: 100%;
}

.phishing img:hover {
	overflow: hidden;
	position: relative;
    transform: scale(1.6) translateX(-30%);
	z-index: 9999;
}			

.aktuelles {
	margin: 5% 0 0 0;
}	

.aktuelles img {
	background: white;
	opacity: 80%;
	padding: 1% 5%;
	transform-origin: center center;
	transition: transform 0.4s ease;
	width: 90%;
}

.imgright {
    float: right;             
    margin: 1% 2% 1% 3%;    
	opacity: 80%;
    width: 40%;           
}

.text-mit-bild::after {
    clear: both;  
    content: "";
    display: block;   
}




							/* Aktuelles - Checkliste */	
							
							
.checkliste .row {
    align-items: stretch;
    display: flex;
}

#checkliste h1{
	color: white;
	margin: 3% 0 1% 0;
	padding: 2% 0;
}

.checkliste h2{
	margin: 3% 0 1% 0;
}

.checkliste p,
.checkliste li{
	padding: 0 5% 0 10%;
}

.checkliste .col_1_2 {
	align-items: center;
    border-radius: 1%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5);
	margin: 2% 0.5%;
	padding: 0.5% 0;
	width: 35%;
}



							/* Karriere */	

.karriere {
	align-items: center;
    display: inline-block;
	margin: 2% 0 1% 0;
    position: relative;
	width: 70%;
}

.karriere .row {
	display: flex;
    justify-content: center; 
}

.karriere img {
    display: block;
	margin: 0 0 0 25%;
	opacity: 0.8; 
    width: 100%;
}

.textobild {
    background: rgba(231,231,231,0.8);
    bottom: 100px;
	max-width: 55%;
    padding: 2%;
    position: absolute;	
    right: -350px;
	}


							/* Kontakt - Kontaktformular - Öffnungszeiten - Wegbeschreibung */							

.kontakt,							
#zeiten .row,
#wegbeschreibung {
	background: linear-gradient(rgba(255,255,255,0.8), rgba(255,255,255,0.8)),
	url('../img/gespraech164.png') center center no-repeat;
	background-attachment: fixed;
	background-size: cover;
}		
													
.kontakt {
	min-height: 500px;
}	

.kontakt .row {
	align-items: baseline;
	padding: 1% 0 0 0;
}											

.kontakt h1 {
	text-align: left;
}

.kontakt h3 {
	margin: 1.2% 1%;
	max-width: 100%;
	padding: 0 0 0 5%;
}

.kontakt p {
	margin: 0.5% 1%;
}

.kontaktformular {
	justify-content: center;
    margin: 1% 1% 2% 1.5%;
    max-width: 600px;	
	padding: 0 0 0 5%;
}	

.kontaktformular h2,
.kontaktformular h3,
.kontaktformular form   {
	padding: 2%;
}

.kontaktformular h2 {	
	margin: 3% 0 1% 0;
	}
	
.kontaktformular h3 {	
	margin: 0 0 1% 0;
	text-align: left;
}

.kontaktformular textarea {
    	color: var(--text);
	font-size: 1.3rem;
   	min-height: 80px;
    	resize: vertical;
}

.kontaktformular input[type="radio"],
.kontaktformular input[type="checkbox"] {
    margin: 0 0.5% 0.8% 0;
	padding: 0 0 1% 0;
	vertical-align: middle;
}

#zeiten .offen::before,
#zeiten .offen::after {
	content: "";
	display: block;
	height: 5px;
	margin: 0 0 0 6%;
	width: 80%;
}

#besuchsinfo {
    border-radius: 1%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5);	
	margin: 5% 6%;
	padding: 0.5% 0;
	width: 65%;
}					

#wegbeschreibung .anfahrt {
	margin: 2% 0;
	padding: 1% 10%;
} 

.route-box {
    display: flex;
    flex-wrap: wrap;
    gap: 1%;
    justify-content: center;
}

.route input {
    border: 1px solid #ccc;
    border-radius: 5px;
	padding: 1% 2%;
	width: 250px;
}


							/* Steuerrechner */			


.tax-wrapper {
 align-items: stretch;
 display: flex;
 flex-wrap: wrap;
 gap: 3%;
 justify-content: center;
 margin: 3% 8% 3% 8%;
}						

.tax-calculator {
  background: #f1efef;
  border-radius: 1%;
  flex: 1;
  margin: 2% 1% 2% 3%;
  max-width: 600px;
  min-width: 450px;
  padding: 2%;
}

.tax-calculator h2 {
  margin: 0 0 4% 0;
  text-align: center;
}

.tax-calculator label {
  display: block;
  margin: 5% 0 0 0;
}

#result {
  background: white;
  border-radius: 8px;
  margin: 2% 0 0 0;
  padding: 1%;
}

.chart-container {
  background: #f1efef;
  border-radius: 1%;
  flex: 1;
  margin: 2% 5% 2% 1%;
  max-width: 600px;
  min-width: 450px;
  padding: 2%;
  position: relative;
}

.chart-placeholder {
  bottom: 1%;
  font-size: 1.2rem;
  position: absolute;
  right: 1%;
}



						/* Fristenerinnerung */		

.calender-wrapper {
	align-items: stretch;
	flex-wrap: wrap;
	margin: 1% 6% 5% 6%;
	padding: 1% 2%;
}				

.calendar-grid {
	  display: grid;
	  gap: 1%;
	  grid-template-columns: repeat(7, 1fr);
	  margin: 0 0 10% 0;
	  width: 90%;
}

.calendar-day {
	border: 1px solid #ddd;
  	font-size: 1.2rem;
	min-height: 70px;
	padding: 2%;
	position: relative;
	width: 110px;
}

.calendar-header {
	display: flex;
  	margin: 2% 0;
  	width: 90%;
}

.calendar-header h3 {
  margin: 2% 0 0 0;
  padding: 0 2%;
}

.calendar-day.header {
	background: #f5f5f5;
	font-weight: bold;
	text-align: center;
}

.calendar-day.business {
	background: var(--hintergrund);
}

.calendar-day.private {
	background-color: #a6cada;
}

.calendar-day span {
	display: block;
	font-size: 1rem;
	margin: 1% 0 0 0;
}

#deadlineList {
	list-style: none;
	margin: 5% 0;
}

#deadlineList li {
	background: #f5f5f5;
	list-style: none;
	margin: 1.5% 0 1.5% 0;
	padding: 2% 0 2% 5%;
}

#deadlineList li.business {
	border-left-color: #e53935;
}

#deadlineList li.private {
	border-left-color: #43a047;
	color: #4595ba;
}



						/* Impressum */			

.impressum .row {
	gap: 3%;
	margin: 1% 0;
}

.impressum .wrapper::after {
	content: "";
	display: block;
	height: 5px;
	margin: 0 auto 0 auto;
	width: 90%;
}

.impressum h2{
	margin: 1% 0;
	text-align: right;
}

.impressum p{
	margin: 1% 0;
	padding: 0 10% 0 0;
	text-align: left;
}




						/* Footer */			
 
.footer {
	align-items: center;
	justify-content: center;
	width: 100%;
}

.footer .row {
	align-items: center;
	display: flex;
	margin: 0.5% 0 2% 0;
	padding: 1% 0 2% 0;
	width: 100%;
}

.footer h2,
.footer p, 
.footer .call,
.footer .maillink {
	margin: 0 0 0 5%;
	padding: 0 0 1% 5%;
}

.footer p {
	text-decoration: none;
}

.footer h2,
.footer p,
.footer a,
.footer .call,
.footer .maillink{
	font-size: 1rem;
	text-align: left;	
}

.validate .row {
	align-items: center; 	
	justify-content: center;
	text-align: center;
}

.validate .row p {
	margin: 0;
}



@media only screen and (max-width: 1150px) {
	
  .calendar-header {
    flex-direction: row;
    justify-content: space-between;
  }
  
  .calendar-header h3 {
    font-size: 1.3rem;
  }

  .calendar-header button {
    font-size: 1.2rem;
  }

  .calendar-day {
	max-width: 68px;
	min-height: 50px;
    font-size: 0.8rem;
  }

  .calendar-day span {
    font-size: 0.6rem;
  }	
	
}	



@media only screen and (max-width: 1050px) {

	.row {
		 flex-direction: column;
	}
	
    .column {
       width: 100%;
     }
	 
	 
  	 h1 {
  		font-size: 1.8rem;
  		max-width: 100%;
  		word-wrap: break-word;
  	}

							/*Responsive header */
							
							
						
header .row {
		 justify-content: center;
		 margin: 2% 0;
         text-align: center;
       }

header .Logo1,
header .Logo2 {
         text-align: center;
		 font-size: 8rem;
       }

header .Logo img {
         max-width: 90px;
       }

header .Titel {
         font-size: 2.5rem;
       }
	   
header .lexofficeLogo {
   	float: left;
   	margin: 0 0 15% 0;
   	max-height: 100%;
	   }


							/* Responsive Navigation */
							
nav {
	height: 0;
	overflow: hidden;
	transition: height .3s ease-in-out;
	}
	
	.nav-toggle {
		display: block;
	}
	
	#nav-open:target .nav-closed {
		display: block;
	}
	
	.nav-closed,
	#nav-closed:target .nav-closed,
	#nav-open:target .nav-open {
		display: none;
	}
	
	#nav-open:target nav {
		height: 630px;
	}
	
	#navigation {
		border-bottom: 1px solid #ccc;
		float: none;
		margin: 1% 0 0 0;
	}
	
	#navigation li {
		border-top: 1px solid #ccc;
		display: block;
		margin-left: 0;
		text-align: left;
	}
	
	#navigation li a {
		display: block;
		margin-left: 0;
		padding: 10px 30px;
	}
	
	#navigation ul {
		box-shadow: 0 0 0 rgba(0, 0, 0, 0);
		display: block;
		left: 0;
		margin-bottom: 0;
		position: relative;
		top: 0;
		width: 100%;
	}
	
	#navigation ul li a {
		border-bottom: 0;
		padding: 15px 15px 15px 60px;
	}

	.col_1_1,
	.col_1_2,
	.no-gutter .col_1_1,
	.no-gutter .col_1_2,
	.no-gutter .col_1_3 {
		width: 90%;
	}
	
  	.checkliste .col_1_2 {
	  margin: 1% 2% 1% 2%;
	  width: 90%;
	}	

	.impressum .col_1_2 {
  	  width: 50%;
	}	

	.content h2,
   	.footer h2,
	#cookie-popup h3  {
		font-size: 1.1rem;
	}
	
 	.footer p, a {
	   font-size: 0.8rem;
	   text-transform: none;
	}  

	.row p, p, input, label, select {
		font-size: 1.0rem;
	}		
	
	.content li,
	#cookie-popup p {
		font-size: 1.1rem;
	}						
	
	.zitatzeichen1 {
		max-width: 30%;
		text-align: center;
	}

	.phishing img { 
	  	position: relative;
		transform: scale(1.2);
	  	z-index: 9999;
	}		
	  
	.karriere .row {
	    align-items: center;
	    text-align: center;
	}

   .textobild {
        margin-top: 20px;			
        position: relative;
        right: auto;
    }

    .karriere img {
        width: 100%;
    }
	  
	.impressum .row {
	    display: flex;
	    flex-wrap: nowrap;
	}

	.impressum h2{
		padding: 0;
		text-align: left;
  	}
	
	.portrait .row {
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	
	.portrait h1 {
		max-width: 100%;
		word-wrap: break-word;
	}
	
	.portrait img {
		max-width: 70%;
	}
	   	
	.kontakt .row {
		padding: 0;
	}

	.kontaktformular .wrapper {
	    max-width: 500px;	
	}
	
	.tax-calculator,
	.chart-container {
		margin: 3% auto;
		max-width: 400px;
	}
	
	.chart-placeholder {
	  font-size: 0.8rem;
	}
	
	 .deadline-wrapper {
	    display: flex;
	    flex-direction: column;
	    gap: 2%;
	  }

  }

@media only screen and (max-width: 850px) {

	.title h1{
		font-size: 1.2rem;
		word-wrap: break-word;
		margin: 4% 0 2% 0;
	}
	
	.portrait h1,
	.kontakt h1 {
		font-size: 1.5rem;
		max-width: 50%;
	}
	
	.portrait h2,
	.kontakt h2,
	.kontaktformular h2 {
		font-size: 1.2rem;
		max-width: 50%;
		word-wrap: break-word;
	}
	.portrait h3,
	.kontakt h3,
	.kontaktformular h3 {
		font-size: 1.1rem;
		max-width: 50%;
		word-wrap: break-word;
	}
	
}

			/* Druckformatierung */

@media print {

    /* Grundreset */
    * {
        background: none !important;
        background-image: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    /* Navigation & unnötige Bereiche ausblenden */
    header,
    footer,
    nav,
    aside,
    .no-print {
        display: none !important;
    }

    /* Bilder optional ausblenden */
    img {
        display: none !important;
    }

    /* Seitenlayout optimieren */
    body {
        margin: 0;
        padding: 0;
        font-family: Arial, sans-serif;
        font-size: 11pt;
        color: #000;
        line-height: 1.4;
    }

    section,
    article,
    div {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Überschriften */
    h1, h2, h3, h4, h5, h6 {
        font-family: Arial, sans-serif;
        color: #000 !important;
        page-break-after: avoid;
    }

    h1 { font-size: 16pt; }
    h2 { font-size: 14pt; }
    h3 { font-size: 13pt; }

    /* Text */
    p, blockquote {
        font-size: 11pt;
        orphans: 3;
        widows: 3;
    }

    /* Links sichtbar machen */
    a::after {
        content: " (" attr(href) ")";
        font-size: 9pt;
    }

    /* Seitenumbrüche */
    h1, h2, h3 {
        page-break-after: avoid;
    }

    p {
        page-break-inside: avoid;
    }

    /* Tabellen */
    table {
        border-collapse: collapse;
    }

    th, td {
        border: 1px solid #000;
        padding: 4px;
    }
}