/*  ======================================================================================================  PG ST. CÄCILIA - MATER DOLOROSA REGENSBURG  ====  */


@charset "utf-8";


/*  ---------------------------------------------------------------------------------------------------------------------------------------  SCHRIFTEN  ----  */

@font-face {
    font-family: 'NotoSans-Regular';
    src: url('fonts/notosans-regular.eot');
    src: url('fonts/notosans-regular.eot?#iefix') format('embedded-opentype'),
         url('fonts/notosans-regular.woff') format('woff'),
         url('fonts/notosans-regular.ttf') format('truetype'),
         url('fonts/notosans-regular.svg#NotoSans') format('svg');
    font-weight: normal;
    font-style: normal;  }
@font-face {
    font-family: 'NotoSans-Italic';
    src: url('fonts/notosans-italic.eot');
    src: url('fonts/notosans-italic?#iefix') format('embedded-opentype'),
         url('fonts/notosans-italic.woff') format('woff'),
         url('fonts/notosans-italic.ttf') format('truetype'),
         url('fonts/notosans-italic.svg#NotoSans-Italic') format('svg');
    font-weight: normal;
    font-style: italic;  }
@font-face {
    font-family: 'NotoSans-Bold';
    src: url('fonts/notosans-bold.eot');
    src: url('fonts/notosans-bold.eot?#iefix') format('embedded-opentype'),
         url('fonts/notosans-bold.woff') format('woff'),
         url('fonts/notosans-bold.ttf') format('truetype'),
         url('fonts/notosans-bold.svg#NotoSans-Bold') format('svg');
    font-weight: bold;
    font-style: normal;  }


/*  ----------------------------------------------------------------------------------------------------------------------------  GLOBALE DEFINITIONEN  ----  */

* {
    margin: 0; padding: 0;  }
*, *:before, *:after {
    box-sizing: border-box; -webkit-box-sizing: border-box;  }

html {
    font: normal 100% 'NotoSans-Regular', Arial, sans-serif;  }

body {
    display: block; position: relative;
    width: 100%; height: 100%;
    font: normal 1em/1.5em 'NotoSans-Regular', Arial, sans-serif;
    color: #000; background: #fff;  }

#rahmen {
    max-width: 30em;
    margin: 0 auto; padding: 1em;
    background: #fff;  }

nav, footer {
    display: block;  }

img {
    border: 0;  }

@media only screen and (min-width:40em) {
    #rahmen {
        padding: 1.5em;  }
}

/*  ------------------------------------------------------------------------------------------------------------------------------  HAUPT-TEXTELEMENTE  ----  */

h1, h2, h3, h4 {
    font-family: 'NotoSans-Bold', Arial, sans-serif; font-style: normal; font-weight: bold; line-height: 1.5em;
    color: #b3001a;  }
h3 {
    margin: 1.25em 0 0.5em;
    font-size: 1.25em;  }

p, ul {
    margin: 0 0 0.6em;
    font-family: 'NotoSans-Regular', Arial, sans-serif; font-size: 0.938em; line-height: 1.5em; font-style: normal; font-weight: normal;  }
ul {
    list-style: circle inside;  }

a {
    background: transparent;  }
a:link, a:visited {
    text-decoration: underline;
    color: #b3001a;  }
a:active, a:hover {
    outline: 0;  }
a:active, a:focus, a:hover {
    color: #d9808c;  }
a:focus {
    outline: thin dotted;  }

b, strong {
    font-family: 'NotoSans-Bold', Arial, sans-serif; font-style: normal; font-weight: bold;  }
q {
    quotes: '»' '«' '›' '‹';  }

@media only screen and (min-width:40em) {
    p, ul {
        font-size: 1em; line-height: 1.6em;  }
}


/*  --------------------------------------------------------------------------------------------------------------------------------------  SEITENKOPF  ----  */

header {
    width: 100%;
    margin-bottom: 1.5em; padding: 0;  }
header img {
    display: block; text-align:center; width: 100%; height: 4em;
    margin: 0 1em 0 -0.5em;  }
header h1 {
    width: 100%;
    margin: 0; padding: 0;
    font-size: 1.25em; line-height: 1.25em; text-align: center;  }
header h1 span {
    font-size: 0.75em; line-height: 0.75em;  }
header h1 span:last-child {
    display: block;
    line-height: 1.5em;  }

@media only screen and (min-width:40em) {
    header {
        margin-bottom: 1.5em;  }
    header img {
        height: 5em;
        margin: 0 1.5em 0 -0.75em;  }
    header h1 {
        font-size: 1.5em; line-height: 1.25em;  }
}
@media only screen and (min-width:55em) {
    header {
        margin-bottom: 2em;  }
    header img {
        height: 6em;
        margin: 0 2em 0 -1em;  }
    header h1 {
        font-size: 2em; line-height: 1.25em;  }
}


/*  ---------------------------------------------------------------------------------------------------------------------------------------  Hauptmenü  ----  */

a.aktuell, div.menue.aktuell a {                                                                                 /*  Links für Haupt- und Bereichsmenü  */
    color: #fff; background: #003d8a;  }
a.aktuell:hover, a.aktuell:focus, div.menue.aktuell a:hover, div.menue.aktuell a:focus {
    color: #003d8a; background: #bccee6;  }
a.gott-mensch, div.menue.gott-mensch a {
    color: #fff; background: #b3001a;  }
a.gott-mensch:hover, a.gott-mensch:focus {
    color: #b3001a; background: #f0ccd1;  }
a.gemeinde-leben {
    color: #fff; background: #1f6600; }
a.gemeinde-leben:hover, a.gemeinde-leben:focus {
    color: #1f6600; background: #c1e0b4; }
a.menschen-orte {
    color: #000; background: #ffb300;  }
a.menschen-orte:hover, a.menschen-orte:focus {
    color: #000; background: #fff0cc;  }

nav {
    display: flex; display: -webkit-flex; align-items: stretch; justify-content: space-between; gap: 0.5em;
    margin-bottom: 1em;  }
nav div {
    flex: 1;  justify-content: center; }
nav div a {
    display: block;
    width: 100%; height: 100%;
    padding: 0.5em;
    font-size: 0.8em; text-align: center; line-height: 1.2em; text-decoration: none !important;
    border-radius: 5px;  }
nav div a:hover, nav div a:focus {
    text-decoration: none;  }

@media only screen and (min-width:40em) {
    nav {
        gap: 1em;
        margin-bottom: 1.5em;  }
    nav div a {
        padding: 0.75em;
        font-size: 1em; text-align: center; line-height: 1.25em;
        border-radius: 7.5px;  }
}
@media only screen and (min-width:55em) {
    nav {
        gap: 2em;
        margin-bottom: 2em;  }
}


/*  ------------------------------------------------------------------------------------------------------------------------------------------  Teaser  ----  */

.teaser {
    display: block; position: relative;
    margin: 0 -1em 0.75em;
    overflow: hidden;  }
.teaser img {
    display: block;
    width: 160%; height: auto;
    margin-left: -30%;  }
.teaser figcaption {
    display: block; position: absolute; bottom: 0; right: 0;
    width: 100%;
    padding: 0.75em 1em 1em;
    font-family: 'NotoSans-Bold', Arial, sans-serif; font-style: normal; font-weight: bold; font-size: 1.25em; line-height: 1em; text-align: center;
    color: #b3001a; background: rgba(255,255,255,0.7);  }
.teaser figcaption span {
    display: block;
    font-size: 0.75em; line-height: 1.5em;  }

@media only screen and (min-width:40em) {
    .teaser {
        margin: 0 -1.5em 1.5em;  }
    .teaser img {
        width: 100%; margin: 0;  }
    .teaser figcaption {
        position: absolute; bottom: 0; right: 0;
        width: 62.5%;
        padding: 0.75em 1.5em 1em;
        font-size: 1.5em; line-height: 1.25em;
        border-top-left-radius: 10px;  }
}
@media only screen and (min-width:55em) {
    .teaser {
        margin: 0 -2em 2em;  }
    .teaser figcaption {
        font-size: 2em; line-height: 1.5em;
        border-top-left-radius: 7.5px;  }
}
@media only screen and (min-width:73em) {
    .teaser img {
        border-radius: 7.5px;  }
}


/*  ------------------------------------------------------------------------------------------------------------------------------------  Bereichsmenü  ----  */

div.menue {
    margin: 0 -1em 1em; padding: 0 0.5em;
    color: #fff; background: #b3001a;  }
div.menue.aktuell {
    background: #003d8a;  }
div.menue.gott-mensch {
    background: #b3001a;  }
div.menue.gemeinde-leben {
    background: #1f6600;  }
div.menue.menschen-orte {
    background: #ffb300;  }
div.menue a {
    display: inline-block; padding: 0.5em 1em;
    font-size: 0.8em; text-align: center; line-height: 1.2em; text-decoration: none !important;  }
div.menue a:hover, div.menue a:focus {
    text-decoration: none !important;  }

@media only screen and (min-width:40em) {
    div.menue {
        margin: 0 -1.5em 1.5em;  }
    div.menue a {
        padding: 0.5em 1em;
        font-size: 1em; line-height: 1.25em;  }
}
@media only screen and (min-width:55em) {
    div.menue {
        margin: 0 -2em 2em; padding: 0 calc(1em + 7.5px);  }
}
@media only screen and (min-width:73em) {
    div.menue {
        border-radius: 7.5px;  }
}


/*  -------------------------------------------------------------------------------------------------------------------------------------  HAUPTINHALT  ----  */

.container {
    margin-bottom: 2em;  }

article {
    padding: 0 1em;  }
article h2 {
    margin: 1em 0 0.5em;
    font-size: 1.25em;  }
article h3 {
    margin: 1.5em 0 1em;  }
aside {
    margin-top: 0.4em; padding: 0.5em 1em 1em; 
    background: #f7e6e8; border-radius: 5px;  }
aside h3:first-child {margin-top:0.5em;}

.container.aktuell h2, .container.aktuell h3, .container.aktell a {
    color: #003d8a;  }
.container.gott-mensch h2, .container.gott-mensch h3, .container.gott-mensch a {
    color: #b3001a;  }
.container.gemeinde-leben h2, .container.gemeinde-leben h3, .container.gemeinde-leben a {
    color: #1f6600;  }
.container.menschen-orte h2, .container.menschen-orte h3, .container.menschen-orte a {
    color: #ffb300;  }
.container.aktuell a:hover, .container.aktuell a:focus {
    color: #668fc2;  }
.container.gott-mensch a:hover, .container.gott-mensch a:focus {
    color: #d9808c;  }
.container.gemeinde-leben a:hover, .container.gemeinde-leben a:focus {
    color: #74b359;  }
.container.gott-mensch a:hover, .container.gott-mensch a:focus {
    color: #d9808c;  }
.container.menschen-orte a:hover, .container.menschen-orte a:focus {
    color: #d9808c;  }

.indexcontainer {
    display: flex; display: -webkit-flex; flex-wrap: wrap; justify-content: flex-start; gap: 1em;
    margin-bottom: 1em;  }
.indexcontainer section {
    width: calc(50% - 0.5em); overflow: hidden;
    margin-bottom: 0; padding: 0 1em 1em;
    background: #eee; border-radius: 5px;  }
.indexcontainer a, .indexcontainer a:hover, .indexcontainer a:focus {
    text-decoration: none !important;  }
.indexcontainer h4 {
    display: block;
    margin: 0 -1em; padding: 0.5em;
    font-size: 1em; text-align: center;
    border-top-left-radius: 5px; border-top-right-radius: 5px;  }
.indexcontainer ul {
    margin-top: 0.75em; list-style: none;  }
.indexcontainer li {
    padding: 0 0.25em;
    font-family: 'NotoSans-Bold', Arial, sans-serif; font-style: normal; font-weight: bold;  }
.indexcontainer a:hover, .indexcontainer a:focus {
    text-decoration: underline;  }
.indexcontainer.gott-mensch a h4 {
    color: #fff; background: #b3001a;  }
.indexcontainer.gott-mensch a:hover h4 {
    color: #b3001a; background: #f0ccd1;  }
.indexcontainer.gemeinde-leben a h4 {
    color: #fff; background: #1f6600;  }
.indexcontainer.gemeinde-leben a:hover h4 {
    color: #1f6600; background: #c1e0b4;  }
.indexcontainer section img {
    display: block;
    width: calc(160% + 2em); height: auto;
    margin: 0 calc(-30% - 2em) -1em;
    border-bottom-left-radius: 5px; border-bottom-right-radius: 5px;  }

.startcontainer section {
    padding: 0 1em 1em;
    background: #eee;
    border-radius: 5px;  }
.startcontainer section {
    margin-bottom: 1em;  }
.startcontainer section h4 {
    display: block;
    margin: 0 -1em 0.5em; padding: 0.5em;
    font-size: 1em; text-align: center;
    border-top-left-radius: 5px; border-top-right-radius: 5px;  }
.startcontainer section.kalender h4 {
    color: #b3001a; background: #f0ccd1; border: 3px solid #b3001a;
    font-family: 'NotoSans-Bold', Arial, sans-serif; font-style: normal; font-size: 2em;
    margin: 0 -0.5em 0.25em; padding: 0;
}
.startcontainer section.gott-mensch h4 {
    color: #fff; background: #b3001a;  }
.startcontainer section.gemeinde-leben h4 {
    color: #fff; background: #1f6600;  }
.startcontainer section.aktuell h4 {
    color: #fff; background: #003d8a; }
.startcontainer section.menschen-orte h4 {
    color: #000; background: #ffb300; }
.startcontainer section p.datum {
    
}
.startcontainer section.aktuell h4 {
    color: #fff; background: #668fc2;  }
.startcontainer section ul { list-style: none; }
.startcontainer section li { margin-left: 4em; text-indent: -4em; hyphens: auto; }
.startcontainer section span { display: inline-block; }
.startcontainer section span.zeit { width: 2.5em; text-align: right; }
.startcontainer section span.ort { width: 1.75em; text-align: left; }


/*
section.aktuell {
    clear: both;
    margin-bottom: 2em; padding: 0 1em 1em;
    color: #000; background: #dce6f2;
    border-radius: 5px;  }

@media only screen and (min-width:40em) {
    section.aktuell {
        border-radius: 7.5px;  }
}*/


/*  ---------------------------------------------------------------------------------------------------------------------------------------  Fußleiste  ----  */

footer {
    display: block; width: 100%;
    margin-bottom: 1em; padding: 1em;
    font-size: 0.7em; line-height: 1.5em; text-align: center;
    color: #fff; background: #b3001a;
    border-radius: 5px;  }
footer a, footer a:link {
    color: #fff; text-decoration: none;  }
footer a:hover, footer a:focus {
    text-decoration: underline;  }

@media only screen and (min-width:40em) {
    footer {
        border-radius: 7.5px;  }
}