body
{
    height:100%;
    font-family: 'Roboto', sans-serif;
}

.primary-color {
    color: #00B9F1;
}

.col-xs-15 {
    width: 20%;
    float: left;
}

.no-padding {
    padding:0px;
}

.no-padding-left {
    padding-left:0px;
}

.no-padding-right {
    padding-right:0px;
}

.pl-main-col {
    padding-right:30px;
}

:root {
    --sat: env(safe-area-inset-top);
    --sar: env(safe-area-inset-right);
    --sab: env(safe-area-inset-bottom);
    --sal: env(safe-area-inset-left);
}

.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
    position: relative;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
}

#pending-invite-link
{
    background-image: -webkit-linear-gradient(top,#00b7ef 0,#009bca 100%);
    background-image: -o-linear-gradient(top,#00b7ef 0,#009bca 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#00b7ef),to(#009bca));
    background-image: linear-gradient(to bottom,#00b7ef 0,#009bca 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00b7ef', endColorstr='#ff009bca', GradientType=0);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    background-repeat: repeat-x;
    border-color: #009bca;
}

#pending-invite-link:hover{
    background-color: #0e9ac5;
    background-position: 0 -15px;
}


@media (min-width: 768px) {
    .col-sm-15 {
        width: 20%;
        float: left;
    }
}

nav#global-nav{
    height:calc(env(safe-area-inset-top) + 60px);
    padding-top: calc(env(safe-area-inset-top));
}

body.ipad #global-nav{

}

nav#page-nav
{
    top:60px;
    margin-bottom:0px;
}


/* Status bar on ipad causes safe-area-inset-top to push the first header down. This pushes it back up */
@media only screen and (min-device-width: 481px) and (max-device-width: 1024px){
    /* For landscape layouts only */
    body.ipad nav#global-nav{
        margin-top:0px;
        padding-top:0px;
    }

    body.ipad #page-nav{
        /* Nothing for now*/
    }
}

@media only screen
and (min-device-width: 1024px)
and (max-device-width: 1366px)
and (-webkit-min-device-pixel-ratio: 2)
{
    nav#global-nav
    {
        padding-top:0px;
    }
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
    nav#global-nav
    {
        padding-top:0px;
    }
}

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

    body.ipad #page-nav{
        top:60px;
    }

    #pending-invitation-block{
        bottom:50px;
    }
    #timezone-block{
        bottom:50px;
    }
}

@media only screen and (min-width:992px){
    #timezone-block{
        bottom:0px;
    }
    #pending-invitation-block{
        bottom:0px;
    }
}

nav#page-nav
{
    top:calc(env(safe-area-inset-top) + 60px);
    border:0px;
}

#page-title
{
    font-size:16px;
    margin-left:-15px;
    padding-left: calc(env(safe-area-inset-left) + 15px);
}

#page-action
{
    padding-right:calc(env(safe-area-inset-right) + 15px);
}

.nav-contents
{
    display:flex;
    height:50px;
    align-items:center;
}

nav#global-nav .menu-bar
{
    font-size:12px;
    display:flex;
    align-items:center;
    height:60px;
}

#body-container
{
    margin-top:calc(env(safe-area-inset-top) + 60px);
    padding-left:calc(env(safe-area-inset-left) + 15px);
    padding-right:calc(env(safe-area-inset-right) + 15px);
}

nav#global-nav .plus-block
{
    padding-left:40px;
}

@media (min-width: 992px) {
    nav#global-nav .plus-block
    {
        padding-left:0px;
    }
    .col-md-15 {
        width: 20%;
        float: left;
    }

    nav#global-nav{
        height:80px;
        min-height:80px;
    }

    nav#page-nav
    {
        top:80px;
    }

    nav#global-nav .menu-bar
    {
        height:80px;
    }

    #body-container
    {
        margin-top:82px;
    }
}

@media (min-width: 1200px) {
    .col-lg-15 {
        width: 20%;
        float: left;
    }
}

#header-nav
{
    height:80px;
}

#content
{
    padding-top:80px;
}

#content-body
{
    padding-top:50px;
}

.pl-page-name
{
    font-size:24px;
    font-weight:500;
}

.pl-request-list
{

}

.pl-request
{
    background-color:#ffffff;
    padding-bottom:10px;
}

.personal-prayer-container
{
    border-bottom:1px solid #e9e9e9;
    padding-bottom:10px;
}

.user-unread
{
    font-weight: bold;
}

.update-link
{
    font-size:12px;
//color:#999;
//font-weight:bold;
//white-space: nowrap;
}

.pl-request .update-link
{
//color:#999;
}

.user-unread .update-link
{
    color: #00B9F1;
}

.user-unread .pl-request-attributes  .update-link.fa
{
    color:#00B9F1;
}

.btn-toggle-visibility .fa-gear
{
    margin-right:-1px;
}

.pl-request-update
{
    margin-top:10px;
}

.prayer-update-container
{
    border-bottom:1px solid #e9e9e9;
    padding-bottom:10px;
}

.pl-request-first {
    border-top: 1px solid #000000;
}

.pl-request .pl-request-heading
{
    margin-top:10px;
    font-size:18px;
    color:#000000;
}

.pl-request .pl-request-body
{
    padding-left:0px;
    margin-top:10px;
}

.pl-context-menu
{
    position:absolute;
    background-color:#cccccc;
    border:1px solid #999999;
    width:300px;
    padding:20px;
    margin-left:-280px;
    display:none;
    transition: all ease .5s;
    z-index:999;
}

.pl-context-menu .pl-context-menu-item
{
    line-height:22px;
}

.pl-context-menu hr {
    margin-top:5px;
    margin-bottom:5px;
}

.pl-context-menu-trigger
{
    cursor:pointer;
}

.pl-select-options
{
    position:absolute;
    z-index:1000;
    background-color:#128acc;
    width:200px;
    padding:10px;
    display:none;

}

.pl-navbar-select
{
    line-height:30px;
    color:#ffffff;
    background-color:#666666;
    width:200px;
}

.pl-navbar-select .pl-select-label
{
    padding:10px;
}

.pl-navbar{

}

.pl-navbar .pl-navbar-select .pl-select-link
{
    color:#ffffff;
    text-decoration:none;
}

.pl-navbar .pl-navbar-select .pl-select-link:hover
{
    color:#000000;
    background-color:#ffffff;
}

.error.form-error{
    color:#ff0000;
}

.form-submit-block {
    margin-top:30px;
    margin-bottom:10px;
}

/*.truncate
{
    display:flex;
    flex-direction:column;
    font-size:14px;
}*/

.truncate{
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/*.truncate {
    width: 100%;
    line-height:1.4em;
    max-height:1.4em;
    margin-right: -1em;
    padding-right: 1em;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
}

.update-link .truncate {
    width:100%;
    width: 100%;
    line-height:1.4em;
    max-height:4.2em;
    margin-right: -1em;
    padding-right: 1em;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
}

.truncate-short{
    line-height:1.4em;
    max-height:2.8em;
    margin-right: -1em;
    padding-right: 1em;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
}

.truncate-short:before {
    content:'';
    position:absolute;
    right:0;
    bottom:0;
}


.truncate:before {
    content:'...';
    position:absolute;
    right:0;
    bottom:0;
}

.truncate:after {
    content: '';
    position:absolute;
    right:0;
    width:1em;
    height:1em;
    margin-top:0.2em;
    background:white;
}*/

.custom-blink {
    animation: blinker 1s step-start infinite;
    pointer-events:none;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

.action-menu{
    font-weight:normal;
    position:absolute;
    width:250px;
    height:0px;
    right:40px;
    z-index:999;
    opacity:0;
    display:none;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.action-menu.menu-open {
    opacity:1;
}

.action-menu .menu-items{
    position:relative;
    list-style: none;
    padding:0;
    background-color:#E4E4E4;
    padding:10px;
    -moz-box-shadow:0px 5px 20px rgba(0,0,0,0.35);
    -webkit-box-shadow:0px 5px 20px rgba(0,0,0,0.35);
    box-shadow:0px 5px 20px rgba(0,0,0,0.35);
}

.action-menu hr {
    padding:0px;
    margin:5px;
    border-color: #ccc;
}

.action-menu .menu-item {
    line-height:25px;
}

.btn-no-reply {
    cursor:pointer;
}

.viewer-action-menu{
    font-weight:normal;
    position:absolute;
    width:250px;
    height:0px;
    z-index:999;
    opacity:0;

    display:none;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.pl-single-message .viewer-action-menu {
    left:-175px;
}

.viewer-action-menu.menu-open {
    opacity:1;
}

.viewer-action-menu .menu-items{
    position:relative;
    list-style: none;
    background-color:#E4E4E4;
    padding:10px;
    -moz-box-shadow:0px 5px 20px rgba(0,0,0,0.35);
    -webkit-box-shadow:0px 5px 20px rgba(0,0,0,0.35);
    box-shadow:0px 5px 20px rgba(0,0,0,0.35);
    min-height:50px;
}

.viewer-action-menu hr {
    padding:0px;
    margin:5px;
    width:80%;
    border-color: #ccc;
}

.viewer-action-menu .menu-item {
    line-height:25px;
}

.pl-request-attributes .fa {
    color:#777;
}

#master-content{
    margin-bottom:80px;
}

html {
    position: relative;
    min-height: 100%;
}
body {
    /* Margin bottom by footer height */
    margin-bottom: 0px;
}
.footer {
    position: absolute;
    bottom: 0px;
    /* Set the fixed height of the footer here */
    height: 60px;
    background-color: #f5f5f5;
}

.view-request .pl-request-original{
    border-top:0px;
}

.util-logger
{
    transition: all 0.5s;
    overflow-y: scroll;
}

.editable-pic
{
    position:relative;
    display:block;
    width:100px;
}

.editable-pic .overlay
{
    position:absolute;
    width:100px;
    top:25px;
    left:25px;
    visibility:hidden;
}

.editable-pic:hover .overlay
{
    visibility:visible;
}

.editable-pic .overlay .overlay-icon
{
    font-size:50px;
    color:rgba(51,51,51,.8);
}

.editable-pic:hover .pic
{
    opacity:.5;
}

.mobile-tab-selector .select-list a li{
    color: #000;
    line-height:20px;
    padding:10px;
    background-color:#fff;
    border:1px solid #efefef;
}

.mobile-tab-selector .select-list a li:hover{
    background-color:#fff;
    color:#000;
    border:1px solid #26B8EB;
}

.mobile-tab-selector .select-list a:hover{
    text-decoration: none;
}

.mobile-tab-selector .select-list a.active li{
    background-color: #26B8EB;
    border: 1px solid #26B8EB;
    color:#fff;
}

.mobile-tab-selector .select-list ul{
    list-style:none;
    color:#fff;
    margin:0;
    padding:0;
    line-height:20px;
}

.mobile-tab-selector .select-list .list-container {
    background-color:#e9e9e9;
    border:1px solid #ccc;
    padding:0px;
}

.mobile-tab-selector .toggle {
    background-color:#e9e9e9;
    border:0px solid #ccc;
    padding:10px;
    cursor:pointer;
    line-height:20px;
}

.pl-request-attributes .tooltip
{
    z-index:1;
}

.anchor
{
    display:block;
    position:relative;
    top:-160px;
    visiblity:hidden;
}

.dont-break-out {

    /* These are technically the same, but use both */
    overflow-wrap: break-word;
    word-wrap: break-word;

    -ms-word-break: break-all;
    /* This is the dangerous one in WebKit, as it breaks things wherever */
    word-break: break-all;
    /* Instead use this non-standard one: */
    word-break: break-word;

    /* Adds a hyphen where the word breaks, if supported (No Blink) */
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;

}

.mobile-headline-text
{
    font-size:18px;
    height:40px;

}

@media screen and (min-width: 50em) {
    /*.mobile-headline-text {
        font-size: 1.7vw;
        font-weight:normal;
    }*/
}

.app-menu li .ul-title
{
    background-color:#26B8EB;
}

.app-menu li:nth-child(even) .ul-title
{
    background-color:#2394B2;
}

.menu-bar a
{
    color:#000;
}
.footer-bar a, #sidebar a
{
    color:#999;
}

.menu-bar a.icon-active, .footer-bar a.icon-active, #sidebar a.icon-active
{
    color: #00B9F1;
}

.pl-request.hoverable.hovering
{
    background-color: #f5f5f5;
    cursor:pointer;
    transition: background-color 0.25s ease-out;
}

.pl-request.hoverable.hovering .truncate:after
{
    background-color:#f5f5f5;
}

.navbar-default
{
    background-color:#fff;
    background-image:none;
    box-shadow: none;
    -webkit-box-shadow: none;
}

.pl-context-menu-trigger:hover {
    text-decoration:underline;
}

#app-body
{
    padding-bottom:80px;
}

#body-container
{
    padding-top:60px;
}

#app-error, #app-success
{
    padding-bottom:10px;
}

.context-menu .menu-item
{
    text-align:center;
}

#sidebar .context-menu .menu-item
{
    height:80px;
}

.calendar-day.off-month
{
    background-color:#efefef;
}

#footer .context-menu .anomaly-link
{
    display:flex;
    flex-direction: column;
    align-items: center;
    padding-top:8px;
}

.refresh-link
{
    cursor: pointer;
}

.btn-file {
    position: relative;
    overflow: hidden;
}

.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}

.blueimp-gallery>.play-pause
{
    right: inherit;
    left: 30px;
}

.blueimp-gallery > .close
{
    padding-top: calc(env(safe-area-inset-top) + 10px);
}

.blueimp-gallery>.expand
{
    position: absolute;
    right: 15px;
    bottom: 15px;
    width: 15px;
    height: 15px;
    cursor: pointer;
    color:#fff;
    opacity: .5;
}

.blueimp-gallery>.next, .blueimp-gallery>.prev
{
    background:none;
    opacity: .8;
    text-shadow: 0 0 5px #000;
    border:none;
}

.image-container
{
    padding-bottom:10px;
    border-bottom:1px solid #e9e9e9;
}

.close-icon
{
    color:#777;
    font-weight:200;
}

.nobr {
    white-space: nowrap;
    hyphens: none;
}

.footer-bar
{
    padding-bottom:env(safe-area-inset-bottom);
}

.confirm {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  padding: 10px;
  box-sizing: border-box;

  opacity: 0;
  animation-name: confirm---open;
  animation-duration: 0.2s;
  animation-fill-mode: forwards;

  display: flex;
  align-items: center;
  justify-content: center;

  z-index:9000;
}

.confirm--close {
    animation-name: confirm---close;
}

.confirm__window {
    width: 100%;
    max-width: 600px;
    max-height:100%;
    background: white;
    font-size: 14px;
    font-family: sans-serif;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);

    opacity: 0;
    transform: scale(0.75);
    animation-name: confirm__window---open;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
    animation-delay: 0.2s;
}

.confirm__titlebar,
.confirm__content,
.confirm__buttons {
    padding: 1.25em;
}

.confirm__titlebar {
    background: #00B9F1;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.confirm__title {
    font-weight: bold;
    font-size: 1.1em;
}

.confirm__close {
    background: none;
    outline: none;
    border: none;
    transform: scale(2.5);
    color: #ffffff;
    transition: color 0.15s;
}

.confirm__close:hover {
    color: #003b55;
    cursor: pointer;
}

.confirm__content {
    line-height: 1.8em;
}

.confirm__buttons {
    background: #eeeeee;
    display: flex;
    justify-content: flex-end;
}

.confirm__buttons.buttons__divided {
    display:flex;
    justify-content: space-between;
}

.confirm__buttons .confirm__buttons__group {
    display: flex;
    justify-content: flex-end;
}

.confirm__button {
    padding: 0.4em 0.8em;
    border: 0px;
    border-radius: 5px;
    background: #ffffff;
    color: #00B9F1;
    font-weight: bold;
    font-size: 1.1em;
    font-family: sans-serif;
    margin-left: 0.6em;
    cursor: pointer;
    outline: none;
}

.confirm__button--fill {
    background: #00B9F1;
    color: #ffffff;
}

.confirm__button--danger {
    background: #d84a50;
    color: #ffffff;
}

.confirm__button:focus {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
}

@keyframes confirm---open {
    from { opacity: 0 }
    to { opacity: 1 }
}

@keyframes confirm---close {
    from { opacity: 1 }
    to { opacity: 0 }
}

@keyframes confirm__window---open {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.blueimp-gallery>.close, .blueimp-gallery>.title{
    color: black;
}