/* Libraries subpage shared styles.
   	@file        shared.css.en
	developer:   yhechler
   	requires:    /common/framework/css/framework.en.css  
========================================================================== */
body {
    font-family: 'Source Sans Pro', Arial, sans-serif;
}
.page-width {
    margin: 3.125rem auto;
    max-width: 1100px;
    padding: 0 3.125rem;
    width: 100%;
}
main .header h1 {
    color: #dd1100;
    font-size: 2.8125rem;
    font-weight: 400;
    line-height: 3.375rem;
    margin: 2rem auto;
}
main .header p {
    color: #535353;
    font-size: 21px;
    font-weight: 300;
    line-height: 1.5;
}
main h2 {
    color: #dd1100;
    font-size: 30px;
    font-weight: 400;
    margin: 2rem auto 0.5rem auto;
}
main .header h2 {
    border-bottom: 1px solid #ccc;
    color: #dd1100;
    font-size: 45px;
    font-weight: 400;
    line-height: 54px;
    margin: 0;
}
main h4 {
    color: #dd1100;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.875rem;
    margin-bottom: 1rem;
}
main p.intro {
    color: #535353;
    font-size: 1.3125rem;
    font-weight: 300;
    line-height: 2rem;
    margin: 20px 0 0 0;
}
main a:link,
main a:visited {
    color: #dd1100;
}
main a:hover,
main a:active {
    color: #f57300;
}
.wrapper {
    border: 1px solid #e4e4e4;
}
.content-wrapper {
    padding: 2rem 3.125rem;
}
.content-wrapper.gradient {
    background: url('/system-modeler/libraries/img/examples-bg.png') repeat-x 0 118px;
    min-height: 331px;
    width: 100%;
    padding-top: 0;
}
#details.content {
    padding-top: 2rem;
}
/* detail bar
/* ------------------------------------------------------------------------- */
.detail-bar {
    align-items: center;
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-bottom: none;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 15px;
}
.detail-bar.bottom {
    border-top: none;
    border-bottom: 1px solid #ddd;
}
.col-icon {
    align-items: flex-start;
    display: flex;
    gap: 10px;
}

.col-icon img {
    margin-top: 0.5rem;
}

.icon-details {
    display: flex;
    flex-direction: column;
}
.icon-details .detail-name {
    color: #dd1100;
    font-size: 35px;
    font-weight: 400;
    /*line-height: 40px;*/
}
.col-icon .detail-name {
    color: #dd1100;
    font-size: 2.1875rem;
    font-weight: 400;
    /*line-height: 40px;*/
    margin: 0;
    max-width: 100%;
}
.col-icon .detail-author {
    color: #393939;
    font-size: 1.1875rem;
    font-weight: 300;
    margin: 0;
}
.col-download .button {
    background: #dd1100;
    border-radius: .25rem;
    border: 1px solid #b00f00;
    color: #fff;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    padding: .75rem 1.5rem;
    white-space: nowrap;
}
.col-download .button:focus {
    background: #b00f00;
}
.col-download .button:hover {
    background: #f80000;
    color: #fff;
}
.col-download .download-type {
    color: #656565;
    font-size: 11px;
    line-height: 19px;
    margin: 0 0 0 3px;
    text-align: right;
}
.download-type span {
    color: #808080;
}
.download-type span:hover {
    color: #f77700;
}
a.request {
    color: #808080;
    display: block;
    font-size: 11px;
    text-align: right;
}
a.request:hover {
    color: #f77700;
}
/* intro
/* ------------------------------------------------------------------------- */
#intro p {
    color: #5c5c5c;
    font-size: 1.3125rem;
    font-weight: 300;
    line-height: 1.875rem;
}
/* features
/* ------------------------------------------------------------------------- */
#features .col-list ul {
    padding: 0;
}
#features .col-list ul li {
    background: transparent;
    color: #5c5c5c;
    font-size: 15px;
    line-height: 22px;
    margin: 0;
    padding: 0 0 10px 14px;
}
#features .col-list ul li:before {
    background: #dd1100;
    content: "";
    display: inline-block;
    height: 4px;
    margin: 0 10px 2px -14px;
    width: 4px;
}
.word-cloud {
    margin: 40px 0 0 0;
}
/* Container styling for col-media */
.col-media {
    position: relative;
    width: 100%;
    max-width: 333px;
    margin: auto;
}
.video-background img, .col-media img {
    width: 100%;
    height: auto;
    display: block;
}
.link-thumbnail {
    align-items: center;
    display: flex;
    height: 50%;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
}
.link-thumbnail span {
    background: url('/system-modeler/img/popup-video_off.png') no-repeat center center;
    background-size: contain;
    cursor: pointer;
    height: 100%;
    width: 100%;
}
.video-link:hover .link-thumbnail span {
    background: url('/system-modeler/img/popup-video_on.png') no-repeat center center;
    background-size: contain;
}
.video-link:hover .link-caption {
    opacity: 1;
}
#features a.video-link .link-caption,
#features a.cdf-link .link-caption {
    color: #555;
    font-size: 11px;
    line-height: 14px;
    max-width: 333px;
    padding: 5px 0 0 0;
    text-align: right;
}
#features a.cdf-link .link-thumbnail span {
    background: url('/system-modeler/img/popup-cdf_off.png') no-repeat 50% 50%;
    cursor: pointer;
    height: 100%;
    width: 100%;
}
#features a.cdf-link:hover .link-thumbnail span {
    background: url('/system-modeler/img/popup-cdf_on.png') no-repeat 50% 50%;
}
/* examples
/* ------------------------------------------------------------------------- */
.example-pod-wrapper {
    display: grid;
    gap: 13px;
    grid-template-columns: repeat(3, 1fr);
}
#examples .examples-padding {
    padding: 0 20px 30px 50px;
}
#examples .example-pod:not(.no-box) {
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0px 0px 6px #ccc;
    max-width: 290px;
    padding-bottom: 20px;
}
#examples .example-pod img {
    border-bottom: 1px solid #e4e4e4;
    display: block;
    width: 100%;
    max-width: 288px;
    max-height: 105px;
}
#examples .example-pod .link-title {
    color: #333;
    display: block;
    font-size: 15px;
    font-weight: 400;
    line-height: 19px;
    padding: 10px 20px 2px 20px;
}
#examples .example-link:hover .link-title,
#examples .example-link:active .link-title {
    color: #f57300;
}
#examples .example-pod .link-source {
    color: #616161;
    display: block;
    font-size: 13px;
    line-height: 18px;
    padding: 0 20px 10px 20px;
}
#examples .example-pod .link-source .chevron {
    color: #dd1100;
}
#examples .example-link:hover .chevron,
#examples .example-link:active .chevron {
    color: #f57300;
}
#libraries .dynamic-content {
    display: none;
}
#libraries .type-commercial, #libraries .type-academic {
    cursor: pointer;
}
#features {
    display: flex;
    gap: 20px 40px;
    margin-top: 2rem;
}
/* Column styling */
.col-list,
.col-media {
    flex: 1;
}
/* shared styles for all library subpages
/* ------------------------------------------------------------------------- */
/* Container for the table */
.chart {
    display: grid;
    flex-direction: column;
    gap: 0;
    padding: 0;
}
/* Regular rows */
.row {
    background: #fafafa;
    border: 1px solid #ddd;
    border-bottom: none;
    display: grid;
    grid-template-columns: 2fr 2fr 1fr 3fr;
}
.row:last-child {
    border-bottom: 1px solid #ddd;
}
.row.even {
    background: #fff;
}
/* Individual cells */
.cell {
    border-right: 1px solid #ddd;
    color: #535353;
    flex: 1;
    font-size: 13px;
    line-height: 28px;
    padding: 0 10px;
}
.row .cell:last-child {
    border-right: none;
}
.cell.title {
    font-weight: 600;
}
/* form styles
/* ------------------------------------------------------------------------- */
#alert {
    background: #fff;
    padding: 25px 20px;
    text-align: center;
}
#alert h2 {
    font-size: 1rem;
}
button.mfp-close {
    top: -10px;
}
#alert h2+p {
    color: #6d6d6d;
    font-size: .75rem;
    line-height: 1;
    margin: 20px 0px 5px;
    padding: 0px;
    text-align: left;
}
#alert .button.large {
    padding: 7px 20px;
}
#alert .button.giant {
    margin: 10px 0;
    width: 49%;
}
#alert.white-popup-block {
    max-width: 473px;
}
#alert .button {
    background: #fff;
    border-radius: 3px;
    border: 1px solid #dd1100;
    color: #dd1100;
    cursor: pointer;
    padding: 4px 12px;
}
#alert .button.small {
    font-size: .7rem;
}
#alert .button:hover {
    border: 1px solid #f77700;
    color: #f77700;
}
#alert .button.large {
    border-radius: 5px;
    border: 1px solid #b00f00;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: normal;
    padding: 9px 20px;
}
#alert .button.giant {
    border-radius: 5px;
    border: 1px solid #b00f00;
    cursor: pointer;
    display: inline-block;
    line-height: 1;
    padding: 7px 0;
}
#alert .button {
    background: #dd1100;
    color: #fff;
}
#alert .button:hover {
    color: #fff;
    background: #fe0000;
}
.mfp-close-btn-in .mfp-close {
    top: -10px !important;
}
/* ==============================================================
   responsive breakpoint styles
   ============================================================== */
@media (max-width: 1200px) {
    .row {
        display: gridx;
        grid-template-columns: 3fr 3fr 2fr 4fr;
    }
}
@media (max-width: 900px) {
    .chart {
        border-top: 1px solid #ddd;
    }
    .row {
        border-bottom: none;
        border-top: none;
        grid-template-columns: 1fr 2fr;
    }
    .cell {
        background: #fff;
        border-bottom: 1px solid #ddd;
    }
    .row:last-child {
        border-bottom: none;
    }
    .cell.title {
        background: #fafafa;
    }
    .cell::before {
        display: inline-block;
        font-weight: 600;
        margin-right: 5px;
    }
    .cell::last-child {
        border-right: none;
        border-bottom: none;
    }
    .cell:nth-child(2n) {
        border-right: none;
    }
    .cell:nth-child(2n).title {
        border-bottom: none;
    }
    .example-pod-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    #features {
        flex-direction: column;
    }
    #features a.video-link .link-caption {
        text-align: center;
    }
}
@media (max-width: 600px) {
    .content-wrapper {
        padding: 2rem;
    }
    main .header h1 {
        font-size: 2.1rem;
        line-height: 2.375rem;
    }
    .col-download .button {
        font-size: 1.0rem;
        padding: .5rem 1.0rem;
    }
    .col-icon .detail-name {
        font-size: 1.5875rem;
    }
    .detail .col-download {
        text-align: center;
        width: 100%;
    }
    .col-icon img {
        width: 45px;
        height: auto;
        margin-top: 0.25rem;
    }
    .detail-bar {
        flex-direction: column;
    }
    .example-pod-wrapper {
        grid-template-columns: 1fr;
    }
    .row {
        border-top: none;
        grid-template-columns: 1fr;
    }
    .cell {
        border-right: none;
    }
}
@media (max-width: 320px) {
    .page-width {
        margin: 2rem auto;
        padding: 0 2rem;
    }
    .col-icon .detail-name {
        font-size: 1.3875rem;
        line-height: 1.5;
    }

}