* {
    box-sizing: border-box;
}


div:focus {
  outline: none;
  border: none;        
  box-shadow: none;    
}

.roundCorners {
/*
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
*/
}


div[class*='button'], span[class*='button'], div[class$='button'], span[class$='button'] {
   cursor:pointer;
}

body {
   background-color: #FFFFFF;
   margin:0;
   padding:0;
   font-family: Roboto, sans-serif, 'Source Sans Pro', helvetica, arial;
   line-height:1.45;
}


body,p,table,td,tr {
   font-size: 18px;
   color: #000000;
}

p {
   margin-bottom:15px;
}

* {
  margin: 0;
}


html, body {
  height: 100%;
}

.lowercase  { text-transform:lowercase; }
.uppercase { text-transform:uppercase; }


li {
   font-size:18px;
   margin-top:4px;
}

.wrapper {
  min-height: 100%;
  margin-bottom: -250px; 
}


.wrapper:after {
  content: "";
  display: block;
}


.footer, .wrapper:after {
  height: 300px; 
  padding-top:10px;
}



.footer {
   background-color:#0F3652;
   background-color:#000;
   color:#FFF;
}

.childwrapper {
   position:relative; 
   margin:auto; 0px; 
   margin-bottom:250px; 
   margin-top:20px; 
}

.childwrappernoborders {
   position:relative; 
   margin:auto; 0px; 
   margin-bottom:250px; 
   margin-top:5px; 
}

.topheader {
   width:100%;
   position:relative;
}

.footer h1{
   color:#FFF;
}


.footer h2{
   color:#FFF;
}

.footer h3{
   color:#FFF;
}

.footer span{
   font-size:18px;
   color:#FFF;
}


.footer p{
   margin:3px;
   font-size:18px;
   font-weight:bold;
   color:#FFF;
}

.footer a:link    {
  text-decoration:  none;
  font-size:14px;
  color:#FFF;
}


.footer a:visited {
  text-decoration:  none;
  font-size:14px;
  color:#FFF;
}


.footer a:hover   {
  text-decoration:  underline;
  font-size:14px;
  color:#FFF;
}


.footer a:active  {
  text-decoration:  none;
  font-size:14px;
  color:#FFF;
}



hr {
    border: 0;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid rgba(189, 189, 189, 0.3);
}


a.noColor {
  text-decoration: none;
  color: #003366;
}

a.noColor:hover {
  text-decoration: none;
  color: #003366;
  border-bottom: 2px solid #003366; /* Sharp, illuminated line */
}

a:link    {
  text-decoration:  none;
  color: #003366;
} 

a:visited {
  text-decoration:  none;
  color: #003366;
} 

a:hover {
  text-decoration: none;
  color: #003366;
  border-bottom: 2px solid #003366; /* Sharp 2px line appears */
  padding-bottom: 2px; /* Adds "breathing room" */
}

a:active  {
  text-decoration:  none;
  color: #003366;
} 


.logo {
   font-size:25px;
   color: #FFF;
}

a.logo:link    {
  font-weight:bold;
  text-decoration:  none;
  color:            #666666;
}

a.logo:visited {
  text-decoration:  none;
  color:            #666666;
}

a.logo:hover   {
  text-decoration:  none;
  color:            #666666;
}

a.logo:active  {
  text-decoration:  none;
  color:            #666666;
}

.noDecoration:hover {
   text-decoration: none;
   border: 0px;
   padding: 0px;
}


.althover {
   color: #000;
   /* Use border-box so borders don't increase the total width */
   box-sizing: border-box;
   /* Start with a transparent border so the size stays constant on hover */
   border: solid 1px transparent;
   border-left: solid 4px transparent;
   padding-left: 5px;
   padding-right: 5px;
   height: 50px;
   line-height: 50px;
   /* Clearfix for floats */
   overflow: hidden;
}

.althover:hover {
   border: solid 1px #BBB;
   border-left: solid 4px #EE4B2B;
   background: #FFFFFF;
}

h1.h1header {
   color: #FFF;
   text-transform: uppercase;
   font-weight: bold;
}

h1 {
   font-size: 25px;
   font-weight: 300;
}

h2 {
   font-size: 19px;
   font-weight: 300;
}

h2 span {
   font-weight: 300;
}


/* 1. The Main Header Container */
h2.h2header {
   display: flex;
   align-items: center; /* Fixed typo: 'center' instead of 'centered' */
   justify-content: space-between; /* Modern way to push the span to the right */
   padding: 10px;
   font-weight: 700;
   border-left: 4px solid #B90504; /* Your brand red */
}

/* 2. Grouped Link States (Base, Visited, Active) */
h2.h2header a:link, 
h2.h2header a:visited, 
h2.h2header a:active {
   text-decoration: none;
   color: #003366; /* Your blue color */
   
   /* THE FIX: Reserve the space now so it doesn't jump later */
   border-bottom: 2px solid transparent; 
   padding-bottom: 2px;
   
   display: inline-block; /* Ensures the padding and border behave correctly */
   transition: border-color 0.2s ease; /* Makes the underline fade in smoothly */
}

/* 3. The Hover State (Fixed class name to h2header) */
h2.header a:hover,
h2.h2header a:hover {
   text-decoration: none;
   color: #003366;
   border-bottom: 2px solid #003366; /* Now it just changes color, not size */
}

/* 4. The Span (The text on the right) */
h2.h2header span {
   color: #003366;
   font-weight: 400; /* Optional: lighter weight for the 'View All' part */
}


h3 {
   font-size: 18px;
   margin-bottom:10px; 
   font-weight: 300;
}

h3 span {
   font-weight: 100;
}

h3.h3header {
   color: #00365A;
   font-weight: bold;
}

h3.h3header span{
   float:right;
   color: #FFFFFF;
   font-weight:300;
}

h3.h3header a:active {
  color:#FFFFFF;
}

h3.h3header a:visited {
  color:#FFFFFF;
}

h3.h3header a:link {
  color:#FFFFFF;
}

h3.h3header a:hover {
  color:#FFFFFF;
  text-decoration: underline;
}


h4 {
   margin-bottom:10px; 
   font-size: 18px;
   font-weight: 300;
}

h4 a:active {
  color:            #0079D7; 
}

h4 a:visited {
  color:            #0079D7; 
}

h4 a:link {
  color:            #0079D7; 
}

h4 a:hover {
  color:            #0079D7; 
  text-decoration: underline;
}

h4 span {
   font-weight: 100;
}


h1 a:active {
  color:            #0079D7; 
}

h1 a:visited {
  color:            #0079D7; 
}

h1 a:link {
  color:            #0079D7; 
}

h1 a:hover {
  color:            #0079D7; 
  text-decoration: underline;
}


h2 a:active {
  color: #306CD1;
}

h2 a:visited {
  color: #306CD1;
}

h2 a:link {
  color: #306CD1;
}

h2 a:hover {
  text-decoration: none;
  color: #4886EE;
  text-decoration: underline;
}



h3 a:active {
  color:            #0079D7; 
}

h3 a:visited {
  color:            #0079D7; 
}

h3 a:link {
  color:            #0079D7; 
}

h3 a:hover {
  color:            #4184f3; 
  text-decoration: underline;
}


.errormessage {
   position:relative;
   width: 650px;
   margin: 0 auto;
   margin-top:40px;
   border:1px solid #DDD;
   background: #FFF;

}

.errormessage  p {
   font-size:18px;
   color: #000;
   padding:5px;
   margin-top:10px;
   margin-bottom:10px;
}

.errormessage  img {
   height:24px;
}

.errormessage h2 {
   display: flex;
   align-items: center;
   justify-content: space-between;
   background: red;
   color: #FFF;
   font: 18px  'Trebuchet MS', 'Source Sans Pro', helvetica;
   padding:5px;
}


.infomessage {
   width: 600px;
   margin: 0 auto;
   margin-top:20px;
   border:1px solid #DDD;
   background: #FFF;
}

.infomessage h2 {
   background: #6FDC6F;
   font: 16px  'Trebuchet MS', 'Source Sans Pro', helvetica;
   color: #FFF;
   margin:0 auto;
   padding:5px;
}

.infomessage  p {
   font: 16px  'Trebuchet MS', 'Source Sans Pro', helvetica;
   font-weight: 100;
   color: #000;
   padding:10px;
   line-height:125%;
}

.warningmessage {
   width: 600px;
   margin: 0 auto;
   border:1px solid red;
   border:1px solid #CCC;
   background: #F1F1F1;
}

.warningmessage h2 {
   background: #FF6633;
   background: red;
   font: 15px  'Trebuchet MS', 'Source Sans Pro', helvetica;
   color: #FFF;
   margin:0 auto;
   padding:5px;
}

.warningmessage  p {
   font: 16px  'Trebuchet MS', 'Source Sans Pro', helvetica;
   font-weight: 100;
   color: #000;
   padding:10px;
   line-height:125%;
}

/* ----------------------- start of main menu -------------------- */

.menubackground {
   background-color:#000000;
   transition: all 0.7s ease-out;
}


.main_menu
{
    /* container holding all menu options from left to right */
    heigh:50px;
    line-height:50px;
    color:#D1D1D1;
    position:relative;
    font-size:18px;
    margin-top:0px;
}


.main_menu ul
{
    padding:0px;
    margin:0px;
    margin-left:-10px;
    list-style:none;
    font-size:18px;
}


.main_menu ul li
{
    /* Individual menus accross the top */
    margin:0px;
    float:left;
    font-size:18px;
}


.main_menu ul li a
{
    /* color on main menu not sub */
    display:block;
    padding-right: 10px;
    padding-left: 10px;
    color:#D1D1D1;
    font-size:18px;
    border-left: solid 4px transparent;
}


.clearmenubackground ul li a
{
    /* color on main menu not sub */
    display:block;
    text-decoration:none;
    border:0px;
    padding-right: 10px;
    padding-left: 10px;
    font-size:18px;
}


.main_menu ul li a:hover
{
    /* colors when hovering over main menu  items on top menu.*/
    text-decoration:none;
    border: 0px;
    background: #13161A;
    color: #FFFFFF;
    font-size:18px;
    height:50px;
    border-left: solid 4px red;
}


.main_menu ul li ul
{
    display: none;
    width: auto;
    position:absolute;
    top:50px; /* This should be the height of the menubackground div so it lines up at the bottom */
    padding:0px;
    margin:0px;
    font-size:18px;
}

.main_menu ul li:hover ul
{
    display: block;
    position: absolute;
    margin: 0px;
    padding: 0px;
    z-index:1;
    font-size:18px;
}

.main_menu ul li:hover li
{
    border: 0px;
    float: none;
    list-style:none;
    margin:0px;
    font-size:18px;
}

.main_menu ul li:hover li
{
    /* color of drop down background */
    /* This is color of sub menus background before a hover */
    border: 0px;
    background:#000000;
    margin-bottom:0px;
    font-size:18px;
}

.main_menu ul li:hover li a
{
    /* sub menu  text and box*/
    border: 0px;
    padding:0 10px;
    display:block;
    border-left: solid 4px transparent;
    color: #FFFFFF;
    height:50px;
    line-height:50px;
    font-size:18px;
}

.main_menu ul li li a:hover
{
    /* Submenu text on hover */
    /* The color behind the menus that drop down and get hovered on */
    text-decoration:none;
    border: 0px;
    border-left: solid 4px red;
    background: #13161A;
    font-size:18px;
}

/* ----------------------- end of main menu -------------------- */


textarea {
   background: #FFFFFF;
   border:1px solid #333333;
   padding: 5px;
   margin-top: 0px;
   font: 16px Roboto, sans-serif, 'Source Sans Pro', helvetica,  Roboto, sans-serif, 'Source Sans Pro', helvetica;
   color: #000000;
   border:1px solid #CCC;
}


input {
   background: #F4F4F6;
   border:1px solid #333333;
   padding: 3px;
   height: 35px;
   font: 16px sans-serif, 'Source Sans Pro', helvetica,   sans-serif, 'Source Sans Pro', helvetica;
   color: #68696B;
   border:1px solid transparent;
   border:1px solid #CCC;
}


input {
   background: #F4F4F6;
   padding: 3px;
   height: 35px;
   font: 16px Roboto, sans-serif, 'Source Sans Pro', helvetica,  Roboto, sans-serif, 'Source Sans Pro', helvetica;
   color: #000000;
   border:1px solid #575757;
}


.magnifybtn {
   background-color:#0F2C3D;
   background-color: RoyalBlue;
   border: 0px solid transparent;
   background-image: url(siteimages/icons/white_search.png); background-size:cover; background-repeat:no-repeat; background-position:center;
   height:34px; 
   width:34px; 
   cursor:pointer;
}


input[type="submit"] {
   height:35px;
   background:#4184F3;
   text-align:center;
   font-size:18px;
   font-weight:100;
   color:#FFF;
   padding:7px;
}

input[type="file"] {
   height:40px;
   text-align:center;
   font-size:18px;
   font-weight:100;
   padding:7px;
}




input:hover {
}


input[type="checkbox"] {
  vertical-align:middle;
  margin-right:5px;
  background-color:transparent;
  height:25px;
  width:25px;
}


input[type="radio"] {
  margin: 10px;
  width: 25px;
  height: 25px;
  vertical-align:middle;
  background-color : transparent;
}



input:focus {
   box-shadow: 0px 0px 2px 2px #83B6F3;
   -moz-box-shadow: 0px 0px 2px 2px #83B6F3;
   -webkit-box-shadow: 0px 0px 2px 2px #83B6F3;
   /* For IE 8 */
   -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=9, Direction=135, Color='#83B6F3')";
}

select {
   border:1px solid #252836;
   padding: 3px;
   margin-top: 0px;
   font: 18px Roboto, sans-serif, 'Source Sans Pro', helvetica,  Roboto, sans-serif, 'Source Sans Pro', helvetica;
   color: #000;
}


select:hover {
   box-shadow: 0px 0px 2px 2px #83B6F3;
   -moz-box-shadow: 0px 0px 2px 2px #83B6F3;
   -webkit-box-shadow: 0px 0px 2px 2px #83B6F3;
   /* For IE 8 */
   -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=9, Direction=135, Color='#83B6F3')";
}

div.tabs {
   height:36px;
   display: block;
   text-align:center;
   font-size:18px;
   font-weight:100;
   text-transform: uppercase;
   color:#AAA;
   padding:5px;
   border: 1px solid #EEE;
}

div.tabs a:link {
   color: #FFFFFF;
   text-decoration: none;
}

div.tabs a:visited {
   color: #FFFFFF;
   text-decoration: none;
}

div.tabs:hover {
   background:#FFBA00;
}




/* --- CLEAN BUTTON REFACTOR (No Hacks) --- */

/* 1. THE BUTTON CONTAINER */
[class*="button"] {
    display: inline-flex;    /* Centering power of flex, behavior of an inline element */
    align-items: center;     /* Vertical center */
    justify-content: center;  /* Horizontal center */
    
    height: 35px;
    padding: 0 10px;
    font-size: 18px;
    font-weight: 100;
    cursor: pointer;
    text-decoration: none !important;
    box-sizing: border-box;
    vertical-align: middle;
    white-space: nowrap; /* Prevents text from wrapping inside the button */
    
    /* THE FIX: Fixed line-height stops the text from 'floating' or shifting */
    line-height: 1 !important; 
    
    /* Smooth color transition without affecting geometry */
    transition: filter 0.2s ease, background-color 0.2s ease;
}

/* Small Variant */
[class*="small"] {
    height: 24px;
    font-size: 13px;
}

/* 2. THE INNER LINK RESET */
/* This kills any global LeicaImages <a> styles that cause the 2px jump */
[class*="button"] a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: inherit !important;
    text-decoration: none !important;
    
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    outline: none !important;
}

/* 3. THE HOVER INTERACTION */
/* Using filter:brightness ensures the button 'glows' on hover 
   without needing to change the background-color property itself */
[class*="button"]:hover {
    filter: brightness(1.2) !important;
    text-decoration: none !important;
}

/* 4. COLOR DEFINITIONS (Safe to use !important here) */
.bluebutton, .smallbluebutton     { background-color: #4184f3 !important; color: white !important; }
.redbutton, .smallredbutton       { background-color: #d93025 !important; color: white !important; }
.greenbutton, .smallgreenbutton   { background-color: #1e8e3e !important; color: white !important; }
.orangebutton, .smallorangebutton { background-color: #ff9800 !important; color: white !important; }
.graybutton, .smallgraybutton     { background-color: #757575 !important; color: white !important; }
.whitebutton, .smallwhitebutton   { background-color: #ffffff !important; color: #000000 !important; }

/* 5. THE CLEAR BUTTON (Special Outline Style) */
[class*="clearbutton"] {
    background-color: transparent !important;
    border: 1px solid #575757 !important;
    color: #ccc !important;
}

[class*="clearbutton"]:hover {
    border-color: #4184f3 !important;
    color: #4184f3 !important;
    background-color: rgba(65, 132, 243, 0.1) !important;
    filter: none !important; /* Disable brightness for clear buttons */
}

/* --- END OF STATIC BUTTONS (No Hover Effects) --- */

.button-group {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    margin-top: 5px;
}


#ckbutton label span {
   display:inline-block;  /* This makes the margin for top work for span */
   float: left;
   cursor: pointer;
   text-align:center;
   font-size:18px;
   padding-top:5px;
   padding-bottom:5px;
   padding-left:10px;
   padding-right:10px;
   border:1px solid #CCC;
   color:#CCC;
   margin-right:10px; 
   margin-top:10px;
}

#ckbutton label input {
   display: none;
}

#ckbutton input:checked + span {
   background-color:#FF8000;
   background-color:#EEE;
   background-color:#00FF55;
   background-color:green;
   color:white;
}

#ckbutton label span:hover {
   background-color:#FF8000;
   background-color:#EEE;
   background-color:#B3FFCC;
   color:black;
   background-color:#00FF55;
   background-color:green;
   color:white;
}

#ckbutton input:checked + span:hover {
   background-color:#C11E00;
   background-color:#FF8080;
   background-color:#FF471A;
   background-color:#E42217;
   color:white;
}


.profilename {
   font-size:20px;
   font-weight:bold;
   float:left; 
   border:0px solid; 
   overflow:hidden;
   white-space: pre-line;
   word-wrap: break-word;
}


.circular24{
   border-radius: 12px;
   -webkit-border-radius: 12px;
   -moz-border-radius: 12px;
}


.circular32{
   border-radius: 16px;
   -webkit-border-radius: 16px;
   -moz-border-radius: 16px;
}


.circular40{
   border-radius: 20px;
   -webkit-border-radius: 20px;
   -moz-border-radius: 20px;
}

.circular50{
   border-radius: 25px;
   -webkit-border-radius: 25px;
   -moz-border-radius: 25px;
}


.circular75{
   border-radius: 37px;
   -webkit-border-radius: 37px;
   -moz-border-radius: 37px;
}


.circular100{
   border-radius: 50px;
   -webkit-border-radius: 50px;
   -moz-border-radius: 50px;
}

.circular125{
   border-radius: 67px;
   -webkit-border-radius: 67px;
   -moz-border-radius: 67px;
}


.circular150{
   border-radius: 75px;
   -webkit-border-radius: 75px;
   -moz-border-radius: 75px;
}


.footnote {
   margin-left:15px;
   font-size:13px; 
   color: green;
}


.dropdown {
    position: relative;
    display: inline-block;
    background-color: #F4F4F6;
}


.iframe {
    position:relative;
    width:100%;
    height:400px;
    border:3px solid black
}


div.navselected {
   font-family:   Roboto, sans-serif, 'Source Sans Pro', helvetica,    arial, 'Source Sans Pro', helvetica;
   font-size:18px;
   font-weight:100;
   float:left;
   margin: 5px;
   color:#555;
   border:solid 3px #BBB;
   background-color:#FFF;
   padding: 5px;
   padding-left:  10px;
   padding-right: 10px;
}

div.navgrayedout {
   font-family: Roboto, sans-serif, 'Source Sans Pro', helvetica,    arial, 'Source Sans Pro', helvetica;
   font-size:18px;
   font-weight:100;
   float:left;
   margin: 5px;
   margin-bottom:5px;
   color:#DDD;
   padding: 5px;
   padding-left:  10px;
   padding-right: 10px;
   border:solid 3px #E5E5E5;
}

input.nav  {
   font-family: Roboto, sans-serif, 'Source Sans Pro', helvetica,    arial, 'Source Sans Pro', helvetica;
   font-size:18px;
   font-weight:100;
   margin: 5px;
   color: #444;
   background: transparent;
   border:solid 3px #E5E5E5;
}


div.nav {
   font-family: Roboto, sans-serif, 'Source Sans Pro', helvetica,    arial, 'Source Sans Pro', helvetica;
   font-size:18px;
   font-weight:100;
   float:left;
   margin: 5px;
   color: #444;
   border:solid 3px #E5E5E5;
   padding: 5px;
   padding-left:  10px;
   padding-right: 10px;
}

div.nav:hover {
   background: #EEE;
   color: #555;
   border:solid 3px #C5C5C5;
   padding: 5px;
   padding-left:  10px;
   padding-right: 10px;
}

div.nav a:link {
   color: #555;
}

div.nav a:visited {
   color: #555;
}

div.nav a:active {
   color: #555;
}

div.nav a:hover {
   color: #555;
   border:solid 3px #EEE;
}

div.navselected:hover {
   background: #EEE;
}

div.navselected a:link {
   color: #EEE;
}

div.navselected a:visited {
   color: #EEE;
}

div.navselected a:active {
   color: #EEE;
}

div.navselected a:hover {
   color: #FFF;
}


.quoteContainer {
   background-color:#000000;
   border:1px solid #272936;
   color: red;
   font-size:13px;
   font-style: italic;
   padding:5px;
   margin:10px;
}



.mainContainerNoBorders {
   background-color:#070A0C;
   position:relative;
   width:100%;
   padding:5px;
}

.articleContainer {
   background-color:#070A0C;
   background-color:#1E252B;
   background-color:#000000;
   border:1px solid #243438;
}





.borderedContainer {
   border: 1px solid #444;
   position:relative;
   width:100%;
   padding:5px;
}


.mainContainer {
   background-color:#070A0C;
   position:relative;
   width:100%;
   padding:5px;
}




.sidecontainer {
   background-color:#F4F4F6;
background:#333333;
   padding:0px;
   padding-top:0px; 
   border:1px solid #20272E;
   /*border:1px solid #BDBDBD;*/
   box-shadow: 0 8px 6px -6px rgba(0,0,0,0.10),
               0 12px 12px -12px rgba(0,0,0,0.10),
               0 16px 16px -16px rgba(0,0,0,0.10);

}



.blueribbon {
  position: absolute;
  right: -5px; top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 75px; height: 75px;
  text-align: right;
}


.blueribbon span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 100px;
  display: block;
  background: #79A70A;
  background: linear-gradient(#2989d8 0%, #1e5799 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px; right: -21px;
}


.blueribbon span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid #1e5799;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #1e5799;
}


.blueribbon span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #1e5799;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #1e5799;
}


.redribbon {
  position: absolute;
  right: -5px; top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 75px; height: 75px;
  text-align: right;
}


.redribbon span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 100px;
  display: block;
  background: #79A70A;
  background: linear-gradient(#F70505 0%, #8F0808 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px; right: -21px;
}

/*
.redribbon span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid #8F0808;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #8F0808;
}


.redribbon span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #8F0808;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #8F0808;
}
*/

.bio {
   color:#DDDDDD;
}


.sideads {
   border:1px solid #20272E;
   padding:5px;
}


.divDetails {
   background-color:#FFFFFF;
   border:1px solid #BDBDBD;
   padding:5px;
   z-index: 1000;
}



.thumbCaptions {
   background: rgba(51,51,51,0.6);
   background: #333333ad;  /* add ad after color to make transparent */
   background: #000;  /* add "ad" after color to make transparent */
   background: #EDf6Fd;  /* add "ad" after color to make transparent */
   background: #303030;  /* add "ad" after color to make transparent */
   background: #111111;  /* add "ad" after color to make transparent */

   color: #D3D3D3;
   border:1px solid #BDBDBD;
   padding:3px;
   /* Make the position like the flex margins */
   position:absolute;
   left: -7px;
   top: calc(100% - 14px);
   z-index:99999;
}

.thumbCaptions input {
   padding: 3px;
   height: 35px;
   font: 16px Roboto, sans-serif, 'Source Sans Pro', helvetica,  Roboto, sans-serif, 'Source Sans Pro', helvetica;
   background-color:#F4F4F6;
background:#333333;
   color:#FFF;
}

.thumbCaptions textarea {
   padding: 3px;
   height: 70px;
   resize: none;
   overflow: auto;
   font: 16px Roboto, sans-serif, 'Source Sans Pro', helvetica,  Roboto, sans-serif, 'Source Sans Pro', helvetica;
   background-color:#474747;
   color:#FFF;
}

.thumbCaptionsComment {
   font: 16px Roboto, sans-serif, 'Source Sans Pro', helvetica,  Roboto, sans-serif, 'Source Sans Pro', helvetica;
   color:#FFF;
   padding: 3px;
}


.thumbCaptions a:link    {
  text-decoration:  none;
  font-weight: bold;
}


.thumbCaptions a:visited {
  text-decoration:  none;
  font-weight: bold;
}


.thumbCaptions a:hover   {
  text-decoration:  underline;
  font-weight: bold;
  color: #FFF;
}


.thumbCaptions a:active  {
  text-decoration:  none;
  color: #D3D3D3;
}

.thumbCaptions h4{
   color: #FFF;
}


.thumbContainers {
   background-color:#FFFFFF;
   border:1px solid #BDBDBD;
   padding:5px;
}


.thumbContainers h3{
   padding-top:5px;
}


.thumbContainers h4{
   padding-top:5px;
   color: #FFF;
}


.descriptionContainer {
   background-color:#F4F4F6;
   background:#333333;
   padding:0px;
   padding-top:0px;
   border:1px solid #E1E1E1;
   box-shadow: 0 8px 6px -6px rgba(0,0,0,0.10),
               0 12px 12px -12px rgba(0,0,0,0.10),
               0 16px 16px -16px rgba(0,0,0,0.10);
}


.metricsContainer {
   background:#FFFFFF;
   border:1px solid #CCCCCC;
   padding:5px;
   position:relative;
   width:100%;
   padding:5px;
   margin-bottom:10px;
}


.paddedContainer {
   box-sizing: border-box;
   background-color: transparent;
   position:relative;
   padding:5px;
   margin-bottom:10px;
}

.commentsContainer {
   box-sizing: border-box; /* The most important line for mobile */
   background-color: #F2F2F2;
   border:solid 1px #444;
   padding:5px;
   position:relative;
   width:100%;
   padding:5px;
   margin-bottom:10px;
   overflow:hidden;
}

.commentsContainer hr {
   margin:0px;
   margin-top:15px;
   margin-bottom:15px;
}

.commentsContainer:hover {
}

.flexit {
    display: -webkit-flex;
    display: flex;
}

.break {
  flex-basis: 100%;
  height: 0;
}

#pbc {
   width:250px; 
   margin: 0 auto;
   margin-bottom:20px;
   height:17px;
   background:#BBB;
   border:1px solid #777;
}

#pb {
   position:relative;
   top:0px;
   background: #4184f3;
   width:0%;
   height:16px;
   color:#FFF;
   text-align:center;
}

#pbt {
   position:relative;
   top:-22px;
   color:#FFF;
   text-align:center;
   height:8px;
   padding:4px;
   font-size:12px;
   font-weight:bold;
}

.videoWrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}
.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
}


.flexThumbs {
  display: flex;
}

/* .flexThumbs > div:not(:last-child) { */

.flexThumbs div {
    margin: 7px;
}

.flexBreak {
  flex-basis: 100%;
  height: 0;
}


@keyframes blinking {
  0% {
    background-color: #8F0808;
    color: #FFFFFF;
  }
  100% {
    background-color: #F70505;
    color: #FFFFFF;
  }
}


.indexcomments {
   width: 100%
   margin:0 auto; 
   margin-top:20px; 
   margin-bottom:20px; 
   position:relative; 
   background-color: #FFFFFF;
}


.commentPhraseHover
{
    border-left: Solid 4px transparent;
    background: transparent;
    padding:3px;
    font-size:18px;
}

.commentPhraseHover:hover
{
    border-left: Solid 4px #EE4B2B;
    background:#181C21;
    padding:3px;
    font-size:18px;
}

.transparentBackground {
   background: rgba(0,0,0,.4);
   filter: alpha(opacity=100);
   -ms-filter: "alpha(opacity=100)";
   opacity: 1;
   padding:2px;
}


.transparentCaption {
   width: 100%;
   z-index: 500;
   background: rgba(0,0,0,.4);
   filter: alpha(opacity=100);
   -ms-filter: "alpha(opacity=100)";
   opacity: 1;
   color: #FFF;
   font-size:14px;
   font-weight: bold;
   padding: 5px;
   cursor:default; 
}


.transparentCaption a:link    {
  text-decoration:  none;
  font-size:14px;
  color:#FFF;
}


.transparentCaption a:visited {
  text-decoration:  none;
  font-size:14px;
  color:#FFF;
}


.transparentCaption a:hover   {
  text-decoration:  none;
  font-size:14px;
  color:#FFF;
}


.transparentCaption a:active  {
  text-decoration:  none;
  font-size:14px;
  color:#FFF;
}


/* this takes care of everything behind the modalContent which is the form we have created for loggingin */
.modal {
   display: none; 
   position: fixed;
   z-index: 10000; 
   left: 0;
   top: 0;
   width: 100%; 
   height: 100%;
   overflow: auto;
   background-color: rgb(0,0,0); 
   background-color: rgba(0,0,0,0.8);
 }


/* this is the pop up box we use on top of the modal. Look at login.php for example */
.modalContent {
   z-index: 10000;
   position: absolute;
   top: 50%;
   left: 50%;
   width:450px;
   transform: translate(-50%, -50%);
   color: #FFF;
   background-color: #181C21;
   border:solid 1px #333;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   border-radius: 5px;

}

.middleTextContainer {
   display: flex;
   /* justify-content: center; */
   align-items: center; 
}


.profileMenu {
   background-color: white;
   color: black;
}

.profileMenu a:link {
   color:black;
}

.profileMenu a:visited {
   color:black;
}

.profileMenu a:hover {
   color:black;
}

.profileMenu a:active {
   color:black;
}

.postHighLight {
   padding:5px;
   padding-bottom:25px;
   border: 1px solid #333;
   background-color:#F4F4F6;
}

.standOut a:link    {
  text-decoration:  none;
  color: #4169E1;
}


.standOut a:visited {
  text-decoration:  none;
  color: #4169E1;
}


.standOut a:hover   {
  text-decoration:  underline;
  color:#FFFFFF;
}


.standOut a:active  {
  text-decoration:  none;
  color: #4169E1;
}


.redBorder {
   border-left:solid 6px #EE4B2B;
   padding-left:5px;
}

.imgCanvas {
   position: relative;
   background-color:#1A1A1A;
   background-color:#000000;
   margin-left: auto; 
   margin-right: auto;
   border-radius: 0px;
}

div.buttonStyleBorder {
   border: 1px solid #575757; 
}

.zoom {
   overflow:hidden;
   transition: transform .2s; /* Animation */
}

.zoom:hover {
   -ms-transform: scale(1.2); /* IE 9 */
   -webkit-transform: scale(1.2); /* Safari 3-8 */
   transform: scale(1.2); 
}

.popupPosition {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index:10;
}

.popupBox {
   min-width: 60vw;
   max-width: 70vw;
   max-height: 70vh;
   overflow-y: auto;
   background-color: #F3F3F3;
   border: 1px solid #777;
   color: #000;
   padding:5px;
   font-size:18px;
}

.popupBox input {
   padding: 3px;
   height: 35px;
   font-size:18px;
}

.popupBox textarea {
   padding: 3px;
   height: 70px;
   resize: none;
   overflow: auto;
   font-size:18px;
}

.popupBox a:link    {
  text-decoration:  none;
  color: #003366;
  font-size:18px;
}

.popupBox a:visited {
  text-decoration:  none;
  color: #003366;
  font-size:18px;
}


.popupBox a:hover   {
  text-decoration:  none;
  color: #003366;
  font-size:18px;
}


.popupBox a:active  {
  text-decoration:  none;
  color: #003366;
  font-size:18px;
}

.popupBox h4{
  font-weight:bold;
  color: #FFF;
}


.captionMenu {
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 50%;
  font-size: 24px;
  color: #000;
  margin-right:5px;
  cursor:pointer;
  background: transparent;
  display: flex;
  align-items:center;
  justify-content: center;
}



.captionUserInfo {
   /* put a pill shaped encluser around the caption/ user ifno */
   -moz-border-radius: 15px; 
   -webkit-border-radius: 15px; 
   border-radius: 15px;
   background: transparent;
   padding: 0px 5px 0px 5px;
   margin-left:5px;
   height:35px;
   /* align all in in middle */
   display: flex;
   align-items: center;

}

.captionAvatar {
   border-radius: 12px;
   -webkit-border-radius: 12px;
   -moz-border-radius: 12px;
   height:24px;
   width:24px;
   background: #FFFFFF;
}


/* Keep gap out from bottom of div */
.MagicThumb {
   font-size:0;
   line-height:0;
}

div.headerStyle {
   padding: 10px;
   display: flex;
   align-items: centered;
   font-weight: 700;
   color: #000000;
   background: #FFFFFF;
   border-left:solid 4px #B90504;
}

.hidden {
   display:none;
}

.mobileFont li {
   font-size: 13px !important;
}

.mobileFont ul {
   font-size: 13px !important;
}

.mobileFont a {
   font-size: 13px !important;
}

.mobileFont p {
   font-size: 13px !important;
}

div.mobileFont {
   font-size: 13px !important;
}

span.mobileFont {
   font-size: 13px !important;
}


div.tinyWhite {
   color: white;
   font-weight: 300;
}

span.tinyWhite {
   color: white;
   font-weight: 300;
}

.tinyWhite p {
   color: white;
   font-weight: 300;
}

.linkColor {
  color: #003366;
  text-decoration: none;
  border-bottom: 2px solid transparent; /* Prevents "jumping" on hover */
  transition: border-color 0.2s ease-in-out;
  cursor: pointer;
}

.linkColor:hover {
  text-decoration: none;
  color: #003366;
  border-bottom: 2px solid #003366;
}

.mobileImage img {
   max-width: 290px !important;
   height: auto !important;
   margin:0px; !important;
   border: solid 2px white; !important;
}

.tinyImage img {
   margin-right:10px; !important;
   border: solid 2px white; !important;
}

.tox-tinymce {
    resize: both !important; /* or vertical !important */
}

.push {
   margin-left: auto;
}

.hideScrollBar {
	scrollbar-width: none; 
	-ms-overflow-style: none;
}

.standoutContainer {
   background-color: #000000;
}


.stickyHeader {
   color: #000;
   font-weight: bold;
   background-color: #F3F3F3;  /* Make same color as popupup box background */
   border-bottom: 1px solid #555;
}

.divHeader {
   color: #003366;
   padding: 10px;
   display: flex;
   align-items: centered;
   font-weight: 700;
   background:#FFFFFF;
   border-left:solid 4px #B90504;
}


.visible {
    display: block;
}

.hidden {
    display: none;
}

