@tailwind base;
@tailwind components;
@tailwind utilities;


h1 {
    @apply text-2xl font-bold text-slate-700 mt-2 mb-6;
}

h2 {
    @apply text-xl font-bold text-slate-500 mt-2 mb-4;
}

h3 {
    @apply text-lg font-bold text-slate-500 my-2;
}

h4 {
    @apply text-base font-bold text-slate-500 my-2;
}

h5 {
    @apply text-base font-medium text-slate-500 my-2;
}


.lsb {
    font-family: "Helvetica";
}

/* Fallback until ../tailwind.config.js `theme.extend.listStyleImage` works */

.list-image-checkmark { list-style-image: url("/images/icons/checkmark.svg"); }


/* This file is for your main application CSS */

/* Alerts and form errors used by phx.new */
.alert {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.alert-info {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.alert-warning {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc;
}

.alert-danger {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

.alert p {
    margin-bottom: 0;
}

.alert:empty {
    display: none;
}

.invalid-feedback {
    color: #a94442;
    display: block;
    margin-top: 0.25rem;
}

/* LiveView specific classes for your customization */
.phx-no-feedback.invalid-feedback,
.phx-no-feedback .invalid-feedback {
    display: none;
}

.phx-click-loading {
    opacity: 0.5;
    transition: opacity 1s ease-out;
}

.phx-loading {
    cursor: wait;
}

.phx-modal {
    opacity: 1 !important;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

.phx-modal-content {
    background-color: #fefefe;
    margin: 15vh auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
}

.phx-modal-close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.phx-modal-close:hover,
.phx-modal-close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.fade-in-scale {
    animation: 0.2s ease-in 0s normal forwards 1 fade-in-scale-keys;
}

.fade-out-scale {
    animation: 0.2s ease-out 0s normal forwards 1 fade-out-scale-keys;
}

.fade-in {
    animation: 0.2s ease-out 0s normal forwards 1 fade-in-keys;
}

.fade-out {
    animation: 0.2s ease-out 0s normal forwards 1 fade-out-keys;
}

@keyframes fade-in-scale-keys {
    0% {
        scale: 0.95;
        opacity: 0;
    }
    100% {
        scale: 1.0;
        opacity: 1;
    }
}

@keyframes fade-out-scale-keys {
    0% {
        scale: 1.0;
        opacity: 1;
    }
    100% {
        scale: 0.95;
        opacity: 0;
    }
}

@keyframes fade-in-keys {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fade-out-keys {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

pre code.hljs {
    display: block;
    overflow-x: auto;
    /*padding: 1em*/
}

code.hljs {
    padding: 3px 5px
}

/*.hljs {
    color: #abb2bf;
    background: #282c34
}*/

.hljs-comment, .hljs-quote {
    color: #5c6370;
    font-style: italic
}

.hljs-doctag, .hljs-formula, .hljs-keyword {
    color: #c678dd
}

.hljs-deletion, .hljs-name, .hljs-section, .hljs-selector-tag, .hljs-subst {
    color: #e06c75
}

.hljs-literal {
    color: #56b6c2
}

.hljs-addition, .hljs-attribute, .hljs-meta .hljs-string, .hljs-regexp, .hljs-string {
    color: #98c379
}

.hljs-attr, .hljs-number, .hljs-selector-attr, .hljs-selector-class, .hljs-selector-pseudo, .hljs-template-variable, .hljs-type, .hljs-variable {
    color: #d19a66
}

.hljs-bullet, .hljs-link, .hljs-meta, .hljs-selector-id, .hljs-symbol, .hljs-title {
    color: #61aeee
}

.hljs-built_in, .hljs-class .hljs-title, .hljs-title.class_ {
    color: #e6c07b
}

.hljs-emphasis {
    font-style: italic
}

.hljs-strong {
    font-weight: 700
}

.hljs-link {
    text-decoration: underline
}

/* blog */

.blog-article img {
    width: 100%;
    border-radius: .5rem;
}

.blog-article img + em, .blog-article img + br + em {
    display: block;
    margin-top: -32px;
    font-size: .8888889em;
    text-align: center;
}

.blog-article img + br + em {
    margin-top: -64px;
}
