/*begin anchor destination styles*/
.mcfrs-psta--body-content a[href]:before, .mcfrs-psta--body-content a[href]:after { /*copy of the fa class in the fontawesome stylesheet*/
    display:inline-block;
    font:normal normal normal 14px/1 FontAwesome;
    font-size:inherit;
    text-rendering:auto;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
}
.mcfrs-psta--body-content a[href]:before {
    margin-right: 0.25em;
}
.mcfrs-psta--body-content a[href]:after {
    margin-left: 0.25em;
}
.mcfrs-psta--body-content a[href^='http']:after {
    content:"\f08e"
}
.mcfrs-psta--body-content a[href^='mailto:']:before {
   content:"\f0e0"
}
.mcfrs-psta--body-content a[href$='.pdf']:after {
    content:"\f1c1"
}
.mcfrs-psta--body-content a[href$='.doc']:after, .mcfrs-psta--body-content a[href$='.docx']:after {
    content:"\f1c2"
}
.mcfrs-psta--body-content a[href$='.ppt']:after, .mcfrs-psta--body-content a[href$='.pptx']:after {
    content:"\f1c4"
}
.mcfrs-psta--body-content a.mcfrs-psta--no-icon-link[href]:before, .mcfrs-psta--body-content a.mcfrs-psta--no-icon-link[href]:after {
    content: none;
}
/*end anchor destination styles*/

/*override default Bootstrap color for accessibility*/
.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, .h4 .small, .h4 small, .h5 .small, .h5 small, .h6 .small, .h6 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small, h4 .small, h4 small, h5 .small, h5 small, h6 .small, h6 small
{
    color: #555;
}

/*begin set up basic grid container*/
.mcfrs-psta--grid-container {
    --grid-number-columns: 1;
    display: grid;
    gap: 25px 15px;
    grid-template-columns: repeat(var(--grid-number-columns), minmax(10px, 1fr));
    justify-items: flex-start;
}

@media (min-width: 768px) { /*Bootstrap sm and up break*/
    .mcfrs-psta--grid-container {
        --grid-number-columns: 2;
    }
}

@media (min-width: 992px) { /*Bootstrap md and up break*/
    .mcfrs-psta--grid-container {
        --grid-number-columns: 3;
    }
}
/*end set up basic grid container*/

/*begin add dividing lines next to h2s to visually delineate sections of content*/
.mcfrs-psta--body-content h2 {
    background-color: transparent;
    overflow: hidden;
    position: relative;
}

.mcfrs-psta--body-content h2:after {
    background-color: #ddd;
    bottom: calc(1em / 2); /*show half way up the last line of the heading*/
    content: "";
    height: 2px;
    margin-left: 20px;
    position: absolute;
    width: 100%;
}
/*end add dividing lines next to h2s*/

.mcfrs-psta--coordinators-list {
    display: grid;
    gap: 25px 15px;
    grid-template-columns: repeat(auto-fit, minmax(100px, 350px));
    justify-items: flex-start;
}

.mcfrs-psta--coordinator-container > * {
    margin: 0;
}

.mcfrs-psta--coordinator-container > * + * {
    margin-top: 0.5rem;
}

.mcfrs-psta--coordinator-position {
    font-weight: bold;
}

/*remove bottom margin from lists in class tables if last item in cell to get rid of extra space*/
.mcfrs-psta--body-content .mcfrs-psta--class-table > * > tr > * > ul:last-child {
    margin-bottom: 0;
}

/*begin custom style for panels wrapping course schedules*/
.mcfrs-psta--body-content .panel-course-schedule .panel-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.mcfrs-psta--body-content .panel-course-schedule .panel-heading .panel-title {
    font-size: 1.5em;
}

.mcfrs-psta--body-content .panel-course-schedule .panel-heading .panel-title small {
    color: inherit;
}

.mcfrs-psta--body-content .panel-course-schedule .panel-heading a.btn-default {
    color: #333;
}

.mcfrs-psta--body-content .panel-course-schedule:target {
    border-color: #355997;
}

.mcfrs-psta--body-content .panel-course-schedule:target .panel-heading, .mcfrs-psta--body-content .panel-course-schedule:target .panel-footer {
    background-color: #355997;
    color: #fff;
}
/*end custom style for panels wrapping course schedules*/

@media (min-width: 768px) { /*Bootstrap sm and up break*/
    dl.mcfrs-psta--horizontal-definitions dd {
        display: inline-block;
    }
    dl.mcfrs-psta--horizontal-definitions dd + dd:before {
        content: "|";
        display: inline-block;
        margin-left: 0;
        margin-right: 0.25em;
    }
    
    /*begin course schedule table styles for better column width control when not in reponsive state*/
    .mcfrs-psta--body-content .mcfrs-psta--class-table > * > tr > * {
        white-space: nowrap;
	    width: 1%;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-1 > * > tr > :nth-child(1) {
	    white-space: normal;
	    width: auto;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-2 > * > tr > :nth-child(2) {
	    white-space: normal;
	    width: auto;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-3 > * > tr > :nth-child(3) {
	    white-space: normal;
	    width: auto;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-4 > * > tr > :nth-child(4) {
	    white-space: normal;
	    width: auto;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-5 > * > tr > :nth-child(5) {
	    white-space: normal;
	    width: auto;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-6 > * > tr > :nth-child(6) {
	    white-space: normal;
	    width: auto;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-7 > * > tr > :nth-child(7) {
	    white-space: normal;
	    width: auto;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-8 > * > tr > :nth-child(8) {
	    white-space: normal;
	    width: auto;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-9 > * > tr > :nth-child(9) {
	    white-space: normal;
	    width: auto;
    }
    .mcfrs-psta--body-content .mcfrs-psta--class-table.mcfrs-psta--class-table--wide-col-10 > * > tr > :nth-child(10) {
	    white-space: normal;
	    width: auto;
    }
    /*end course schedule table styles*/
}