/*
 Theme Name:   WP Bootstrap Starter Child
 Theme URI:    
 Description:  WP Bootstrap Starter Child Theme
 Author:       Erich Schweizer-Ferrari
 Author URI:   https://www.kath.ch
 Template:     wp-bootstrap-starter
 Version:      1.0.0
 Tags:         lightweight, uncluttered, easy to customize, based on Twitter Bootstrap v4.x
 Text Domain:  wp-bootstrap-starter-child
*/


/* =Theme customization starts here
-------------------------------------------------------------- */

html {
    height: 100%;
}
body {
    background-color: #E8E8E8;
    color: #333333;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.4rem;
    height: 100%;
}
body.page-id-91 #main {
    background-color: #F8F8F8;
}

.container.main-container {
    padding-left: 0;
    padding-right: 0;
}
.esf-category-list a {
    background-color: #FFFFFF;
    color: #333333 !important;
    display: inline-block;
    font-size: 1.2rem;
    margin: 0 1rem 0 0;
    padding: 0.1rem 0.4rem 0.2rem 0.4rem;
}

h2, h3, h4, h5, h6 {
    clear: none;
}
h1 {
    font-family: 'Rufina', serif;
}
.h1, h1 {
    font-size: 1.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0rem;
}
.blog header {
    padding: 0 15px 0 15px;
}

#masthead {
    margin-left: -15px;
    margin-right: -15px;
}
.blog header h1, .page header h1, .page-header h1 {
    border: none;
    font-size: 2rem;
    padding: 2rem 0 0rem 0;
}
.page-header h1 {
    padding: 0;
}

.blog .row {
    margin-left: -15px;
    margin-right: -15px;
}
h2 {
    font-family: 'Rufina', serif;
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 2rem;
}
.single-post .entry-content h2 {
    margin: 2rem 0 0rem 0;
}
h2.esf-initial {
    border: none;
    border-radius: 2.5rem;
    box-shadow: none;
    color: #ffffff;
    display: inline-block;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.2rem;
    margin: 0 0 0.5rem 0;
    padding: 0.5rem 1rem 0.7rem 1rem;
    text-align: center;
    text-decoration: none;
}
h3 {
    font-family: 'Rufina', serif;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 1.6rem 0 0.4rem 0;
}
.screen-reader-shortcut {
    position: absolute;
    top: -1000em;
}
.screen-reader-shortcut:focus {
    left: 6px;
    top: 6px;
    height: auto;
    width: auto;
    display: block;
    font-size: 14px;
    font-weight: 600;
    padding: 15px 23px 14px;
    background: #f1f1f1;
    color: #005aa1;
    z-index: 100000;
    line-height: normal;
    text-decoration: none;
    outline: 0;
}

.page-template-fullwidth #page #content.site-content,
.post-template-fullwidth #page #content.site-content {
    padding-top: 2rem;
}

.page-template-fullwidth #page.site #content.site-content .container,
.post-template-fullwidth #page.site #content.site-content .container {
    max-width: none;
}

#content.site-content {
    margin-top: 4rem;
    padding-bottom: 0;
}

header#masthead {
    background-color: transparent;
    box-shadow: none;
    border-bottom: none;
    padding: 0.74rem 1.2rem 0.74rem 1.2rem;
}
body:not(.theme-preset-active) #masthead .navbar-nav > li > a {
    color: #ffffff;
}
#masthead .navbar-brand > a:hover {
    color: #ffffff;
}

#masthead .navbar-nav > li > a:hover {
    color: #ffffff;
    font-weight: 600;
}

#masthead .navbar-nav > li:hover > .dropdown-menu {
    max-width: none;
    width: auto;
}

#masthead .navbar-nav > li > a {
    color: #ffffff;
    font-weight: 600;
}
#masthead .navbar-nav .dropdown-menu {
    border: none;
    margin-left: 0rem;
    margin-top: 1.5rem;
}
#masthead .navbar-nav .dropdown-menu .menu-item {
    border-top: 1px solid white;
    font-size: 1.5rem;
    font-style: italic;
    max-width: 100%;
    padding: 0 15px 0 15px;
    text-transform: uppercase;
    width: auto;
}

body:not(.theme-preset-active) footer#colophon {
    background-color: transparent;
}

.dropdown-menu .menu-item:last-child {
    border: none;
}
.menu-item .dropdown-item {
    color: white;
}
.dropdown-item:focus, .dropdown-item:hover {
    color: white;
    text-decoration: underline;
}

/**
 * Make the dropdown show on mouse over
 */
#masthead .navbar-nav > li:hover > .dropdown-menu {
    display: block;
    top: 30px;
}
#masthead .navbar-nav li > .dropdown-menu li:hover .dropdown-menu {
    left: 190px;
    top: 0;
    width: 200px !important;
    display: block;
}
#masthead .navbar-nav > li > a {
    font-weight: 600 !important;
}

.navbar {
    padding: 0;
}
.fas.fa-search.esf-nav {
    color: white;
    font-size: 2rem;
}

.esf-wordmark {
    background-color: white;
    padding: 0.3rem 0.3rem 0.3rem 0.3rem;
}

.esf-navi-search {
    left: 5rem;
    position: absolute;
}
.esf-navi-socialmedia {
    color: white;
    position: absolute;
    right: 35%;
    text-align: right;
}
.esf-navi-socialmedia a {
    color: white;
}

.esf-navi-socialmedia a:hover, .esf-navi-socialmedia a:visited {
    color: white;
}
.esf-navi-socialmedia .esf-navi-sm-icon {
    color: white;
    font-size: 1.8rem;
}
.esf-navi-socialmedia div+div a:first-child, .esf-navi-socialmedia div+div a:last-child {
    display: none;
}

main#main {
    background-color: white;
    line-height: 1.3;
}

.page-header {
    padding: 2rem 15px 1rem 15px;
}

.entry-content {
    margin: 0;
}

#content.site-content {
    padding-top: 0;
}

.post.hentry {
    margin-bottom: 0;
    padding-bottom: 3rem;
}

.not-liturgy-color {
    color: #333333 !important;
}
.not-liturgy-color:hover {
    text-decoration: none;
}
.liturgy-color:hover {
    text-decoration: underline;
}
.fullwidth {
    width: 100%;
}
.right {
    text-align: right;
}

.title-liturgy-bg {
    color: white;
    font-family: 'Rufina', serif;
    font-size: 2rem;
    margin: 1rem 0 0 0;
    padding: 0.5rem 15px 0.5rem 15px;
}
.title-liturgy-bg.small {
    font-size: 1.5rem;
    padding: 0.3rem 15px 0.3rem 15px;
}
.title-liturgy-bg.center {
    text-align: center;
}
.title-liturgy-bg.smallest {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.2rem;
    padding: 0.3rem 15px 0.3rem 15px;
}
.title-liturgy-bg.right {
    text-align: right;
}
.title-liturgy-bg a, .liturgy-bg.third-news h2 a {
    color: white !important;
}

.cover-shadow {
    box-shadow: 0px 0px 9px 6px rgba(204, 204, 204, 0.5);
}

.esf-censhare {
    margin-top: 1rem;
    margin-left: 15px;
    margin-right: 15px;
}
.esf-censhare.esf-3-columns {
    overflow: hidden;
    padding: 0 0 1rem 0;
}

.esf-censhare h4 {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 0rem;
    padding-top: 0rem;
}
.esf-censhare h4 + img {
    margin-top: 0.5rem;
}
.esf-censhare h5 {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 0rem;
    padding-top: 0rem;
}
.esf-censhare h5 + img {
    margin-top: 0.4rem;
}

.esf-censhare-item {
    -webkit-column-break-inside: avoid; /* Chrome, Safari */
    page-break-inside: avoid;           /* Theoretically FF 20+ */
    break-inside: avoid-column;         /* IE 11 */
}
@-moz-document url-prefix(){
    .esf-censhare-item {
        display: table;                 /* Actually FF 20+ */
    }
    .esf-censhare-date:first-child {
        margin-top: 1rem;
    }
}

.esf-censhare-item table {
    margin: 0;
    padding: 0;
}

.esf-censhare-item table tr td {
    vertical-align: top;
}

.esf-censhare-item table tr td:nth-child(2) {
    width: 99%;
    padding-left: 1rem;
}
.esf-censhare-date {
    font-family: 'Rufina', serif;
    font-size: 1.5rem;
    font-weight: bold;
}
.esf-censhare-date.margin-top {
    margin-top: 1rem;
}
.esf-censhare-legend {
    display: block;
    font-size: 1rem;
    padding: 0.2rem 0 1rem 0;
}
.esf-censhare-location-article {
    color: #444444;
    font-size: 1.2rem;
    font-weight: normal;
}

table.esf-table-censhare td {
    vertical-align: top;
}
.esf-table-censhare.twocolumns tbody tr td:nth-child(2) {
    text-align: right;
}
table.esf-table-censhare.line td {
    border-bottom: 1px solid #E8E8E8;
}

.communication td:first-child {
    padding-right: 0.7rem;
}
/*
.esf-censhare-content {
}
.esf-censhare-time {
}
.esf-censhare-location {
}
.esf-censhare-title {
}
*/

.superordinate {
    font-size: 1.5rem;
    margin: -1.6rem 0 1.6rem 0;
}
.subordinate {
    margin: 0.6rem 0 0.6rem 0;
}

.esf-inst-header h1 {
    margin: 0 0 1rem 0;
    padding-top: 1.4rem;
}
.esf-inst-header .address {
    margin: 0.8rem 0 1.5rem 0;
}
.esf-inst-header .address p {
    margin: 0;
    padding: 0;
}

.esf-3-columns {
    column-count: 1;
}

.esf-fullwidth.esf-floatnone {
    margin: 0;
}

.image-container {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
}
.image-container > a > span {
    background-position: center;
    background-size: cover;
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.image-and-title-wrapper {
    margin: 1rem 0 0 0;
}
.title-container {
    bottom: 0;
    color: white;
    padding: 0rem 15px 0rem 15px;
    position: absolute;
    width: 100%;
}
.title-container .date, .title-container-bottom .date, .youtube-title-container .date {
    display: block;
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.2rem;
    float: right;
    padding-top: 0.7rem;
}
.title-container-bottom .date {
    padding-top: 0.3rem;   
}
.title-container .image-caption {
    font-size: 1rem;
    margin: 0.2rem 0 0.3rem 0;
}
.supertitle {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.5rem;
    font-weight: 300;
}
.title-container h1 {
    color: white;
}
.youtube-title-wrapper {
    padding: 0.5rem 15px 0.5rem 15px;
}

.third-news {
    min-height: 100%;
}
.third-news .date {
    color: white;
    padding: 0.3rem 15px 0.3rem 15px;
    text-align: right;
}
.third-news h2 {
    color: white;
    margin: 0.3rem 0 0.2rem 0;
    padding: 0rem 15px 0.5rem 15px;
}

.esf-inst-header .image-container {
    margin-left: -15px;
    margin-right: -15px;
}

#footer-widget.bg-light {
    background-color: transparent !important;
}
#footer-widget .col-md-4 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

#footer-widget .col-md-4 section {
    background-color: #999999;
}
#footer-widget .col-md-4 section .textwidget {
    font-size: 1rem;
    padding: 1rem 15px 1rem 15px;
}
#footer-widget .col-md-4 section .textwidget a {
    color: #000000;
}
#footer-widget .col-md-4 section .textwidget h2, #footer-widget .col-md-4 section .textwidget h3 {
    color: #FFFFFF;
}

.video-container {
    height: 0;
    overflow: hidden;
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0px;
}
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.wp-block-embed__wrapper .video-container {
    padding-bottom: 120%;
}

#esf-gototop {
    bottom: 0rem;
    cursor: pointer;
    display: none;
    font-size: 5rem;
    position: fixed;
    right: 0rem;
}

.single-post header, .esf_event header, body:not(.home).page header {
    padding: 7px 15px 0 15px;
}
.single-post header .date, .esf_event header .date {
    font-weight: normal;
    text-align: right;
}
.single-post header .date.utilities, .esf_event header .date.utilities {
    padding-bottom: 0;
}
.single-post .entry-content, .esf_event .entry-content, body:not(.home).page .entry-content {
    padding: 1rem 15px 0 15px;
}
.single-post .entry-content ul, .esf_event .entry-content ul {
    list-style-type: none !important;
    padding: 0px;
}
.single-post .entry-content ul li, .esf_event .entry-content ul li {
    overflow: visible;
    padding: 0.5rem 0 0.5rem 2rem;
    position: relative;
}
.single-post .entry-content ul li:before, .esf_event .entry-content ul li:before {
    content: "\f0a9";
    font-family: 'FontAwesome';
    left: 0;
    position: absolute;
}
.single-post .entry-content.stellen ul li {
    padding: 0 0 0 1.2rem;
}
.single-post .entry-content.stellen ul li:before {
    color: #333333;
    content: "–";
    font-family: inherit;
}
.stellen-postdate {
    color: #444444;
    font-size: 1rem;
    margin-top: -10px;
}
.image-caption-container {
    bottom: 0;
    color: white;
    padding: 0rem 15px 0.2rem 15px;
    position: absolute;
    width: 100%;
}
.esf-image-caption {
    background-color: transparent;
}

.esf-box-full {
    background-color: #DDDDDD;
    margin: 0 0 1rem 0;
    padding: 1rem 1rem 0.1rem 1rem;
}
.esf-box-half-left {
    background-color: #DDDDDD;
    float: none;
    margin: 0.5rem 0 1rem 0;
    padding: 1rem 1rem 0.1rem 1rem;
    width: 100%;
}
.esf-box-half-right {
    background-color: #DDDDDD;
    float: none;
    margin: 0.5rem 0 1rem 0;
    padding: 1rem 1rem 0.1rem 1rem;
    width: 100%;
}
.esf-box-full h2, .esf-box-half-left h2, .esf-box-half-right h2 {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 1.4rem;
    font-weight: bold;
    margin: 0 0 0.5rem 0;
    padding: 0;
}
.categories {
    margin: 2rem 0 1rem 0;
}
.categories .category {
    color: #444444;
    display: inline-block;
    margin: 0 0.5rem 0 0;
    padding: 0.15rem 0.4rem 0.25rem 0.4rem;
}
.utilities {
    padding: 0 0 1rem 0;
    text-align: right;
}
.utilities a {
    display: inline-block;
    margin-left: 0.5rem;
}

.carousel-indicators {
    margin-bottom: 3rem;
}
.copyright-90-ccw {
    color: white;
    font-size: 0.8rem;
    max-width: 56%;
    overflow: auto;
    position: absolute;
    right: 1.3rem;
    top: 0.5rem;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    transform-origin: right top;
    white-space: nowrap;
}
.category-archive-post, .kurznachrichten-archive-post, .esf_event-archive-post:first-child, .stellen-archive-post:first-child {
    margin-bottom: 2.5rem;
    overflow: hidden;
}
.category-archive-post-content, .kurznachrichten-archive-post-content, .esf_event-archive-post-content, .stellen-archive-post-content {
    height: 100%;
    padding: 0.5rem 15px 0.8rem 15px;
}
.category-archive-post-content {
    color: white;
}
/*
.category-archive-post-content:first-child, .kurznachrichten-archive-post:first-child, .esf_event-archive-post:first-child, .stellen-archive-post:first-child {
    height: 100%;
}
*/
.category-archive-post a, .category-archive-post a:hover, .category-archive-post a:visited, .category-archive-post a:focus,
.category-archive-post a h2, .category-archive-post a:hover h2, .category-archive-post a:visited h2, .category-archive-post a:focus h2 {
    color: white;
}
.category-archive-post h2, .kurznachrichten-archive-post h2, .esf_event-archive-post h2, .stellen-archive-post h2 {
    margin: 0.5rem 0 0 0;
}
.stellen-archive-post a:hover {
    text-decoration: none;
}
.kurznachrichten-archive-post .date {
    text-align: right;
}
.date-leserbeitrag {
    font-style: italic;
}
.row.esf-event-list .left {
    padding-right: 30px;
}
.row.esf-event-list .right {
    margin: 0 0 0.5rem 0;
    padding-right: 30px;
    text-align: left;
}

.esf-inst-select {
    color: white;
    margin-top: 0.5rem;
    padding-top: 1rem;
}
.esf-inst-select .container > div {
    padding-bottom: 0.5rem;
}
.esf-inst-select table tr td {
    padding: 0.3rem 0rem;
}
.esf-inst-select table tr td:first-child {
    padding-right: 1rem;
}
.esf-inst-select select {
    text-overflow: ellipsis;
    width: 100%;
}
.ganzer-kanton, .alle-stellen {
    text-align: left;
}
.ganzer-kanton a, .alle-stellen a {
    display: inline-block;
    margin: 1rem;
    padding: 0.5rem 1rem 0.5rem 1rem;
}
.alle-stellen a {
    margin: 0 0 1rem 0;
}
.stellen-archive-post-content p {
    color: #333333;
}

.esf-medientippch-item {
    margin-bottom: 5rem;
}
.esf-medientippch-item a {
    text-decoration: none;
}
.esf-medientippch-item img, .esf-medientippch-item .esf-video-container {
    margin-left: -15px;
    margin-right: -15px;
    max-width: calc(100% + 30px);
    width: calc(100% + 30px);
}
.esf-medientippch-item .esf-medientippch-img_caption {
    color: #333333;
    font-size: 1rem;
    padding: 0.7rem 0 1rem 0;
}
.esf-medientippch-item .esf-medientippch-title {
    font-family: 'Rufina', serif;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 1rem 0 0.5rem 0;
}
.esf-medientippch-item .esf-medientippch-date {
    margin: 0 0 0.3rem 0;
    font-style: italic;
}
.esf-searchform {
    display: none;
    margin: 2rem 0 0 2rem;
    padding: 0.3rem 0.5rem 0 0.5rem;
    position: absolute;
    width: 15rem;
}
.esf-searchform input:focus {
    outline: none;
}
.esf-searchform .search-submit.btn.btn-default {
    display: none;
}
.page-content, .entry-content, .entry-summary {
    margin: 0;
}
.entry-meta {
    font-style: italic;
}

.esf-image-container {
    z-index: auto;
}
.esf-halfwidth.esf-floatleft {
    margin-left: 0;
}
.esf-halfwidth.esf-floatright {
    margin-right: 0;
}

figure.wp-block-embed-wordpress div.video-container {
    padding-bottom: 77%;
    padding-top: 30px;
    height: 0;
}

.wp-block-media-text {
    -ms-grid-columns: 33% 1fr;
    grid-template-columns: 33% 1fr;
}

.wp-block-media-text__media img, .wp-block-media-text__media video {
    margin-top: 0.6rem;
}

article.esf_person h1, article.esf_person .entry-content {
    margin-left: 15px;
    margin-right: 15px;
}
article.esf_person .entry-content {
    margin-top: 1rem;
}
.esf-person > div > div > h3 {
    margin-top: 0;
}

.esf-tv-radio .wp-block-column:first-child {
    padding-left: 0;
    padding-right: 1em;
}
.esf-tv-radio .wp-block-column:nth-child(2), .esf-tv-radio .wp-block-column:nth-child(3) {
    padding-left: 1rem;
    padding-right: 1rem;
}
.esf-tv-radio .wp-block-column:last-child {
    padding-left: 1rem;
    padding-right: 0;
}

.esf-posts-navigation {
    margin: 0 30px 0 30px;
    width: 100%;
}

.esf-agenda-ueberregional {
    margin-top: 2rem;
    padding-left: 30px;
    padding-right: 30px;
}

#main-nav {
    margin-left: -15px;
}
.esf-navi-search {
    left: 3rem;
}

.esf-archiv {
    background-color: #e8e9ea;
    border: 1px solid #cccccc;
    font-size: 1rem;
    margin: 0 15px 3rem 15px;
    padding: 15px;
}
.esf-archiv h2 {
    font-family: 'Source Sans Pro', sans-serif;
    margin-top: 0;
}

.site-main .posts-navigation {
    padding: 0 15px 1rem 15px;
}

.esf-shortnews p {
    display: none;
}


/* Extra small devices (portrait phones, less than 576px)
   No media query since this is the default in Bootstrap */

/* Small devices (landscape phones, 576px and up) sm */
@media (min-width: 576px) {
    #masthead .navbar-nav .dropdown-menu {
        border: none;
        margin-left: -1rem;
        margin-top: 2.4rem;
    }
    #content.site-content {
        margin-top: 4.8rem;
    }
    .esf-wordmark {
        margin: 0;
        padding: 1.2rem 0.5rem 1.2rem 0.6rem;
    }
    .esf-navi-socialmedia {
        right: 37%;
    }
    #main-nav {
        margin-left: 0;
    }
    .esf-navi-search {
        left: 5rem;
    }
}

/* Medium devices (tablets, 768px and up) md */
@media (min-width: 768px) {
    #content.site-content {
        margin-top: 4.7rem;
    }
    .esf-wordmark {
        padding: 0.9rem 0.5rem 0.9rem 0.6rem;
    }
    .esf-navi-socialmedia {
        right: 39%;
    }
    .esf-inst-header .image-container {
        margin-right: 0px;
    }
    .esf-3-columns {
        column-count: 2;
        column-gap: 2rem;
    }
    .h1, h1 {
        font-size: 2.5rem;
        padding-top: 0.5rem;
        padding-bottom: 1rem;
    }
    .esf-agenda-ueberregional {
        margin-top: 0;
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* Large devices (desktops, 992px and up) lg */
@media (min-width: 992px) {
    .container.main-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    #masthead {
        margin-left: 0;
        margin-right: 0;
    }
    
    #masthead .navbar-nav .dropdown-menu {
        margin-left: -1rem;
    }

    .esf-box-half-left {
        background-color: #DDDDDD;
        float: left;
        margin: 0.5rem 5% 1rem 0;
        padding: 1rem 1rem 0.1rem 1rem;
        width: 45%;
    }
    .esf-box-half-right {
        background-color: #DDDDDD;
        float: right;
        margin: 0.5rem 0 1rem 5%;
        padding: 1rem 1rem 0.1rem 1rem;
        width: 45%;
    }
    
    #content.site-content {
        margin-top: 4.7rem;
    }
    .esf-wordmark {
        padding: 0.6rem 0.5rem 0.6rem 0.6rem;
    }
    .esf-navi-socialmedia {
        right: 32%;
    }
    .esf-navi-socialmedia div+div a:first-child, .esf-navi-socialmedia div+div a:last-child {
        display: inline-block;
    }
    #masthead .navbar-nav .dropdown-menu .menu-item {
        padding: 0;
    }
    .esf-shortnews p {
        display: block;
    }
}

/* Extra large devices (large desktops, 1200px and up) xl */
@media (min-width: 1200px) {
    #content.site-content {
        margin-top: 4.7rem;
    }
    .esf-wordmark {
        padding: 0.7rem 0.6rem 0.7rem 0.6rem;
    }
    .esf-navi-socialmedia {
        right: 27%;
    }
    .esf-3-columns {
        column-count: 3;
        column-gap: 2rem;
    }
}

