/* GENERAL --------------------------------------------------------------------------- */
.pad-zero-one {
    padding:0 0 1em 0;
}
.pad-zero-two {
    padding:0 0 2em 0;
}
.pad-one-one {
    padding:1em 0;
}
.pad-one-two {
    padding:1em 0 2em 0;
}
.pad-two-zero {
    padding:2em 0 0 0;
}
.pad-two-one {
    padding:2em 0 1em 0;
}
.pad-two-two {
    padding:2em 0;
}
.no-padding {
    padding-left: 0;
    padding-right: 0;
}
.margin-zero-one {
    margin:0 0 1em 0;
}
.margin-zero-two {
    margin:0 0 2em 0;
}
.margin-one-one {
    margin:1em 0;
}
.margin-one-two {
    margin:1em 0 2em 0;
}
.margin-two-one {
    margin:2em 0 1em 0;
}
.margin-two-two {
    margin:2em 0;
}
.btn-xl {
    padding:20px 28px;
    font-size: 1.25em !important;
    line-height: 1.75em;
}
.pages .page {
    display: none;
}
.pages .active {
    display: block;
}
.pages .summary {
    display: none;
}
.pages #second .panel-heading {
    cursor: pointer;
}
.pages #second .panel-body {
    display: block;
}
table thead th {
    background: none;
    background-color: #ddd;
}
table.table-curriculum tr td {
    padding:15px 8px;
    vertical-align: middle;
}
table.table-curriculum tr td.buttoncell {
    padding-right: 1.5em;
}
.table.table-noborder th, .table.table-noborder td {
    border:none;
}
.panel-info {
    border-color: #aaa;
}
.panel-heading, .panel-info>.panel-heading {
    background-color: #ccc;
    color: #333;
    border-color: #aaa
}
td.media-icons .glyphicon {
    width:2em;
}
td.auth {
    font-style: italic;
}
.nav-tabs > li > a {
    border:1px solid #eee;
}
.faq ol li,
.faq ul li {
    margin-bottom: 15px;
}
.faq ol li .a,
.faq ul li .a {
    margin-bottom: 15px;
    padding:1em 2em 0.5em 2em;
    display: none;
    background-color:#eee;
    opacity: 1;
}
.faq ol li .q a,
.faq ul li .q a {
    text-decoration: none;
}
.faq ol li .q,
.faq ul li .q {
    margin-bottom: 5px;
    font-size: 1.05em;
    cursor:pointer;
}
.glyphicon-large {
    font-size:2em;
    line-height:1.5em;
}
.nav-tabs {
    width:100%;
}
sup {
    position: relative;
    font-size: 65%;
    line-height: 0;
    vertical-align: baseline;
    top: -0.5em;
}

.password-toggler {
    font-size: 20px;
    color: black;
    position: absolute;
    top: 15%;
    right: 25px;
    cursor: pointer;
}
#password-toggler-hide {
    display: none;
}
/*-------- COURSE CATALOG ----- */
.course-catalog {
}
.course-catalog .catalog-filter {
    background-color: #f5f5f5;
    padding: 0 15px 15px 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
    margin-bottom:2em;
}
.course-catalog .catalog-filter label {
    font-weight: normal;
}
.course-card {
    /*margin-bottom:1em;*/
    padding: 15px;
    border-bottom: 1px solid #ccc;
    /*border-radius: 8px;*/
    /*box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);*/
    background: white;
}
.course-card.card-header-row {
    color:#fff;
    background-color: #28486C;
    padding:5px 15px;
}
a .course-card {
    color:#333;
}
.course-card:hover {
    background-color: #F5F7FA;
}
.course-card.card-header-row:hover {
    background-color: #28486C;
}
.course-card .course-name {
    /*margin-bottom:1em;*/
    color: #28486C;
}
.course-card .course-button {
    padding:0.5em 0;
    vertical-align: middle;
}
.course-card .course-price {
    /*font-weight: bold;*/
}
/*-------- COURSE DETAILS ----- */
.boxproduct {
    border: 1px solid #ddd; /* Optional border */
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin: 2em auto;
    padding:20px;
}
.boxproduct .cta-section {
    margin-top:3em;
}
.boxproduct img {
    width: 150px;
    vertical-align: middle;
    margin:0 auto 3em auto;
}
.boxproduct img.imgwide {
    width:200px;
    margin:2.5em auto;
}
.boxproduct .btnparagraph {
    text-align: center;
}
img.sponsorimage {
    width:auto;
    max-width: 100%;
    max-width: 300px;
    height:auto;
    display:block;
}
.class-detail label {
    text-decoration: underline;
}
.class-detail {
    margin-bottom: 2em;
}
#course-details-page table#table-boxproduct tr td {
    vertical-align: top;
}
#course-details-page .boxproduct ul {
    padding-left:15px;
}
.catalog-message a, .cd-rules a {
    text-decoration: underline;
}
.cd-procalert {
    background-image: url('../images/attention.png');
    background-position: 20px 15px;
    background-repeat: no-repeat;
    padding-left:80px;
    padding-bottom:2em;
}
h1.catalog-heading-state {
    margin:1em 0 0 0;
}
h2.catalog-heading-state {
    margin:0.5em 0 2em 0;
    font-size:1em;
    line-height:1em;
}
#course-details-page table tr td,
.catalog table tr td {
    vertical-align: middle;
}
#course-details-page h1, h1.addcourseHeader {
    margin-bottom:0;
}
#course-details-page h2.subKitName,
h2.addcourseHeader {
    margin:0.5em 0;
    font-size:1em;
    line-height:1em;
}
#course-details-page #course-details,
#course-details-page #course-details-narrow {
    padding:0;
}
#course-details-page #course-content {
    padding:0 15px 0 0;
}
#course-details-narrow #course-content {
    padding:0;
}
#course-details-page .cd-title {
    background-color:#eee;
    color:#333;
    font-size:1.2em;
    margin-bottom:1em;
    padding:0.5em;
}
#course-details-page #course-details-narrow .cd-title {
    margin:2em 0 1em 0;
}
#course-details-page #course-action {
    margin-top:2em;
}
#course-details-page .course-abstract {
    padding-right:1em;
    margin-bottom:2em;
}
#course-details-page .cd-subs, #course-details-page .cd-rules {
    margin-bottom:2em;
}
#course-details-page .row {
    margin:0;
    padding:0;
}
#course-details-page .boxproduct .row {
    margin-right:-15px;
    margin-left:-15px;
}
#course-details-page #course-details-extras, #course-details-page .course-details-extra {
    margin-top:3em;
}
#course-details-expdate {
    margin:3em 0;
    text-align: center;
    padding-top: 3em;
    border-top: 4px solid #eee;
}
#course-details-priceBreakdown {
    margin:2em 0;
    padding-top:3em;
    border-top: 4px solid #eee;
    text-align: center;
}
#course-details-matDetails {
    margin:2em 0;
    padding-top:3em;
    border-top: 4px solid #eee;
}
#course-details-creditBox {
    border-top: 4px solid #eee;
    padding-top:3em;
    margin:2em 0;
    text-align: center;
}
#course-details-creditText {
    margin-bottom:1em;
}
#course-details .cd-subs .app-label {
    width: 15em;
    display:block;
    vertical-align: top;
    margin-top:0.5em;
}
#course-details .cd-subs .app-value {
    display:block;
    vertical-align: top;
    margin-top:0.5em;
}
.cd-specialnote {
    margin:1em 0;}
.seal-image {
    width:125px;
    margin:3em auto 3em auto;
}
#course-filter {
    margin-top:2em;
    margin-bottom:2em;
}
h2.section-header {
    margin:2em 0 0 0;
    background-color:#ddd;
    color:#333;
    padding:5px 8px;
    height:inherit;
    line-height:inherit;
    font-size: 1.25em;
}
h2 .small {
    font-weight: 500;
    line-height: initial;
    color: initial;
}
td.mycourses-name, td.mycourses-credit {
    vertical-align: middle !important;
}
td.mycourses-credit .small {
    margin-bottom:0;
}
.mycourses-extra {
    color:#666;
    font-size:0.75em;
}
.mycourses-extra a {
    text-decoration: underline;
}
.mycourses-extra .glyphicon {
    color:#999;
    margin-right:0.5em;
}
#mycourses-menublock {
    margin-top:3em;
}
#mycourses-menublock a.mycourses-menuitem {
    border:2px solid lightgray;
    color:#28486C;
    text-align:center;
    padding:1em 0;
    margin-bottom:1em;
    display:block;
    text-decoration: none;
}
#mycourses-menublock a.mycourses-menuitem:hover {
    border-color:#28486C;
}
#mycourses-menublock a.mycourses-menuitem .glyphicon {
    font-size: 1.15em;
}
a.breadcrumblink {
    margin-top:3em;
}

.course-section { margin-bottom:3em; }
#myCourses .course-section table {margin-top:0em;}
#myCourses .course-section thead tr th {background:none;font-weight:normal;border-bottom:3px solid lightgray}
#myCourses .course-section tr {line-height:2em;}
#myCourses .course-section thead tr:hover {background: none;}
#myCourses .course-section td {border-bottom:1px solid lightgray;line-height:2em;vertical-align: top;padding-top:18px;padding-bottom:18px;}
#myCourses .course-section tr:last-of-type td {border-bottom:none;}
#myCourses .course-section .tableclassroom tr:hover {background-color:inherit;}
#myCourses .course-section .tableclassroom td {
    line-height: 2em !important;
}
#myCourses .class-canceled {
    color:#666;
    font-style:italic;
}
#myCourses td.buttonLink {
    vertical-align: middle;
    padding-top:25px;
    padding-right:2em;
}
#myCourses tr.class-hasfiles td {
    border-bottom:none;
    vertical-align: top;
}
#myCourses tr.classFiles td {
    border-top:none;
}
.calendarLinks img {
    height:35px;
    margin-right:5px;
}
ul.nolist {
    list-style:none;
    line-height:50px;
    position:relative;
    padding-left:0;
}
.invoice {
    padding:1em;
    margin:0.75em 0;
}
.invoice-total {
    font-weight: bold;
    font-size:1.5em;
    margin-bottom:1.5em;
    margin-top:0.5em;
}
.dash-extras {
    margin-top:1.5em;
}
.dash-extras span {
    margin-left:1em;
}
.cd-rules .state {
    font-weight:bold;
    margin-bottom:1em;
}
.cd-rules .state:nth-of-type {
    font-weight:bold;
    margin-top:1em;
}
.cd-rules .state-sub {
    font-weight:normal;
    margin-left:1em;
}
.cd-rules li {
    margin-bottom:0.5em;
}
.ceu-reqs {
    margin:2em 0;
    text-align: center;
}

.ceu-reqs table {
    width:70%;
    margin:0 auto;
}
#tabsmenu {
    margin-bottom:1em;
    margin-top:2em;
}
#tabsmenu li {
    margin-right:5px;
}
#tabsmenu li a {
    background-color:#eee;
    color:#333;
    margin-top:5px;
}
#tabsmenu li.active a {
    background-color:#fff;
    font-weight: bold;
}
#tabsmenu li a:hover {
    background-color:#ddd;
}
#tabsmenu li.active a:hover {
    background-color:#fff;
}
#tabsmenu.course-details-tabs li a:hover {
    color:#333;
}
#tabsmenu.course-details-tabs li.active a:hover {
    color:inherit;
}
.details-row {
    display: flex;
    align-items: center; /* Centers content vertically */
    flex-wrap: wrap; /* Ensures responsiveness */
}
.choice-row {
    display: flex;
    justify-content: left;
    gap: 3rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}
.choice-col {
    flex: 1 1 300px;
    max-width: 400px;
    display: flex;
}
.choice-box {
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    text-align: center;
}
.choice-box h2 {
    margin-top: 0;
}
.choice-box h3 {
    margin-top: 0;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #999;
}
.choice-box p {
    margin: 2em 0;
    color: #333;
}
.choice-box a {
    margin:2em 0;
}

.covid-note {
    margin:0 0 2em 0em;
    padding:1em;
    background-color:#f0f0f0;
}
#attestationpage input[type="checkbox"] {
    transform: scale(1.5); /* Adjust the scale factor as needed */
    margin: 5px; /* Adjust spacing */
}
img.profile-photo {
    max-width: 160px;
    width:100%;
    height:auto;
    border-radius: 50%;
    border: 2px solid #ddd;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
    object-fit: cover;
}

.instructor-bio-container {
    margin-bottom: 20px;
}
.instructor-bio-text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Show only 3 lines */
    -webkit-box-orient: vertical;
    transition: max-height 0.3s ease-in-out;
}
.instructor-bio-text.expanded {
    -webkit-line-clamp: unset; /* Show full text when expanded */
}
.readmore-toggle-btn {
    display: inline-block;
    color: #337ab7;
    cursor: pointer;
    font-weight: bold;
    margin-top: 5px;
    border: none;
    background: none;
    padding: 0;
    font-size: 14px;
}
ul.fileList {
    list-style: none;
    margin:0;
    padding: 0 0 0 10px;
}
#instructorFiles ul.fileList {
    padding:0;
}
ul.fileList li {
    margin:2em 0 2em 0;
    padding: 0;
    clear:both;
}
ul.fileList li .fileImage {
    float:left;
    width:50px;
    margin-top:-2px;
}
#filesDiv, #creditsDiv {
    padding:1em 0 2em 0;
}
#filesDiv h4, #creditsDiv h4 {
    text-decoration: underline;
    margin:1em 0 1.5em 0;
}
ul.fileList li a.fileText {
}
.warningText {
    color:#a94442;
    font-weight: bold;
}
.buttonStateSelectDiv {
    margin-top:0.25em;
    color:#A94442;
    font-weight:600;
    text-align: left;
}
/* bootstrap callouts */
.bs-callout {
    padding: 20px;
    margin: 20px 0;
    border: 1px solid #eee;
    border-left-width: 5px;
    border-radius: 3px;
}
.bs-callout h4 {
    margin-top: 0;
    margin-bottom: 5px;
}
.bs-callout p:last-child {
    margin-bottom: 0;
}
.bs-callout code {
    border-radius: 3px;
}
.bs-callout+.bs-callout {
    margin-top: -5px;
}
.bs-callout-default {
    border-left-color: #777;
}
.bs-callout-default h4 {
    color: #777;
}
.bs-callout-primary {
    border-left-color: #428bca;
}
.bs-callout-primary h4 {
    color: #428bca;
}
.bs-callout-success {
    border-left-color: #5cb85c;
}
.bs-callout-success h4 {
    color: #5cb85c;
}
.bs-callout-danger {
    border-left-color: #d9534f;
}
.bs-callout-danger h4 {
    color: #d9534f;
}
.bs-callout-warning {
    border-left-color: #f0ad4e;
}
.bs-callout-warning h4 {
    color: #f0ad4e;
}
.bs-callout-info {
    border-left-color: #5bc0de;
}
.bs-callout-info h4 {
    color: #5bc0de;
}
@media(max-width:768px){
    .catalog-filter {
        margin-top:2em;
    }
}
@media (min-width: 768px) {
    #course-details-page #course-details {
        margin-top:2em;
        /*border-right:4px solid #eee;*/
    }
    #course-details-extras-narrow .course-details-extra:first-of-type {
        padding-left:0;
    }
    #course-details-extras-narrow .course-details-extra:last-of-type {
        padding-right:0;
    }
    #course-details .cd-subs .app-label {
        display:inline-block;
    }
    #course-details .cd-subs .app-value {
        width:20em;
        display:inline-block;
    }
    h1.kitName {
        margin-top: 0;
        padding-top: 0;
        color:#333;
    }
    #course-details-page h3.subKitName, h2.catalog-heading-state, h2.addcourseHeader {
        font-size:1em;
        line-height:2em;
        margin-top: 1em;
        /*font-style: italic;*/
    }
    .boxproduct .cta-section {
        margin-top:0em;
    }
    .boxproduct .btnparagraph {
        text-align: left;
    }
    img.sponsorimage {
        max-width: 200px;
    }
    a.breadcrumblink {
        margin-top:1em;
    }
}
@media (min-width: 1200px) {
    #course-details .cd-subs .app-value {
        width:30em;
    }
    .course-card .course-hours {
        text-align: center;
    }
    .boxproduct img {
        margin:0;
    }
    img.sponsorimage {
        max-width: 300px;
    }
}