body {
    font-family: 'Archivo Narrow', arial, sans-serif;
    font-size: 13px;
}
h1 {
    color: #747474;
    font-size: 2em;
}
h2 {
    color: #747474;
    font-size: 1.8em;
}
h3 {
    color: #333;
    font-size: 1.7em;
    margin: 0 0 6px 0;
}
h4 {
    color: #666;
    font-size: 1.4em;
    margin: 0 0 6px 0;
}
h5 {
    color: #666;
    font-size: 1.15em;
    margin: 0 0 4px 0;
}
h2.main-title {
    color: #333;
    margin: 0 10px 15px 10px;
}
p {
    clear: right;
    display: block;
    font-size: 1.2em;
    margin-bottom: 10px;
}
a {
    color: #1161a5;
    cursor: pointer;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
.center {
    text-align:center;
}
/* Dont show the accessibility "chrome" around links when clicked */
a:focus {
    outline: none;
}
ul {
    font-size: 1em;
    list-style-position: inside;
}
h4 a {
    color:#666;
}
table {
    margin: 0;
    padding: 0;
    text-align: left;
    width: 100%;
}
thead {
    background-color: #dcdcdc;
    color: #333;
}
th {
    padding: 5px;
    text-align: left;
}
th a {
    color: #333;
    text-decoration: none;
}
th a:hover {
    color:#333;
}
th.date {
    min-width: 80px;
}
td {
    line-height: 2em;
    padding: 5px;
}
td a {
    color: #333;
    text-decoration: none;
    transition: color .3s;
}
td a:hover {
    color: #666;
}
td.icon {
    text-align: center;
}
/*keyboard style. html5 */
kbd {
    background-color: #e1e3e5;
    border: 1px solid #adb3b9;
    border-radius: 3px;
    box-shadow: 0 1px 0 rgba(12, 13, 14, 0.2), 0 0 0 2px #fff inset;
    color: #242729;
    display: inline-block;
    font-family: Arial,"Helvetica Neue",Helvetica,sans-serif;
    font-size: 11px;
    line-height: 1.4;
    margin: 0 0.1em;
    padding: 0.1em 0.6em;
    text-shadow: 0 1px 0 #fff;
    white-space: nowrap;
}
/* small element for "fine print" */
small {
    clear:both;
    display: block;
    font-size: 12px;
}
/* back/jump to top button styling */
.scroll-to-top {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 20px;
    background-color: #1161a5;
    color: #fff;
    border: none;
    border-radius: 50%;
    padding: 10px 15px;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}
    .scroll-to-top a {
    text-decoration: none;
    color: #fff;
}
.tiny-button,
.smaller-button,
.small-button,
.medium-button,
.large-button {
    background-color: #747474;
    border: 1px solid transparent;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    line-height: normal;
    text-transform: uppercase;
    text-decoration: none;
    transition: none;
    width: auto;
    border-radius: .2em;
    float: unset;
}
.tiny-button {
    padding: 1.96px 6px;
    font-size: 12px;
}
.smaller-button {
    padding: 2.8px 6px;
    font-size: 1em;
}
.small-button {
    padding: 4px 6px;
    font-size: 1em;
}
.medium-button {
    padding: 5.2px 7.8px;
    font-size: 1.3em;
}
.large-button {
    padding: 6.8px 10.14px;
    font-size: 1.7em;
}
.tiny-button:hover,
.smaller-button:hover,
.small-button:hover,
.medium-button:hover,
.large-button:hover {
    background-color: #fff;
    color: #747474;
    transition: background-color .3s;
    border: 1px solid #747474;
    text-decoration: none;
}
.small-button.f-course {
    padding: 8px 0 6px 0;
    text-align: center;
    width: 100%;
}
/* #left-container {
    float:left;
} */
.general-container {
    border: 1px solid #dcdcdc;
    box-sizing: border-box;
    padding: 10px;
}
.icon-disabled {
    border-color:#ebebe4 !important;
    color:#ebebe4 !important;
}

/* site tabs */
ul#site-tabs {
    padding: 0;
    margin: 0 0 0 10px;
    font-size: 12px !important;
    display: inline-block;
    position: relative;
    top: 3px;
}
ul#site-tabs li {
    display: inline-block;
    list-style-type: none;
}
ul#site-tabs li a {
    background-color: #a4a4a4;
    border: 1px solid transparent;
    color: #fff;
    display: block;
    float: left;
    line-height: 2.6;
    margin: 3px 1px 0 0;
    padding: 5px 8px;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    top: 1px;
    font-size: 12px !important;
    border-radius: 5px 5px 0 0; /* Round only the top corners */
    transition: box-shadow 0.3s ease, transform 0.3s ease, background-color 0.3s ease; ;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
}
ul#site-tabs li a:hover {
    background-color: #333;
    color: #fff;
    border: 1px solid #333;
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2); /* Increase shadow on hover */
    transform: scale(1.05, 1); /* Scale effect without moving the bottom */
    z-index: 1; /* Ensure the hovered tab appears above others */
}
ul#site-tabs li a.active {
    background-color: #555;
    color: #fff;
    border: 1px solid #333;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    cursor: default;
}
/* testimonial junk */
blockquote.full-quote::before, blockquote.full-quote::after {
    color: #999;
    font-size: 80px;
    font-style: normal;
    line-height: 1;
}
blockquote.full-quote::after {
    content: '\201D';
    float: right;
    margin-top: -50px;
}
blockquote.full-quote::before {
    content: '\201C';
    float: left;
    margin-left: -35px;
}
.full-quote {
    width: 75%;
    margin: 0 auto;
}
#blog {
    border:none;
    padding: 15px 0 25px 0;
}
#news img,
#blog img {
    float: left;
    margin: 5px 5px 5px 0;
}
.divider {
    border-bottom: 2px dotted #dcdcdc;
}
.paging {
    font-size: 1.2em;
    line-height: 3;
    text-align: center;
}
div.paging a {
    background-color: #808080;
    color: #fff;
    padding: 5px;
}
div.paging span.selected {
    background-color: #d9001e;
    color: #fff;
    padding: 5px;
}
div.paging a:hover {
    background-color: #d9001e;
    color: #fff;
}
/* New pagination css */
.smartyPagination {
    font-size: 1.0em;
    font-weight: bold;
    text-align: center;
}
div.smartyPagination a {
    background-color: #666;
    border-radius: .2em;
    color: #fff;
    font-weight: normal;
    padding: 5px;
    display: inline-block;
    margin: 0 0 3px 0;
}
div.smartyPagination a:hover {
    background-color: #666;
    font-weight: normal;
    color: #fff;
}
.page {
    font-weight: bold;
    background-color: #999;
    color: #fff;
    padding: 2px 4px;
    border-radius: 1px;
}
.listing {
    list-style-type: none;
}
.listing.section {
    margin-bottom: 10px !important;
    border-style: dashed;
}
.share-icon {
    color: #666;
    font-size: 14px;
}
.button-white,
.button-white:hover {
    border: 2px solid #333;
    color: #333;
    background-color: #fff;
}
ul#tools,
#admin-menu,
#clipboard-menu {
    display: block;
    padding: 0;
}
ul#tools li
#admin-menu li
#clipboard-menu li {
    display: inline;
}
ul#tools li a,
#admin-menu li a,
#clipboard-menu li a {
    background-color: #dcdcdc;
    border-radius: 1px;
    color: #666;
    font-family: Arial, sans-serif;
    padding: 2px 4px;
}
ul#tools li a:hover,
#admin-menu li a:hover,
#clipboard-menu li a:hover {
    background-color: transparent;
    transform: scale(1.1);
}
/* Search results styling */
.search-result-summary{
    display:inline-block;
    font-size: 1.4em;
    padding: 0;
    text-align:center;
    width: auto;

}
.search-result-summary li {
    float: left;
    list-style: none;
    margin-right: 5px;
}
.search-result-summary li a {
    text-decoration: underline;
}
.search-result-summary li:after {
    content: ' |';
}
.search-result-summary li:last-child:after {
    content: none;
}
h4.search-results-section {
    font-size: 1.5em;
    color: #747474;
    background: #f5f5f5;
    padding: 10px 0 10px 10px;
}
h4.search-result-section a {
    color: #fff;
    font-size: 1.5em;
}
h5.search-result a {
    color: #333;
}
.search-result-listing {
    border-bottom: 2px dotted #dcdcdc;
    margin-bottom: 15px;
    padding: 0 10px;
}
.search-result-listing:last-of-type {
    border-bottom: none;
}
.search-result {
    font-size: 1.55em;
}
.search-result-attr {
    font-size: 1.3em;
}
/* paragraph styles for messages */
.success,
.error,
.info,
.option,
.warning {
    border: 1px solid transparent;
    font-weight: bold;
    font-size: 14.4px;
    padding: 20px;
    text-align: center !important;
}
.success a,
.error a,
.info a,
.option a,
.warning a {
    color: #1161a5;
}
.success {
    border-color: #d6e9c6;
    color: #3c763d;
}
.error {
    border-color: #ebccd1;
    color: #a94442;
}
.info {
    border-color: #bce8f1;
    color: #31708f;
}
.option {
    border-color: #dcdcdc;
    box-sizing:border-box;
    color: #333;
    margin-bottom: 10px;
}
.warning {
    border-color: orange;
    font-weight:  bold;
    color: #a86008;
    text-align: left !important;
}
.success-small,
.error-small,
.info-small,
.option-small,
.warning-small {
    display:  block;
    font-size: 13px !important;
    padding: 8px !important;
}
ul.general-content {
    margin: 10px;
}
/*Font-awesome icon border. Used with fa-lg */
i.icon-border {
    background-color: #fff;
    border: 1px solid #999;
    border-radius: 2px;
    color: #333;
    line-height: 1em;
    padding: 5px;
}
/* Special Use Tables */
table#recaptcha_table tr td {
    line-height:1em;
}
#recaptcha_area {
    margin: 0 auto;
}
/* Terms of Service Page Overrides */
#privacy-policy-container,
#tos-container,
#error-container
{
    border: 1px solid #dcdcdc;
    margin-left: 10px;
    padding: 10px;
}
#privacy-policy-container ol,
#privacy-policy-container ul,
#tos-container ul,
#tos-container ol,
#error-container ul,
#error-container ol {
    margin-bottom: 10px;
}
#privacy-policy-container ol li,
#privacy-policy-container ul li,
#tos-container ul li,
#tos-container ol li,
#error-container ul li,
#error-container ol li {
    font-size: 1.2em;
    margin-left: 10px;
}
#privacy-policy-container h2,
#privacy-policy-container h4,
#tos-container h2,
#tos-container h4 {
    color: #333;
}
ul.ad-list li {
    font-size: 1.2em;
    margin: 0;
    margin-left:15px;
    padding-right: 0.5em;
}
/*  A generic content container, with padding. Might be handy. */
.generic-container {
    padding: 5px 10px;
    clear: both;
}
/* Do you want to apply an aecdaily color? */
.aec-green {
    color: #16a850;
}
.aec-grey {
    color: #666;
}
.aec-red {
    color: #d9001e;
}
/* A section wrapper. */
.section {
    border-bottom: 1px dotted #999;
    clear: both;
    margin-bottom: 20px;
    padding-bottom: 15px;
}
.section:last-of-type {
    border-bottom: none;  /* No bottom border when last section */
    padding-bottom: 0;
}
.section:first-of-type {
    margin-top:10px;
    border-top: none; /* no top border when the first section */
}
/* Sometimes there is a subsection and it needs a subtitle */
/* .subsection is just being used as a selector. No styles */
.subsection h3 {
    color: #333;
    font-size: 1.5em;
}
/* We like .section. It's a little big for tooltips tho */
/* A modifying class is probably silly with the state of things. */
.section-tooltip {
    border-bottom: 1px dotted #dcdcdc;
    clear: both;
    margin-bottom: 10px;
    padding-bottom: 7.5px;
}
.section-tooltip:last-of-type {
    border-bottom: none;  /* No bottom border when last section */
    padding-bottom: 0;
}
.section-tooltip:first-of-type {
    margin-top:10px;
    border-top: none;  /* no top border when the first section */
}
/* Microtile Styles */
ul.micro-tile {
    display: inline-block;
    margin: 0;
    padding: 0;
}
ul.micro-tile li {
    border:none !important;
    display: inline;
}
ul.micro-tile li a {
    background-color: #333;
    border: 1px solid transparent;
    border-radius: 0.2em;
    color: #fff;
    display: block;
    float: left;
    font-weight: bold;
    font-size: 11px;
    line-height: 1em;
    list-style-type: none;
    margin: 1px;
    padding: 5px 6px;
}
ul.micro-tile li a:hover {
    background-color: #666;
}
ul.micro-tile li a.green {
    background-color: green !important;
    border: 1px solid green;
    color: #fff;
}
ul.micro-tile li a.green:hover {
    background-color: green;
    color: #fff;
}
ul.micro-tile li a.amber {
    background-color: #ffbf00;
    border: 1px solid #ffbf00;
    color: black;
}
ul.micro-tile li a.amber:hover {
    background-color: #ffbf00;
    color: black;
}
ul.micro-tile li a.red {
    background-color: #d9001e;
    border: 1px solid #d9001e;
    color: white;
}
ul.micro-tile li a.red:hover {
    background-color: #dcdcdc;
    border: 1px solid #dcdcdc;
    color: #333;
}
ul.micro-tile li a.green {
    background-color: green;
    border: 1px solid green;
    color: white;
}
ul.micro-tile li a.green:hover {
    background-color: green;
    border: 1px solid #dcdcdc;
    color: #333;
}
ul.micro-tile li a.black {
    background-color: black;
    border: 1px solid black;
    color: white;
}
ul.micro-tile li a.black:hover {
    background-color: black;
    color: white;
}
ul.micro-tile li a.dark-grey {
    background-color: #333;
    border: 1px transparent #333;
    color: white;
}
ul.micro-tile li a.dark-grey:hover {
    background-color: #333;
    color: white;
}
ul.micro-tile li a.mid-grey {
    background-color: #666;
    border: 1px transparent #666;
    color: white;
}
ul.micro-tile li a.mid-grey:hover {
    background-color: #666;
    color: white;
}
ul.micro-tile li a.light-grey {
    background-color: #dcdcdc;
    border: 1px transparent #666;
    color: #666;
}
ul.micro-tile li a.light-grey:hover {
    background-color: #dcdcdc;
    color: #666;
}
/* slightly different for read-only info */
ul.micro-tile li a.info-only {
    cursor: default;
}
/* mostly for display of sessions in current/past/todo */
ul.micro-tile li a.grey {
    font-weight: bold;
    background-color: #999;
    color: white !important;
    padding: 5px 6px;
    border-color: transparent;
    border-radius: .2em;
    font-size: 11px;
}
ul.micro-tile li a.grey:hover {
    background-color: #666;
}
ul#course-listing ul.micro-tile li a.active-session,
ul#course-listing ul.micro-tile li a.inactive-session,
ul#course-listing ul.micro-tile li a.deleted-session,
ul#course-listing ul.micro-tile li a.public-session,
ul#course-listing ul.micro-tile li a.private-session {
    font-size: 11px;
    font-weight: bold;
    border-color: transparent;
    border-radius: .2em;
    color: #fff !important;
    display: inline !important;
    padding: 5px 6px;
    margin: 0 2px;
    cursor: default;
}
ul.micro-tile li a.active-session {
    background-color: #333;
}
ul.micro-tile li a.inactive-session {
    background-color: #f0ad4e;
    color: #666 !important;
}
ul.micro-tile li a.deleted-session {
    background-color: red;
}
ul.micro-tile li a.public-session {
    /* background-color: #333d79; */
    background-color: #000;
}
ul.micro-tile li a.private-session {
    /* background-color: #333d79; */
    background-color: #000;
}
/* can't find the disabled tile style, so... */
ul.micro-tile li a.disabled {
    background-color: #dcdcdc !important;
    cursor: default;
}
ul.micro-tile li a.waitlist:hover {
    cursor: pointer !important;
}
ul.micro-tile li a:hover{
    text-decoration: none !important;
}
/* Shown to admins, confirming data copied to clipboard */
.care-for-a-mint-sir {
    letter-spacing:  2px;
    font-weight: normal;
    font-size: 1.3em;
}
 ul#course-listing.dashboard li a:hover {
    color:#666;
}
ul#course-listing li > div > div {
    padding: 5px;
}
ul#course-listing li > div > div:first-of-type {
    padding-left: 0;
}
ul#course-listing li > div > div:last-of-type {
    padding-right: 0;
}
ul#course-listing li.f2f-session {
    display: inline-block !important;
    font-weight:  normal;
    margin-bottom: 5px;
    min-height: unset !important;
    width: 100%;
    box-sizing: border-box;
}
.session-alert {
    background-color: pink !important;
}
ul#course-listing li.f2f-session:hover {
    background-color: transparent !important;
}
ul#course-listing li.f2f-session.session-alert:hover {
    background-color: transparent !important;
}
.session-status, .action-required {
    display: block;
    font-weight: normal;
    padding: 5px 0 !important;
    margin-left: 0;
}
.no-transition {
    transition: none !important;
    transform: none !important;
}
#course-listing ul.actions.micro-tile li {
    font-size: inherit;
    padding: 0;
    position: inherit;
    transition: none;
    transform: none;
    min-height: unset;
    float:  left;
    border: none !important;
    display:  inline !important;
}
/* dashboard should use grey scale buttons */
.dashboard-button,
button.to-do-button,
button.dashboard-button {
    background-color: #999;
}
span.notification-text {
    font-style: italic;
    font-size: 1em;
}
/* a few tweaks to tooltip content */
.ot-header h1 {
    margin-bottom: 5px;
    font-size:16px;
    color: #747474;
}
.ot-content,
.ot-content p {
    font-size: 15px;
    margin-bottom: 5px;
    padding: 10px;
}
.ot-content p.ah {
    overflow-wrap: break-word;
}
/* just a normal bullet point */
ul.normal-bullet,
ol.normal-bullet {
    margin-bottom: 10px;
}
ol.normal-bullet li,
ul.normal-bullet li {
    /* font-size: 1.4em; */
    font-size: 15.6px;
    margin-left: 10px;
}
.no-bullet {
    list-style: none;
}
/* credentials stuff */
.are-you-sure {
    display: none;
}
.response-text{
    display: none;
    width: auto;

    padding: 4px;
    font-size: 1.4em;
}
/* /subscribe */
.subscribe-list-desc {
    margin-top: -10px !important;
    padding-left: 25px;
}
.hr-dotted {
    border: 1px dashed #dcdcdc;
    margin: 20px auto;
    width: 75%;
}
/* search on bad shortname page */
#error-container input#search-field-input {
    position: relative;
    top: 0;
    right: 0;
}
#error-container button#search-button {
    position: relative;
    top: -1px;
}
/* association expansion div */
.assoc-container {
    display: grid;
    height: 100%;
    grid-gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    padding: 10px;
}
.assoc .box {
    border: 1px dashed #dcdcdc;
    display: grid;
    place-items: left;
    background-color: #fff;
    padding: 3px;
}
p.boxp {
    text-align: left;
    font-size: 1em;
    margin: 0px !important;
}
.assoc-container .title {
    margin-bottom: 3px;;
}
.box p.boxp-title {
    font-size: 1.2em;
}
.box {
    /* background: #f5f5f5; */
    padding: 5px;
    border:1px solid #dcdcdc;
    text-align: center;
}
/* footer things... */
#footer-container-full {
    background-color: #fff;
    /* height: 150px; */
    margin: 25px 0 0 0;
}
#footer {
    color: #747474;
    font-size: 1em;
    padding: 15px 0;
    text-align: center;
}
#footer a {
    color: #1161a5;
    /* text-decoration: none; */
}
#footer a.icon {
    color: #747474;
}
#footer a.icon:hover {
    color: #a4a4a4;
}
.social-links,
#aec-media-links,
.footer-links {
    color: #fff;

    list-style: none;
    margin: 10px auto;
}
.social-links li,
#aec-media-links li,
.footer-links li {
    display:inline-block;
    padding: 0 4px;
}
.footer-links li:not(:first-child):before {
    content: " | ";
}
#aec-media-links li a {
    color: #808080;
}
#aec-media-links li a:hover {
    color: #d9001e;
}
.social-links li a:hover {
    color: #a4a4a4;
}
.hidden {
    display: none;
}
/* show text labels on larger screens and icons on smaller ones */
/* see media query below */
.user-options-menu a .text-label {
    display: block;
}
.user-options-menu a i#create-account,
.user-options-menu a i#sign-in {
    display: none;
}
@media only screen and (max-width: 767px) {
    ul#site-tabs {
        margin-left: 0 !important;
    }
    #header, #logo-container {
        margin: 0;
    }
    .user-options-menu a .text-label {
        display: none;
    }
    .user-options-menu a i#create-account,
    .user-options-menu a i#sign-in {
        display: block;
    }
    #top-nav {
        text-align: center;
    }
}
/* Styles to hide for normal viewing */
.printer-only, .printer-only-tr {
    display:none !important;
}
/* Styles to show when printing only */
@media print {
    .printer-hide {
        display:none !important;
    }
    .printer-only {
        display:block !important;
    }
    .printer-only-tr {
        display:table-row !important;
    }
}