body {
    background-image: url("/images/prism.png");
    background-repeat: repeat;
}

.navbar {
    padding: 0.5rem 0.0rem;
}

.bg-dark {
    background-color: #373737 !important;
}

ul.navbar-nav {
    display: none;
    border-radius: 0.3rem !important;
    background-color: #373737;
}

.nav-link {
    color: white !important;
}

.rounded {
    border-radius: 0.3rem!important;
}

article {
    padding-bottom: 1.0rem !important;
}

article .metadata span {
    color: #373737;
}

.container {
    background: white;
    padding-bottom: 1rem;
}

a.text-white:hover {
    color: white!important;
}

a {
    color: #007bff !important;
    /* text-decoration: underline #007bff; */
    text-decoration-thickness: 1px;
}

a:hover {
    color: #007bff !important;
    text-decoration: underline #007bff;
    text-decoration-thickness: 1px;
}

p img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.blog-header {
    line-height: 1;
    border-bottom: 1px solid #e5e5e5;
}

.blog-header-logo {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2.25rem;
    font-weight: bold;
}

.blog-header-logo:hover {
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6 a {
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: #373737 !important;
    text-decoration: underline #373737;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: #373737 !important;
    text-decoration: underline #373737;
}

.display-4 {
    font-size: 2.5rem;
}

blockquote {
    background-color: #dddddd;
    padding: .75rem;
    border-radius: 0.3rem;
}

@media (min-width: 768px) {
    .display-4 {
        font-size: 3rem;
    };
}

@media (min-width: 768px) {
    .h-md-250 {
        height: 300px !important;
    }
}

div.d-block {
    min-height: 350px;
}

@media (min-width: 768px) {
    .bootblog4-featured-text {
        height: 300px !important;
    }
}



.nav-scroller {
    position: relative;
    z-index: 2;
    height: 2.75rem;
    overflow-y: hidden;
}

.nav-scroller .nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding-bottom: 1rem;
    margin-top: -1px;
    overflow-x: auto;
    text-align: center;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.nav-scroller .nav-link {
    padding-top: .75rem;
    padding-bottom: .75rem;
    font-size: .875rem;
}

.card-img-right {
    height: 100%;
    border-radius: 0 0.3rem 0.3rem 0;
}

.flex-auto {
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
    flex: 0 0 auto;
}

.h-150 {
    height: 150px;
}

@media (min-width: 768px) {
    .h-md-150 {
        height: 150px;
    }
}

.h-250 {
    height: 250px;
}

@media (min-width: 768px) {
    .h-md-250 {
        height: 250px;
    }
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

/*
* Blog name and description
*/
.blog-title {
    margin-bottom: 0;
    font-size: 2rem;
    font-weight: 400;
}

.blog-description {
    font-size: 1.1rem;
    color: #999;
}

@media (min-width: 40em) {
    .blog-title {
        font-size: 3.5rem;
    }
}

/* Pagination */
.blog-pagination {
    margin-bottom: 4rem;
}

.blog-pagination > .btn {
    border-radius: 2rem;
}

/*
* Blog posts
*/
article {
    padding-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    /*background: white;*/
}

article:last-child {
    margin-bottom: 0;
}

.entry-title {
    margin-bottom: .25rem;
    font-size: 2.5rem;
}

article .metadata {
    margin-bottom: 1.25rem;
    color: #999;
}

/*
* Footer
*/
.blog-footer {
    padding: 2.5rem 0;
    color: #999;
    text-align: center;
    background-color: #f9f9f9;
    border-top: .05rem solid #e5e5e5;
}

.blog-footer p:last-child {
    margin-bottom: 0;
}

@media (min-width: 576px) {
    .nbb-navbar-toggler {
        display: none;
    }

    .nbb-header {
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
}

/*social buttons*/
a.btn {
    color: #ffffff !important;
}

.btn {
    margin-right: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    float: right;
}

.btn.btn-social-icon {
    width: 30px;
    height: 30px;
    padding: 0
}

.btn.btn-rounded {
    border-radius: 30px
}

a.btn-email {
    background: #cdcdcd;
    color: #ffffff !important;
}

a.btn-twitter {
    background: #ffffff;
    color: #2caae1 !important;
}

.btn-linkedin {
    background: #0177b5;
    color: #ffffff !important;
}

.btn-email:hover,
.btn-email:focus {
    background: #cdcdcd;
    color: #ffffff !important;
}

.btn-twitter:hover,
.btn-twitter:focus {
    background: #ffffff;
    color: #1b8dbf !important;
}

.btn-linkedin:hover,
.btn-linkedin:focus {
    background: #015682;
    color: #ffffff !important;
}

/* table formatting */

table {
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

thead {
    border-bottom: 1px solid black;
    width: 80%;
}

thead th:nth-child(1) {
    width: 35%;
    text-align: left;
}

th, td {
    padding: 0.30rem;
    text-align: center;
}

th:nth-child(n+2), td:nth-child(n+2) {
    border-left: 1px solid black;
}

td:nth-child(1) {
    text-align: left;
}

/* Various fixes that make this theme look better for Nikola's needs */
.navbar-brand {
    padding: 0;
    white-space: initial;
}

.bootblog4-featured-large-image {
    height: 100%;
    border-top-right-radius: .3rem !important;
    border-bottom-right-radius: .3rem !important;
}

.bootblog4-featured-jumbotron-row {
    margin-left: 0;
    margin-right: 0;
}

.col-md-6.p-3.p-md-4.pr-0.h-md-250.bootblog4-featured-text {
    height: 300px; /* To make it 300px tall */
    max-width: unset; /* To allow it to expand beyond 50% */
    flex: 1; /* To make it as wide as possible within its flex container */
    padding-right: 0px; /* To ensure it touches the sibling element */
    /* You might need to add !important if other rules are overriding these
       Example: height: 300px !important;
       However, it's generally better to refine your selector's specificity
       or ensure your custom.css loads after other stylesheets. */
}

/* If you also want to ensure the image (assuming it's inside this element
   or a sibling and you want it to behave responsively),
   you would add rules for the image.
   Example: */
.col-md-6.p-3.p-md-4.pr-0.h-md-250.bootblog4-featured-text img {
    max-width: 100%;
    height: auto;
    display: block; /* Often good for images to remove extra space below */
}

/* Or if the image is in the sibling element, you'd target that: */
.col-md-6.p-0.h-md-250.text-right img {
    max-width: auto;
    height: 300px;
    display: block;
    float: right;
}

.bootblog4-right-nav {
    flex-direction: row;
}

.bootblog4-right-nav .nav-link {
    padding-right: .5rem;
    padding-left: .5rem;
}

/* .bootblog4-featured-text {
    overflow: auto;
} */

/* extend the mobile appearance to `sm`, because otherwise weird things happen */
@media (min-width: 576px) {
    .nbb-navbar-toggler {
        display: block;
    }
}

@media (max-width: 767px) {
    .bootblog4-right-nav {
        margin-top: 1rem;
    }

    .bootblog4-search-form-holder {
        position: absolute;
        top: 2.75rem;
    }

    .bootblog4-search-form-holder input.form-control {
        width: 6rem;
    }

    .bootblog4-brand {
        text-align: left;
    }
}

@media (min-width: 768px) {
    .nbb-navbar-toggler {
        display: none;
    }

    .flex-collapse {
        display: flex !important;
    }

    .bootblog4-search-form-holder {
        display: block !important;
    }

    .bootblog4-brand {
        text-align: center;
    }
}


.social-container {
display: flex;           /* Enables flexbox layout */
justify-content: flex-end; /* Pushes content to the right */
align-items: flex-start;   /* Aligns content to the top */
padding: 5px;           /* Adds some breathing room from the edge */
}

.social-btn {
display: inline-flex;
justify-content: center;
align-items: center;
width: 50px;
height: 50px;
border-radius: 50%;
color: white;
font-size: 24px;
text-decoration: none;
margin-left: 15px; /* Changed margin to separate buttons from left side */
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover Animation */
.social-btn:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}