:root {
    --footer_height: 2px;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
}
body {
    /* Margin bottom by footer height */
    margin-bottom: 60px;
    margin-bottom: var(--footer_height);
}
body.inc_a {
    /* Margin bottom by footer height + ad height*/
    margin-bottom: 110px;

}
.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    /* Set the fixed height of the footer here */
    height: 60px;
    height: var(--footer_height);
    line-height: 60px; /* Vertically center the text there */
    line-height: var(--footer_height);
    background-color: #f5f5f5;
}

body.inc_a #ads-go-here{
    border-top:1px solid #cfcfcf;
}

#ads-go-here {
    position: absolute;
    bottom: 60px;
    bottom: var(--footer_height);
    width: 100%;
    max-height:50px;
    background-color: #f5f5f5;
    text-align: center;
}

/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */

body > .container {
    padding: 60px 0 0;
}
.footer {
    background: #2260AC;
    color: #FFFFFF;
    text-align: center;
}
.footer .text-muted {
    color: rgba(255,255,255,0.7) !important;
}
.footer > .container {
    padding-right: 15px;
    padding-left: 15px;
    color: #FFFFFF;
}

body.keyboard-visible footer {
    display: none;
    height:0;
}

body.keyboard-visible {
    /*height: 100vh;*/
    height: 100%;
    margin-bottom: 0;
}
code {
    font-size: 80%;
}

.blank-row {
    display:none;
}

input:focus, button:focus {
    outline: none;
}

input:focus,input:active:focus,input.active:focus,
input.focus,input:active.focus,input.active.focus {
    outline: none;
    box-shadow:none !important;
    border:1px solid #ccc !important;
}

h1, h2, h3, h4, h5, h6 {
    color: #2260AC;
}

.btn-freestuff {
    background: #2260AC;
    color: #FFFFFF;
}

.bg-freestuff {
    background-color: #FBD240;
    color: #2260AC;
}
.bg-freestuff a {
    color: #2260AC;
}
.bg-freestuff .navbar-toggler {
    color: rgba(34, 96, 172, 0.5);
    border-color: rgba(34, 96, 172, 0.3);
}
.navbar-nav {
    padding: 0;
}
@media (max-width: 768px){
    .navbar-collapse,
    .navbar-nav .nav-item{
        margin-left:-16px !important;
        margin-right:-16px !important;
        padding-left:16px !important;
    }
}
.navbar-nav .nav-item.active {
    background: #2260AC;
    color: #FFFFFF !important;
}
.navbar-nav .nav-item.active > .nav-link {
    color: #FFFFFF !important;
}

.navbar-nav .nav-link {
    color: rgba(34, 96, 172, 0.8);
}

.bg-freestuff .navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(34, 96, 172, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
/*spinner*/
.loader {
    border: 10px solid #f3f3f3; /* Light grey */
    border-top: 10px solid #3498db; /* Blue */
    border-radius: 50%;
    width: 80px;
    height: 80px;
    animation: spin 2s linear infinite;
    text-align: center;
    display: none;
}

.login-type {
    background: #a7c9e6;
    border-color: #ced4da;
}

.login-type.active {
    background: #2260AC !important;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

ul:empty::after{
    content: attr(data-empty-message);
}

.chev {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 192 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='rgba(0, 0, 0, 0.1)' stroke-width='1' stroke-linecap='round' stroke-miterlimit='10' d='M166.9 264.5l-117.8 116c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17L127.3 256 25.1 155.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0l117.8 116c4.6 4.7 4.6 12.3-.1 17z'/%3E%3C/svg%3E");
    background-position: right 10px top;
    background-repeat: no-repeat ;
    padding-right:2.5em;

}

/*croppie stuff*/
#picture {
    display: none;
    max-width: 90%;
    width:300px;
    height:300px;
    margin-bottom: 40px;
}
#picture.ready  {
    display: block;
}

.item-navbar {
    background:#a7c9e6;
    color: #FFFFFF;
    box-sizing:border-box;
}

.item-navbar .item-link.active {
    background: #2260AC;
    color: #FFFFFF;
}

.item-navbar .item-link:nth-of-type(2) {
    border-left: 1px solid #FFFFFF;
}

#conversation-holder {
    max-height: calc(100vh - 167px);
    max-height: calc(100vh - calc(107px + var(--footer_height)));
    overflow-y: scroll;
    padding-bottom: 58px;
    /*padding-bottom: calc(var(--footer_height) - 2px);*/
}

body.keyboard-visible #conversation-holder {
    max-height: calc(100vh - 107px);
    max-height: calc(100vh - calc(107px + var(--footer_height)));
}

#conversation-holder .message {
    margin-bottom:8px;
}

#inbox-holder .message.sent .message-contents,
#conversation-holder .message.sent {
    background: #FBD240;
    padding: 10px;
    display: inline-block;
    box-sizing: border-box;
    border-radius: 3px;
    position: relative;
    min-width: 70%;
    max-width: 90%;
    margin-left: 5%;
}
#inbox-holder .message.sent .message-contents::after,
#conversation-holder .message.sent::after {
    border-color: #FBD240 transparent;
    border-style: solid;
    border-width: 10px 10px 0;
    bottom: -10px;
    content: "";
    display: block;
    right: 20px;
    position: absolute;
    width: 0;
}

#inbox-holder .message.received .message-contents,
#conversation-holder .message.received {
    margin-left: 5%;
    background: gray;
    background: #E8E8E8;
    padding: 10px;
    display: inline-block;
    box-sizing: border-box;
    border-radius: 3px;
    position: relative;
    min-width: 70%;
    max-width: 90%;
}
#inbox-holder .message.received .message-contents::after,
#conversation-holder .message.received::after {
    border-color: #E8E8E8 transparent;
    border-style: solid;
    border-width: 10px 10px 0;
    bottom: -10px;
    content: "";
    display: block;
    left: 20px;
    position: absolute;
    width: 0;
}

#conversation-holder .message.sent .message-timestamp {
    color: #595959;
}
#conversation-holder .message .message-timestamp {
    text-align: right;
    color: #8f8f8f;
    font-size: 0.8em;
}

#inbox-holder .message {
    padding: 2px;
    border-bottom: 1px solid #cfcfcf;
}
#inbox-holder .message.new .message-other-party{
    font-weight: bold;
}
#inbox-holder .message .message-contents {
    font-weight: 300 !important;
    font-size: 0.9em;
}

#inbox-holder .message .message-timestamp {
    text-align: right;
    color: #8f8f8f;
    font-size: 0.8em;
}

.send-message-container {
    min-height: 40px;
    padding-top:3px;
    padding-bottom:3px;
    background: #cfcfcf;
    position:absolute;
    bottom: 60px;
    bottom: var(--footer_height);
    left:0;
    right:0;
}

.keyboard-visible .send-message-container {
    /*bottom: 0;*/
}

.send-message-container .input-container {
    width: 90%;
    margin-left:5%;
}

.send-message-container .input-container input,
.send-message-container .input-container textarea {
    border-radius:19px;
    line-height: 22px;
    max-height: 120px;
    min-height: 38px;
    word-wrap: break-word; /* make sure the div and the textarea wrap words in the same way */
    box-sizing: border-box;
    resize: none;
}

.send-message-container .input-container input:focus,
.send-message-container .input-container textarea:focus {
    outline: none;
    border: 1px solid transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}

body.keyboard-visible .send-message-container {
    bottom: 0px;
}
#textCopy {
    line-height: 22px;
    position:absolute;
    top: -10000px;
    visibility: hidden;
    width: 100%;
    word-wrap: break-word; /* make sure the div and the textarea wrap words in the same way */
    box-sizing: border-box;
    padding:6px 12px 18px;
}
.item-title {
    text-align: center;
    border-bottom: 1px solid #cfcfcf;
    font-weight: bold;
}
.requester-name {
    height: 3rem;
    line-height: 3rem;
}
.requester-name #requester-name {
    line-height: 1.5rem;
}
.thumbs .thumb {
    color: #88898d;
}

.thumbs.my-thumbs-u .thumb-up {
    color: green;
}

.thumbs.my-thumbs-d .thumb-down {
    color: red;
}

.view-only-thumbs {
    display: inline-block;
    float:right;
    margin-right:10px;
}

#spinner {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #FBD240;
    z-index: 1000;
}
#spinner #spinner-message {
    text-align: center;
    color: #2260AC;
    font-size: 1.5em;
}
.sk-cube-grid {
    width: 40px;
    height: 40px;
    margin: 200px auto 20px;
}
.sk-cube-grid .sk-cube {
    width: 33%;
    height: 33%;
    background-color: #2260AC;
    float: left;
    -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
    animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
}
.sk-cube-grid .sk-cube7 {
    -webkit-animation-delay: 0s;
    animation-delay: 0s; }
.sk-cube-grid .sk-cube4,
.sk-cube-grid .sk-cube8 {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s; }
.sk-cube-grid .sk-cube1,
.sk-cube-grid .sk-cube5,
.sk-cube-grid .sk-cube9 {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s; }
.sk-cube-grid .sk-cube2,
.sk-cube-grid .sk-cube6 {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s; }
.sk-cube-grid .sk-cube3 {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s; }

@-webkit-keyframes sk-cubeGridScaleDelay {
    0%, 70%, 100% {
        -webkit-transform: scale3D(1, 1, 1);
        transform: scale3D(1, 1, 1);
    } 35% {
          -webkit-transform: scale3D(0, 0, 1);
          transform: scale3D(0, 0, 1);
    }
}

@keyframes sk-cubeGridScaleDelay {
    0%, 70%, 100% {
        -webkit-transform: scale3D(1, 1, 1);
        transform: scale3D(1, 1, 1);
    } 35% {
          -webkit-transform: scale3D(0, 0, 1);
          transform: scale3D(0, 0, 1);
    }
}