body {   
   position: relative;
   background-color: #ffffff;   
   color: #000000;
   font-family: "Libre Franklin", Arial, Helvetica, sans-serif;
   font-size: 16px;
}

a {
   color: #0d6efd;
   text-decoration: none;
}
a:hover {
   color: #013480;
   text-decoration: underline;
}

.small {
   font-size: 0.8em;
}

.border-card {
    border-color: rgba(0, 0, 0, 0.175);
}

.banner {
    padding: 0;
    margin: 0;
    text-align: center;
    height: 300px;
    width: 100%;
    background-color: #ffffff;
    background: url(/assets/img/BOK-social-banner-1500x500.png) no-repeat center center; 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    border-bottom: 1px solid rgba(0, 0, 0, 0.175);
    display:block;
}

.banner-sm {
    border-bottom: 1px solid rgba(0, 0, 0, 0.175);
    display:none;
}

.article_heading {
    font-weight: bold;
}
.article_body {
    padding: 20px;
}
.article_meta {
    font-size: 14px;
    margin-bottom: 20px;
}
.article_tags {
    margin-top: 20px;
    font-size: 14px;
}
.cover {
    width: 100%;
    margin-bottom: 20px;
    border: 1px solid #000000;
    border-top-left-radius: .25rem !important;
	border-top-right-radius: .25rem !important;
	border-bottom-left-radius: .25rem !important;
	border-bottom-right-radius: .25rem !important;
}

.punch {
   font-size: 115%;
}
.no-before:before {
   content: none !important;
}

.card-image-banner {
   background-size: cover;
   background-position: 50% 50%;
   width: 100%;
   height: 100%;
   text-align: center;
}

.table-hover tbody tr:hover {
   background-color: #cce5ff;
}
label {
   font-weight: bold;
}

.stripebg {
   background-color: #0164a5;
   background-image: url('/assets/img/2020/Stripe-Background-Fade-820x360.png');
   background-repeat: repeat-x;
   width: 100%;
   height: 360px;
   overflow: hidden;
   position: relative;
   text-align: center;
}

.OKLightBlue1-bg { background-color: #1da4dc; }
.OKDarkBlue1-bg { background-color: #0164a5; }
.OKLightGreen-bg { background-color: #659a40; }
.OKDarkGreen-bg { background-color: #33691e; }
.OKLightOrange-bg { background-color: #d15521; }
.OKDarkOrange-bg { background-color: #904214; }
.OKLightGold-bg { background-color: #dc8f25; }
.OKDarkGold-bg { background-color: #a9672a; }
.OKLightBlue2-bg { background-color: #177abe; }
.OKDarkBlue2-bg { background-color: #014f9a; }
.OKLightGrey-bg { background-color: #888f92; }
.OKDarkGrey-bg { background-color: #464646; }
.OKLightBlue1-text { color: #1da4dc; }
.OKDarkBlue1-text { color: #0164a5; }
.OKLightGreen-text { color: #659a40; }
.OKDarkGreen-text { color: #33691e; }
.OKLightOrange-text { color: #d15521; }
.OKDarkOrange-text { color: #904214; }
.OKLightGold-text { color: #dc8f25; }
.OKDarkGold-text { color: #a9672a; }
.OKLightBlue2-text { color: #177abe; }
.OKDarkBlue2-text { color: #014f9a; }
.OKLightGrey-text { color: #888f92; }
.OKDarkGrey-text { color: #464646; }

.OKLightFadedBlue1-bg { background-color: #8ed2ee; }
.OKLightFadedGreen-bg { background-color: #b2cda0; }

.bg-menu1 { background-color: #177ABE; background: linear-gradient(-45deg,#1DA4DC,#0164A5,#177ABE,#014F9A); border-bottom: 1px solid rgba(0,0,0,.125);}  
.bg-menu1old { background-color: #177ABE; background: linear-gradient(-45deg,#1DA4DC,#0164A5,#177ABE,#014F9A); border-bottom: 5px solid; border-image: linear-gradient(77deg,#1DA4DC,#0164A5,#dc8f25,#d15521,#a9672a,#33691e,#659a40) 1; } 
.bg-grad-blue1 {background-color: #014F9A; background: linear-gradient(-45deg,#1DA4DC,#0164A5);}
.bg-grad-blue2 {background-color: #014F9A; background: linear-gradient(-45deg,#177ABE,#014F9A);}
.bg-grad-grey {background-color: #014F9A; background: linear-gradient(-45deg,#888F92,#464646);}
.bg-grad-orange {background-color: #014F9A; background: linear-gradient(-45deg,#D15521,#904214);}
.bg-grad-green {background-color: #014F9A; background: linear-gradient(-45deg,#659A40,#33691E);}
.bg-grad-gold {background-color: #014F9A; background: linear-gradient(-45deg,#DC8F25,#A9672A);}
.bg-grad-red {background-color: #014F9A; background: linear-gradient(-45deg,#ef2929,#a40000);}
.bg-grad-amazon {background-color: #FF9900; background: linear-gradient(-45deg,#D15521,#FF9900);}
.bg-stripe {background-color: #014F9A; background: linear-gradient(77deg,#1DA4DC,#0164A5,#dc8f25,#d15521,#a9672a,#33691e,#659a40);}

.text-purple { color: #645394; }
.text-facebook { color: #3b5998; }
.text-twitter { color: #55acee; }
.text-instagram { color: #c32aa3; }
.text-linkedin { color: #007bb5; }
.text-youtube { color: #ff0000; }
.text-googleplus { color: #dd4b39; }
.text-snapchat { color: #fffc00; }
.text-flickr { color: #ff0084; }
.text-pinterest { color: #cb2027; }
.text-rss { color: #ff6600; }
.text-spotify { color: #1ed760; }
.text-telegram { color: #0088cc; }
.text-mastodon { color: #563ACC; }
.text-reddit { color: #ff4500; }
.text-periscope { color: #40a4c4; }
.text-discord { color: #7289da; }
.text-amazon { color: #FF9900; }
.bg-purple { background-color: #4c2882; }
.bg-mastodon { background-color: #563ACC; }
.bg-mastodon-dark { background-color: #17063B; } 
.bg-twitter { background-color: #55acee; }
.bg-reddit { background-color: #ff4500; }
.bg-discord { background-color: #7289da; }

.post-text {
   font-size: 1.2em;
   line-height: auto;
}

a,
a:visited {
   text-decoration: none;
}
a:hover,
a:visited:hover {
   text-decoration: underline;
}

a.list-group-item,
a.list-group-item {
   color: #007bff;
   text-decoration: none;
}

a.list-group-item:hover,
a.list-group-item:hover {
   color: #0056b3;
   text-decoration: underline;
}

.card-max {
   height: 600px;
}

#bloglist, #reddit, #mastodon, #substack, #lemmy {
	height: 575px;
	overflow: auto;
}

#bloglist .card {
   margin: 10px;
   padding: 0;   
}
#bloglist .card-max {
   font-size: 14px;
}
#reddit .card, #substack .card {
   margin: 10px;
   padding: 0;
}
#reddit .card-max, #substack .card-max {
   font-size: 14px;
}
#mastodon .card {
   margin: 10px;
   padding: 0;
}

#mastodon .card-max {
   font-size: 14px;
}
#mastodon p {
   text-align: left;
   margin-bottom: 0;
}
#mastodon span.invisible {
   position: absolute !important;
}
#mastodon span.invisible {
   font-size: 0 !important;
   line-height: 0 !important;
   display: inline-block !important;
   width: 0 !important;
   height: 0 !important;
}
.card-max span.invisible img,
#mastodon span.invisible svg {
   margin: 0 !important;
   border: 0 !important;
   padding: 0 !important;
   width: 0 !important;
   height: 0 !important;
}
#mastodon span.ellipsis:after {
   content: '\2026\0020' !important;
}

.btn-xs {
   padding: 0.35em 0.65em;
   font-size: 0.75em;
   font-weight: 700;
   line-height: 1;
}

#wtPostLoading {
   position: absolute;
   left:    1rem;
   top:   1rem;   
}

#wtBtn {
   position: absolute;
   right:    1rem;
   bottom:   1rem;   
}

.school-logo-container {
			display: flex;
			flex-direction: row;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: center;
		}

.school-logo {
   width: 200px;	
   margin:10px;
   text-align:center;
   text-transform: uppercase;
}
 

@media (max-width: 576px) {
   .card-max {
      padding: 15px;
   }
}

.card-img-top {	
    width: 100%;
    object-fit: cover;
	object-position: 50% 50%;
}

.section {
	scroll-margin-top: 60px;
}	

/* Small devices (landscape phones, 576px and up) */
  @media (min-width: 576px) {
    .card-img-top {
        max-height: 100%;  
    }
  }
  /* Medium devices (tablets, 768px and up) */
  @media (min-width: 768px) {
    .card-img-top {
        max-height: 100%;
    }
  }
  /* Large devices (desktops, 992px and up) */
  @media (min-width: 992px) {
    .card-img-top {
        max-height: 15vw;
    }
  }
  /* Extra large devices (large desktops, 1200px and up) */
  @media (min-width: 992px) {
    .card-img-top {
        max-height: 15vw;
    }
  }
  
::placeholder  {
	color: #cccccc !important;
}			
.card, .card-header, .rd25 {
	border-top-left-radius: .25rem !important;
	border-top-right-radius: .25rem !important;
}
.card, .card-body, .rd25b {
	border-bottom-left-radius: .25rem !important;
	border-bottom-right-radius: .25rem !important;
}	

.amzn-native-container {max-width:1000px !important; margin: 0 auto !important;}		

/* #1DA4DC,#0164A5,#659A40,#33691E,#D15521,#904214,#DC8F25,#A9672A,#177ABE,#014F9A,#888F92,#464646 */
/* Changed 25px to .25rem 20220711 K2L */
/* Blue bar #1DA4DC,#0164A5,#177ABE,#014F9A */
/* stripe colors #1da4dc,#1DA4DC,#0164A5,#d15521,#904214,#a9672a,#33691e,#659a40,#659a40 */
/* background: linear-gradient(90deg,#1da4dc,#1DA4DC,#0164A5,#d15521,#904214,#a9672a,#33691e,#659a40,#659a40);   */

.splashokbg {
  margin-bottom: 1rem;  
  background-color: #1DA4DC;
  background: linear-gradient(77deg,#1DA4DC,#0164A5,#dc8f25,#d15521,#a9672a,#33691e,#659a40);  
  padding: 1rem;  
  border-bottom-left-radius: .25rem!important;
  border-bottom-right-radius: .25rem !important;
  border-top-left-radius: .25rem !important;
  border-top-right-radius: .25rem !important;
  color: #ffffff;
}
.splashokbg h2, .splashokbg h1 {margin:0;padding:0;}

.ellpi a {
min-width: 250px;		
font-weight: bold;
display: block;	    
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; 
}
.ellpi a:hover {
display: block;
white-space: normal;
overflow: visible;
text-overflow:clip; 
}

.cursorhelp {
	cursor: help;
}

.glassbox {
   /* From https://css.glass */
   background: rgba(255, 255, 255, 0.70);
   box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
   backdrop-filter: blur(7.2px);
   -webkit-backdrop-filter: blur(7.2px);
   border: 1px solid rgba(255, 255, 255, 1);
}

.glassbox-list-group {
      /* From https://css.glass */
      background: rgba(255, 255, 255, 0.70);
   box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
   backdrop-filter: blur(7.2px);
   -webkit-backdrop-filter: blur(7.2px);
   border: 1px solid rgba(255, 255, 255, 1);
}

a.glassbox-list-group-item {
   position: relative;
   display: block;
   padding: .5rem 1rem;
   text-decoration: none;
   background: rgba(255, 255, 255, 0);     
   font-weight: 750;    
   color: #55606a; 
}

a.glassbox-list-group-item:hover {
   background: rgba(255, 255, 255, .5);   
   color: #292125;         
}


a.list-group-item:hover, a.list-group-item:hover {
	background-color: rgba(142, 210, 238, .10)
}



 #wx .weather-section {
   margin-bottom: 20px;
   border-bottom: 1px solid #eee;
   padding-bottom: 15px;
}
#wx .weather-section:last-child {
   border-bottom: none;
}
#wx .period {
   display: flex;
   align-items: start;
   margin-bottom: 15px;
   padding: 10px;  
}
#wx .period img {
   width: 100px;  
   height: auto;
   margin-right: 15px;
   border-radius: 5px;
}
#wx .period-details {
   flex-grow: 1;
   font-size: 0.75 rem;
}
#wx .period strong {
   color: #000000;
}
#loading {
   font-style: italic;
   color: #666;
}
.error {
   color: red;
   font-weight: bold;
}



/* --- Sidebar Styles --- */
.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 260px; /* Expanded width */
    padding: 15px;
    display: flex;
    flex-direction: column;
    transition: width 0.3s ease;
    z-index: 1000;
}

.sidebar a {
    text-decoration: none;
    color: #b0b0b0;
    display: flex;
    align-items: center;
}

.sidebar a:hover {
    color: #fff;
}

.sidebar a.active {
    color: #fff;
}

.sidebar i {
    font-size: 1.2rem;
    min-width: 50px;
    text-align: center;
}

.sidebar span {
    white-space: nowrap; /* Prevent text from wrapping */
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Menu */
.sidebar-menu {
    list-style: none;
    flex-grow: 1; /* Pushes the footer down */
}

.sidebar-menu .menu-header {
    font-size: 0.8rem;
    color: #666;
    text-transform: uppercase;
    padding: 10px 15px;
    font-weight: 600;
}


/* Footer */
.sidebar-footer {
    padding-top: 15px;
    border-top: 1px solid #2a2a2a;
}
.user-profile {
    display: flex;
    align-items: center;
    margin-top: 15px;
}
.user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 15px;
}
.user-details {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
}
.user-name {
    font-weight: 600;
}

/* --- Collapsed State --- */
.sidebar.collapsed {
    width: 80px; /* Collapsed width */
    overflow: hidden;
}
.sidebar.collapsed span,
.sidebar.collapsed .user-details {
    opacity: 0;
    pointer-events: none; /* Make text unclickable when hidden */
}
.sidebar.collapsed .menu-header span {
    display: none;
}
.sidebar.collapsed .sidebar-header {
    display: flex;
    justify-content: center;
}
.sidebar.collapsed a {
 width: 50px; 
}

/* --- Main Content Styles --- */
main {
    flex-grow: 1;
    margin-left: 80px; /* Same as sidebar's expanded width  260px */
    width: calc(100% - 80px);
    transition: margin-left 0.3s ease;
 }
 header, footer {
    flex-grow: 1;
    margin-left: 80px; /* Same as sidebar's expanded width  260px */    
    transition: margin-left 0.3s ease;
 }
