/*
Theme Name: Meine Praxis
Theme URI: 
Author: Eva Hager
Author URI:
Description: Dies ist ein schönes Theme das im Rahmen eines cimdata-Projektes entstanden ist. Es ist für alle Ärzte und Therapeuten, die ihre Praxis im Internet präsentieren möchten. Mit dem Einfügen eines eigenen Logos sowie eines Header-Bildes auf der Startseite kann man das Theme sehr einfach individuell gestalten. Man kann zwischen mehreren Templates auswählen: Für die Startseite, für Seiten ohne Seitenleiste, sowie Seiten mit ein bis zu zwei verschiedenen Seitenleisten. Sowohl die Seitenleisten als auch die zwei Footer-Bereiche lassen sich einfach über den Widget-Bereich für den eigenen Bedarf mit Inhalt füllen. Des Weiteren gibt es zwei Navigationsbereiche - für die Hauptnavigation im Header und die rechtliche Navigation im Footer. Viel Freude!
Tags: 
Version: 1.0
Requires at least: 5.0
Tested up to: 5.8
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: praxis-theme
*/

/**
 *
 * Inhaltsverzeichnis
 * 
 * - Browser-Reset
 * - Schrift-Familien (@font-face)
 * - CSS-Variablen (:root)
 * - Grundelemente
 * - Struktur (Layout-Raster)
 * - Header
 * - Navigation
 * - Content
 * - Sidebar
 * - Footer
 * - Templates
 * - Spezielle Inhalte
 * - @media Tablet
 * - @media Desktop
 *
 */


/* ------------------------------------------------------------ */


/**
 * Browser-Reset
 */

* {
   box-sizing: border-box; /* padding+border ist innerhalb der box */
   margin: 0;
   padding: 0;
}

/**
 * Schrift-Familien (@font-face)
 */

/* montserrat-regular - latin */
@font-face {
   font-family: 'Montserrat';
   font-weight: 400;
   font-style: normal;

   src: url('assets/fonts/montserrat-v18-latin-regular.eot'); /* IE9 Compat Modes */
   src: local(''),
   url('assets/fonts/montserrat-v18-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
   url('assets/fonts/montserrat-v18-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
   url('assets/fonts/montserrat-v18-latin-regular.woff') format('woff'), /* Modern Browsers */
   url('assets/fonts/montserrat-v18-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
   url('assets/fonts/montserrat-v18-latin-regular.svg#Montserrat') format('svg'); /* Legacy iOS */
}

/* montserrat-600 - latin */
@font-face {
   font-family: 'Montserrat';
   font-weight: 600;
   font-style: normal;

   src: url('assets/fonts/montserrat-v18-latin-600.eot'); /* IE9 Compat Modes */
   src: local(''),
   url('assets/fonts/montserrat-v18-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
   url('assets/fonts/montserrat-v18-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
   url('assets/fonts/montserrat-v18-latin-600.woff') format('woff'), /* Modern Browsers */
   url('assets/fonts/montserrat-v18-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
   url('assets/fonts/montserrat-v18-latin-600.svg#Montserrat') format('svg'); /* Legacy iOS */
}

/**
 * CSS-Variablen (:root)
 */

:root {
   --color-1: rgb(167,195,51);
   --color-1b:rgb(146, 175, 27);
   --color-2: rgb(76, 76, 76);
   --color-3: rgb(157, 157, 157);
   --color-4: rgb(190, 190, 190);
   --color-5: rgb(221, 221, 221);
   --color-6: rgb(255, 255, 255);
   --color-7: rgb(50, 50, 50);
}

/**
 * Grundelemente
 */

mark {
   font-size: 0.8rem;

   padding: 0.2rem;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
cite {
   font-family: 'Montserrat', sans-serif;

   color: var(--color-7);
}

h1 {
   font-size: 1.7rem;

   margin-bottom: 0.5rem;
}

h2 {
   font-size: 1.4rem;

   margin-bottom: 0.5rem;

   color: var(--color-7);
}

h3 {
   font-size: 1.1rem;

   margin-bottom: 0.5rem;
}

p {
   margin-bottom: 0.9rem;
}

img {
   max-width: 100%;
   height: auto;
}

ul {
   margin-bottom: 0.5rem;
   margin-left: 1rem;
}

ol {
   margin-bottom: 0.5rem;
   margin-left: 1rem;
}

/**
 * Struktur (Layout-Raster)
 */

body {
   display: grid;

   grid-template-columns: repeat(20, 5%);
   grid-template-rows: repeat(5, auto);
}

/**
 * Header
 */

header {
   padding: 1rem 0 0 0;

   background-color: var(--color-6);

   grid-column-start: 1;
   grid-column-end: 17;
   grid-row-start: 1;
   grid-row-end: 2;
}

header a {
   text-decoration: none;
}

.header-image {
   width: 100%;
   height: auto;

   grid-column-start: 1;
   grid-column-end: 21;
   grid-row-start: 2;
   grid-row-end: 3;
}

.header-image img {
   display: block;

   max-width: 100%;
   height: auto;
}

.header-brand {
   display: flex;
   flex-direction: row;

   width: 50%;
   margin-left: 2rem;
}

/**
 * Navigation
 */

nav {
   z-index: 980;

   grid-column-start: 17;
   grid-column-end: 21;
   grid-row-start: 1;
   grid-row-end: 2;
}

#nav-main {
   position: relative;

   background-color: var(--color-1);
}

#nav-main-desktop {
   display: none;
}

.nav-main-mobile {
   position: absolute;
   right: 0;

   width: 100%;
   height: 60px;
}

#nav-footer {
   position: relative;
   z-index: 950;
}

.nav-footer-mobile {
   line-height: 1.5rem;
}

.nav-footer-mobile a {
   list-style: none;

   text-decoration: none;
}

.nav-footer-mobile li {
   list-style: none;
}

#nav-footer-desktop {
   display: none;
}

/* Auslöser für Navigationbar */

#nav-main-mobile-toggle {
   position: relative;
   z-index: 980;
   top: 25px;

   display: flex;
   align-items: center;
   flex-direction: column;

   user-select: none;
}

#nav-main-mobile-toggle input {
   position: absolute;
   z-index: 990;

   display: flex;

   width: 40px;
   height: 32px;

   cursor: pointer;

   opacity: 0;
}

/* Hamburger Menü */

#nav-main-mobile-toggle span {
   position: relative;
   z-index: 980;

   display: flex;

   width: 29px;
   height: 2px;
   margin-bottom: 5px;

   transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
   background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
   opacity 0.55s ease;
   transform-origin: 5px 0;

   border-radius: 3px;
   background: #ffffff;
}

/* Animation des Hamburger Menü*/

#nav-main-mobile-toggle span:first-child {
   transform-origin: 0 0;
}

#nav-main-mobile-toggle span:nth-last-child(2) {
   transform-origin: 0 100%;
}

#nav-main-mobile-toggle input:checked ~ span {
   transform: rotate(45deg) translate(-3px, -1px);

   opacity: 1;
   background: #ffffff;
}

#nav-main-mobile-toggle input:checked ~ span:nth-last-child(3) {
   transform: rotate(0deg) scale(0.2, 0.2);

   opacity: 0;
}

#nav-main-mobile-toggle input:checked ~ span:nth-last-child(2) {
   transform: rotate(-45deg) translate(0, -1px);
}

/* Gestaltung der Navigationsbar */

#nav-main-mobile-menu {
   position: absolute;

   width: 300px;
   height: auto;
   margin: 40px 0 0 -60px;
   padding: 20px;

   transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
   transform: translate(100%, 0);
   transform-origin: 0 0;

   background-color: var(--color-1);
}

#nav-main-mobile-menu li {
   padding-top: 1.2rem;

   list-style: none;

   transition-delay: 2s;
}

#nav-main-mobile-menu ul li ul {
   margin-bottom: 0;
   margin-left: 0;
   padding: 0;
}

#nav-main-mobile-menu ul li ul li ul {
   padding: 0;
}

#nav-main-mobile-menu a {
   text-decoration: none;

   color: var(--color-6);
}

#nav-main-mobile-toggle input:checked ~ ul {
   transform: none;
}

/**
 * Content
 */

main {
   padding: 2rem;

   background-color: var(--color-5);

   grid-column-start: 1;
   grid-column-end: 21;
   grid-row-start: 3;
   grid-row-end: 4;
}

.index-main-wrapper {
   display: flex;
   flex-direction: column;

   width: 97%;
   margin: 0 0 3% 3%;
}

.home-main-wrapper {
   display: flex;
   flex-direction: column;

   width: 100%;
   margin: 3% 0 3% 0;
}

.home-article {
   line-height: 1.5rem;

   width: 97%;
   margin: 0 3% 3% 0;

   background-color: var(--color-6);
   box-shadow: 1px 1px 1px var(--color-4);
}

.index-article {
   line-height: 1.5rem;

   width: 97%;
   margin: 0 3% 3% 0;

   background-color: var(--color-6);
   box-shadow: 1px 1px 1px var(--color-4);
}

.index-article-content,
.single-article-content {
   padding: 0 1.2rem 1rem 1.2rem;

   border-bottom: 1px var(--color-1) solid;
}

.home-article-content {
   padding: 0 1.2rem 1rem 1.2rem;
}

.index-article-content h2,
.home-article-content h2 {
   font-family: 'Montserrat', sans-serif;
   font-weight: 400;

   padding-top: 1rem;
}

.index-article-content h2 a,
.home-article-content h2 a {
   text-decoration: none;

   color: var(--color-1);
}

.index-article-footer {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.9rem;

   display: flex;
   justify-content: space-between;

   padding: 1rem 0 0 1.2rem;
}

.index-article-footer i {
   margin-right: 0.5rem;
}

.far {
   font-size: 1rem;

   color: var(--color-1);
}

.index-article-content-button {
   font-size: 0.8rem;

   width: 3.8rem;
   padding: 0.3rem;

   border-radius: 4px;
   background-color: var(--color-1);
}

.index-article-content-button:hover {
   background-color: var(--color-2);
}

.index-article-content-button a {
   text-decoration: none;

   color: var(--color-6);
}

.index-main-footer {
   display: flex;

   margin-left: 3%;

   gap: 50px;
}

.index-main-footer-button {
   font-size: 0.9rem;
}

.index-main-footer-button a:hover {
   color: var(--color-1);
}

.index-main-footer-button a {
   text-decoration: none;

   color: var(--color-7);
}

.single-main-wrapper {
   line-height: 1.5rem;

   background-color: var(--color-6);
   box-shadow: 1px 1px 1px var(--color-4);
}

.single-article-image img {
   max-width: 100%;
   height: auto;
   padding-bottom: 2rem;
}

.single-article-content h2 {
   font-family: 'Montserrat', sans-serif;
   font-size: 1.5rem;
   font-weight: 400;

   padding-bottom: 0.5rem;

   color: var(--color-1);
}

.single-article-footer {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.9rem;
}

.single-article-footer-subnav {
   display: flex;
   justify-content: space-between;

   padding: 1rem 1.2rem 0 1.2rem;

   background-color: var(--color-1);
}

.single-article-footer-subnav a {
   text-decoration: none;

   color: var(--color-7);
}

.single-article-footer-subnav a:hover {
   color: var(--color-6);
}

.single-article-footer-metainfo {
   display: flex;

   padding: 1rem 1.2rem 0 1.2rem;
}

.single-article-footer-metainfo i {
   font-size: 1rem;

   margin-right: 0.7rem;
}

.single-article-footer-metainfo li::before {
   font-family: "Font Awesome 5 Free";
   font-size: 1rem;
   font-weight: 900;

   margin-right: 0.7rem;

   content: "\f02b";

   color: var(--color-1);
}

.single-article-footer-metainfo li {
   float:left;

   margin-right: 1rem;
   margin-left: 5rem;

   list-style: none;
}

.single-article-footer-metainfo li a {
   text-decoration: none;

   color: var(--color-2);
}

.single-article-footer-metainfo li a:hover {
   color: var(--color-1);
}

/**
 * Sidebar
 */

aside {
   align-items: center;

   text-align: center;

   background-color: var(--color-5);

   grid-column-start: 1;
   grid-column-end: 21;
   grid-row-start: 4;
   grid-row-end: 5;
}

.sidebar-wrapper {
   line-height: 1.5rem;

   list-style: none;
}

/* Seitenleiste mit weißem Hintergrund */

.sidebar-widget-weiss {
   padding: 1rem;

   background-color:  var(--color-6);
}

.sidebar-widget-weiss p {
   color:  var(--color-7);
}

/* Seitenleiste mit grünem Hintergrund */
.sidebar-widget-gruen {
   padding: 1rem;

   background-color: var(--color-1b);
}

.sidebar-widget-gruen li {
   color: var(--color-6);
}

.sidebar-widget-gruen a {
   text-decoration: none;

   color: var(--color-6);
}

.sidebar-widget-gruen p {
   color: var(--color-6);
}

/**
 * Footer
 */

footer {
   padding: 1rem;

   background-color: var(--color-2);

   grid-column-start: 1;
   grid-column-end: 21;
   grid-row-start: 5;
   grid-row-end: 6;
}

.footer-content {
   font-size: 0.9rem;
   line-height: 1.3rem;

   display: flex;
   align-items: center;
   justify-content: space-between;

   list-style: none;

   text-align: center;
}

.footer-content-left {
   width: 20%;
   padding-left: 1rem;
}

.footer-content-right {
   width: 40%;
}

.footer-content-left p,
.footer-content-right p {
   color: var(--color-6);
}

.footer-content-left li,
.footer-content-right li {
   color: var(--color-6);
}

footer a {
   color: var(--color-6);
}

/**
 * Templates
 */

/* Gutenberg-Blöcke */

.widget_categories ul {
   list-style: none;
}

.wp-block-media-text {
   font-size: 0.5rem;
}

.wp-block-media-text img {
   margin-bottom: 0.5rem;
}

/**
 * Spezielle Inhalte
 */


/**
 * @media Tablet
 */

@media screen and (min-width: 812px) {
   /* Content */

   main {
      grid-column-start: 1;
      grid-column-end: 16;
      grid-row-start: 2;
      grid-row-end: 5;
   }

   .page-main-template-fullwidth {
      grid-column-start: 1;
      grid-column-end: 21;
      grid-row-start: 3;
      grid-row-end: 5;
   }

   /* Sidebar */

   aside {
      padding: 2rem 2rem 1rem 2rem;

      grid-column-start: 16;
      grid-column-end: 21;
      grid-row-start: 2;
      grid-row-end: 5;
   }

   .sidebar-widget-weiss {
      margin: 0;
   }

   .sidebar-widget-gruen {
      margin: 0;
   }

   /**
 * @media Desktop
 */

   @media screen and (min-width: 1260px) {
      /* Header */


      header {
         grid-column-start: 1;
         grid-column-end: 21;
         grid-row-start: 1;
         grid-row-end: 2;
      }

      .header-image {
         grid-column-start: 1;
         grid-column-end: 21;
         grid-row-start: 3;
         grid-row-end: 4;
      }

      /* Navigation */

      nav {
         grid-column-start: 1;
         grid-column-end: 21;
         grid-row-start: 2;
         grid-row-end: 3;
      }

      .nav-main-mobile {
         display: none;
      }

      #nav-main-desktop {
         z-index: 999;

         display: block;

         height: auto;

         text-align: center;
      }

      #nav-main-desktop ul {
         z-index: 999;

         display: inline-block;

         margin: 0;
         padding: 0;

         transition: all 300ms;
         vertical-align: top;
      }

      #nav-main-desktop ul li {
         position: relative;    /* für das Submenü */

         float: left;

         margin: 0;
         padding: 0;

         list-style: none;

         transition: all 300ms;
      }

      #nav-main-desktop ul li a {
         font-size: 1rem;

         float: left;

         min-width: 10rem;
         padding: 0.8rem;

         text-align: center;
         text-decoration: none;

         color: var(--color-6);
         background-color: var(--color-1);
      }

      #nav-main-desktop ul li:hover > a {
         background-color: var(--color-1b);
      }

      .nav-footer-mobile {
         display: none;
      }

      /* 2. Ebene */
      #nav-main-desktop ul li ul {
         position: absolute;
         z-index: 999;
         top: 100%;
         left: 0;

         overflow: hidden;

         max-height: 0;

         transition: all 300ms;
      }

      #nav-main-desktop ul li:hover > ul {
         overflow: visible;

         max-height: 40rem;
      }

      /* 3. Ebene */
      #nav-main-desktop ul li ul li ul {
         position: absolute;
         z-index: 999;
         top: 0;
         left: 100%;

         transition: all 300ms;
      }

      /* Navigation Footer */

      .nav-footer-mobile {
         display: none;
      }

      #nav-footer-desktop {
         z-index: 999;

         display: block;

         height: auto;

         text-align: center;
      }

      #nav-footer-desktop ul {
         z-index: 999;

         display: inline-block;

         margin: 0;
         padding: 0;

         transition: all 300ms;
         vertical-align: top;
      }

      #nav-footer-desktop ul li {
         position: relative;    /* für das Submenü */

         float: left;

         margin: 0;
         padding: 0;

         list-style: none;

         transition: all 300ms;
      }

      #nav-footer-desktop ul li a {
         font-size: 0.9rem;
         line-height: 1.5rem;

         float: left;

         min-width: 10rem;
         padding: 0.8rem;

         text-align: center;
         text-decoration: none;

         color: var(--color-6);
      }

      #nav-footer-desktop ul li:hover > a {
         background-color: var(--color-7);
      }

      /* Content */

      main {
         grid-column-start: 1;
         grid-column-end: 16;
         grid-row-start: 4;
         grid-row-end: 5;
      }

      aside {
         grid-column-start: 16;
         grid-column-end: 21;
         grid-row-start: 4;
         grid-row-end: 5;
      }

      .index-main-wrapper {
         display: flex;
         flex-direction: row;
         flex-wrap: wrap;
      }

      .home-main-wrapper {
         display: flex;
         align-items: flex-start;
         flex-direction: row;
      }

      .index-article {
         width: 47%;
      }

      .home-article {
         width: 47%;
      }
   }
}


