@import url("https://use.typekit.net/ziw8wtp.css");
@import '~@fortawesome/fontawesome-free/css/all.min.css';


body {
    font-size:16px !important;
    /*font-family: ingra-2, sans-serif;*/
    font-family: Montserrat, Arial !important;
    font-weight: 300;
    font-style: normal;
    color: #113d55;
}
h3, h4, h5, h6 {
    color: #113D55;
}
h1 { font-size: 200% !important; }
h2 { font-size: 160% !important; }
h3 { font-size: 150% !important; }
h4 { font-size: 140% !important; }
h5 { font-size: 130% !important; }
h6 { font-size: 120% !important; }
.bold {
    font-weight: bold !important;
}

h1, h2, h3, h4, h5, h6, #sp-menu {
    font-family: Montserrat, Arial !important;
    /*font-family: lexia, serif;*/
    font-weight: bold;
}

#sp-menu {
    font-family: ingra-2, sans-serif;
    font-weight: 300;
}

p, span {
    line-height:140% !important;
}
em {
    color: #113D55;
}
ul {
    margin-left: 30px;
}

.billboard {
    height:40px;
    background-position: center;
    background-position-y: bottom;
    background-repeat: repeat-x;
}

.safe-btn {
    width: 100%;
    margin-top:10px;
    padding: 4px 0;
    background: #fff;
    color: #113D55;
    border: 1px solid #113D55;
    border-radius: 0;
    text-align: center;
}

.safe-btn:hover {
    color: #3e1331;
    border: 1px solid #3e1331;
    background-color: #efefef;
    cursor: pointer;
}

.no-left-margin {
    margin-left: 0 !important;
}

.half {
    float:left;
    width:50%;
    margin-top:0 !important;
}

.third {
    float:left;
    width:33.3%;
    margin-top:0 !important;
}

.sponsors-bar {
    margin: 10px 0;
}
.sponsors-bar h4 {
    text-transform: uppercase;
    color: #fff;
    line-height: 40px;
    height:40px;
    background-color: #113D55;
    text-align: center;
    margin: 0 0 20px 0;
}
.sponsor-top-margin {
    margin-top:45px;
}
.white {
    color: #fff !important;
}
.grey {
    background-color: #f2f2f2 !important;
    margin: 20px;
    padding: 20px 0px;
}
.teal {
    color: #3FA399 !important;
}
.footer-line:after {
    background-color: #3FA399 !important;
}
.footer-text {
    color: #fff;
}
a.footer-links {
    color: #ffffff !important;
}
a.footer-links:hover {
    color: #3FA399 !important;
}
p a {
    text-decoration: underline;
}

.vid-responsive {
     overflow:hidden;
     padding-bottom:56.25%;
     position:relative;
     height:0;
 }
.vid-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

.vid-responsive2 {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.vid-responsive2 iframe,
.vid-responsive2 object,
.vid-responsive2 embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*.FAQ {*/
    /*background-image: url("http://safety2016.asse.org/img/bg-faq.png") !important;*/
/*}*/

.right-nav {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.ul-indent li {
    margin-left:35px !important;
}

.info-input {
    width: 96% !important;
    padding: 2% !important;
    height: 20px !important;
    margin-top: 9px;
    margin-bottom: 0 !important;
}

.promo-box {
    width:132px;
    margin: 0 auto;
    padding-top: 15px;
}

.promo-box a, .promo-box a:hover {
    color: #fff !important;
}

.social-promo {
    margin: 0 7px 20px 7px;
    padding: 5px;
    float:left;
    width: 20px;
    height: 20px;
    background-color: #3d1430;
}

.sponsors {
    border:1px solid #113D55;
    width:100%;
    margin: 4px 0;
}
.sticky {
    position: fixed;
    top: 0;
    width: 100%;
}

.language {
    font-size: 85%;
}

h1.home {
    font-size: 150% !important;
    line-height: normal !important;
    margin: 0 !important;
    color: #113D55;
}

#sp-main-menu ul.level-1 > li a.active {
    color: #113D55 ;
}

.info {
    transform-style: preserve-3d;
    backface-visibility: hidden;
    opacity: 1;
    height: 259px;
}
.info1 {
    opacity: 1;
    transform: scale(1) rotate(0deg);
    position: absolute;
    top: 0px;
    left: 0%;
}
.info2 {
    opacity: 1;
    transform: scale(1) rotate(0deg);
    position: absolute;
    top: 0px;
    left: 25%;
}
.info3 {
    opacity: 1;
    transform: scale(1) rotate(0deg);
    position: absolute;
    top: 0px;
    left: 50%;
}
.info4 {
    opacity: 1;
    transform: scale(1) rotate(0deg);
    position: absolute;
    top: 0px;
    left: 75%;
}
.left-margin-40 {
    margin-left: 40px !important;
}

.upcoming {
    padding-left: 0;
    padding-right: 0;
}
.upcoming .row {
    margin-left: 0;
}

.blog-social {
    width: 30px !important;
    height: 26px !important;
    background-color: #113D55 !important;
    float: left;
    margin-right: 5px;
    text-align: center;
    padding-top: 5px;
    margin-top: -12px;
}
.blog-social-a {
    color: #fff !important;
}

.footer {
    font-size: 80%;
}

@media screen and (min-width: 960px) and (max-width: 1199px){
    .info {
        transform-style: preserve-3d;
        backface-visibility: hidden;
        opacity: 1;
        height: 226px;
    }
}
@media screen and (min-width: 768px) and (max-width: 959px){
    .info {
        transform-style: preserve-3d;
        backface-visibility: hidden;
        opacity: 1;
        height: 460px;
    }
    .info1 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 0px;
        left: 0%;
    }
    .info2 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 0px;
        left: 33.3333%;
    }
    .info3 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 0px;
        left: 66.6667%;
    }
    .info4 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 230px;
        left: 0%;
    }
}
@media screen and (min-width: 481px) and (max-width: 767px){
    .info {
        transform-style: preserve-3d;
        backface-visibility: hidden;
        opacity: 1;
        height: 462px;
    }
    .info1 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 0px;
        left: 0%;
    }
    .info2 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 0px;
        left: 50%;
    }
    .info3 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 231px;
        left: 0%;
    }
    .info4 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 231px;
        left: 50%;
    }
    .sponsor-top-margin {
        margin-top:0;
    }
}
@media screen and (max-width: 480px){
    .info {
        transform-style: preserve-3d;
        backface-visibility: hidden;
        opacity: 1;
        height: 1468px;
    }
    .info1 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 0px;
        left: 0%;
    }
    .info2 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 367px;
        left: 0%;
    }
    .info3 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 734px;
        left: 0%;
    }
    .info4 {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        position: absolute;
        top: 1101px;
        left: 0%;
    }
}

.red {
    color: #113D55;
    font-weight: bold;
}
.redlet{
    color:red;
    font-weight: bold;
    font-size: small;
}

.social-box {
    float: left;
    margin-right: 15px;
    width: 40px;
    height: 40px;
    background: #113D55;
    color: #fff;
    text-align: center;
    transition: .5s;
    border: 1px solid #113D55;
}

.social-box:hover {
    color: #113D55;
    background: #fff;
}

.social-box .icon-2x {
    line-height: 40px;
}
.ordered-list {
    margin-top: 20px;
}
.ordered-list li {
    margin-left: 50px;
}

.deadline {
    font-size: .9em;
    font-weight: normal;
}

.btn-assp {
    text-align: center;
    color: #ffffff!important;
    display: inline-block;
    padding: 0.525em 1.275em !important;
    border: 1px solid #113D55 !important;
    background: #113d55;
    transition: background-color 0.5s ease;
    box-sizing: border-box;
    font-size: 16px;
    border-radius: 0 !important;
}

.btn-assp:hover {
    color: #ffffff !important;
    text-decoration: none;
    background: #3FA399;
}
.btn-home-assp {
    text-align: center;
    color: #ffffff!important;
    display: inline-block;
    padding: 0.525em 1.275em !important;
    border: 1px solid #113D55 !important;
    background: #3FA399!important;
    transition: background-color 0.5s ease;
    box-sizing: border-box;
    font-size: 16px;
    border-radius: 0 !important;
}

.btn-home-assp:hover {
    color: #ffffff !important;
    text-decoration: none;
    background: #113d55;
}

.btn-banner {
    text-align: center;
    color: #fff !important;
    display: inline-block;
    padding: 0.75em 2.5em !important;
    border: 2px solid #fff !important;
    background: transparent;
    transition: all 0.5s ease;
    box-sizing: border-box;
    font-size: 24px;
    font-weight: bold;
    border-radius: 0 !important;
}
.btn-banner:hover {
    color: #113D55 !important;
    background-color: #fff;
}
@media only screen and (max-width: 767px) {
    .btn-banner {
        font-size: 14px !important;
    }
}

#fc_frame, #fc_frame.fc-widget-normal {
    top: 75px !important;
}

#custom_fc_button {
    width: 45px;
    height: 45px;
    position: fixed;
    left: 20px;
    top: 150px;
    border-radius: 8px 34px 34px 34px;
    background-color: #0064A8 !important;
    color: #ffffff !important;
    padding: 7px 10px 10px;
    box-shadow: 0 5px 4px 0 rgba(0,0,0,.26);
    cursor: pointer;
    text-align: center;
    display: table;
    z-index: 9999;
}

#bottom-2 .customtitle1 {
    font-size: .9em;
}

.right-nav h4 {
    font-family: "ingra-2", Arial, sans-serif !important;
    font-weight: normal;
}

.orange {
    color: #3FA399 !important;
}

.session-panel {
    width: 100%;
    padding: 8px;
    background-color: #113D55;
    color: #fff;
    cursor: pointer;
}

.session-panel i {
    float: right;
    -moz-transition: all .5s linear;
    -webkit-transition: all .5s linear;
    transition: all .5s linear;
}

.session-panel i.down {
    -moz-transform:rotate(180deg);
    -webkit-transform:rotate(180deg);
    transform:rotate(180deg);
}

.panel-list {
    display: none;
}

li.menu-item a {
    width: 90%;
}
.a .read-more {
    color: #3FA399 !important;
}
.collapsible {

    cursor: pointer;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;

}

.isactive, .collapsible:hover {
    background-color: #3FA399;
}

.collapsible:after {
    content: '\002B';
    color: white;
    font-weight: bold;
    float: right;
    margin-left: 5px;
}
.isactive:after {
    content: "\2212";
}

.content {
    padding: 0 18px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    background-color: #f1f1f1;
    margin-bottom: 15px;
}
ul.lispc>li{
    margin: 1.5em 0;
    list-style-position: inside;
}
li.lispc {
    margin: 0.5em 0;
}

/*blog table*/
.btable{
    border: 1px solid #f2f2f2;
    border-collapse: separate;
    border-spacing: 20px 20px;
    background: #f2f2f2;
    margin: 0;
    padding:0;
    width: 100%;
    table-layout: fixed;
}
.btable .trow{
    border: 1px solid;
    padding-top: 10px;
    padding-bottom: 10px;
}
.btable .tdata{
    padding: 2px;
    vertical-align:top;
    background: white;

}
/*.tdata:hover {*/
    /*background: #3FA399;*/
/*}*/
/*.tdata:hover .btn-assp:hover{*/
    /*background: #113D55;*/
    /*border-color: white!important;*/
/*}*/
@media screen and (max-width:600px){
    .btable{
        border: 1px solid #f2f2f2;
        border-collapse: separate;
    }
    .btable .trow{
        border: 1px solid #f2f2f2;
        display: block;

    }
    .btable .tdata{
        border-bottom: 20px solid #f2f2f2;
        padding-bottom: 5px;
        display: block;
        margin-bottom:5px;
    }
}
@media screen and (max-width:600px) {
    .rtable{
        border-collapse:separate;
    }

}

/*   ----------    shedule      ---------- */
.selected {
    background-color: #dfeded;
}

.selected.reserved {
    background-color: #dfeded;
}

.reserved {
    background-color: #FCD4D4;
}

.available {
    /*background-color: #eef9fc;*/
}

.empty-day{
    background-color: #d8dadb;
}

.table.schedule, .table.schedule td.seminar-td, .table.schedule td.available, .table.schedule td.selected, .table.schedule td.reserved, .table.schedule th {
    border:1px solid #ddd;
}

.table.schedule th {
    background-color: #ffffff;
    color:  #7e7f83 ;
    text-align: center;
    vertical-align: middle;
}

.table.schedule th.track {
    background-color: white;
    color: #7e7f83 ;
}
#schedule {
    /*min-width: 720px;*/
    /*table-layout: fixed;*/
    word-wrap:break-word;

    /*overflow:  scroll;*/

}

/*  ----------  END shedule -------------- */


.modal-body , .modal-header {
    background-color: #fff;
}/*

*/#schedule {
       /*min-width: 720px;*/
       /*table-layout: fixed;*/
       word-wrap:break-word;

       /*overflow:  scroll;*/

   }

@media screen and (max-width: 767px){
    .mobile-invisible-header {
        display: none;
    }
    .mobile-visible-header{
        display: initial;
    }
}


@media (max-width: 1199px) and (min-width: 767px){
    .navigation-wrapper .primary-navigation-wrapper header .navbar-brand.home img{
        max-height: 50px;
        position: absolute;
        margin-top: -10px;
        margin-left: -20px;
    }
}



@media (min-width: 1200px){
    .navigation-wrapper .primary-navigation-wrapper header .navbar-brand.home img{
        max-height: 60px;
        position: absolute;
        margin-top: -15px;
    }
}

#week-one .table-responsive td {
    white-space: initial;
}
#week-two .table-responsive td {
    white-space: initial;
}

.att input{
    margin: 0 1px 0 5px;
}

span.att {
    display: inline-block;
}



.whole-seminar ul, .description-body ul , #page-register ul {
    margin-left: 25px;
}


.timeline-header {
    border: 0px;
}

#certificate ul {
    margin-left: 25px;
}


.author-carousel {
    background: none;
}


.explanation div{
    display: inline;
    border:1px solid #ddd;
    padding-right: 2px;
}

.explanation span {
}

.explanation .blue {
    color: white;
    background-color: white;
}

.explanation .green {
    color: #dfeded;
    background-color: #dfeded;
}

.explanation .red {
    color: #FCD4D4;
    background-color: #FCD4D4;
}
.explanation {

    display: inline;
    margin-top: -30px;
}

@media (min-width: 1200px){
    .explanation {
        float: right;
    }
    #tool li:last-child {
        width: 75%;
    }
}



.infolink:before
{
    content: '?';
    display: inline-block;
    font-family: sans-serif;
    font-weight: bold;
    text-align: center;
    width: 1.3em;
    height: 1.3em;
    font-size: 1.4ex;
    line-height: 1.8ex;
    border-radius: 1.2ex;
    margin-right: 4px;
    padding: 2px;
    color: #01366a;
    background: white;
    border: 1px solid #01366a;
    text-decoration: none;
}

.infolink:hover:before
{
    color: white;
    background: #01366a;
    border-color: white;
    text-decoration: none;
}

.blog-posts div:nth-child(3n+1) {
    margin-left: 0;
    clear: both;
}

.blog-posts div {
    margin-bottom: 20px;
}

.blog-archive-posts div:nth-child(4n+1) {
    margin-left: 0;
    clear: both;
}

.blog-archive-posts div {
    margin-bottom: 20px;
}

.virtual-logo {
    width: 80%;
}

.logo-wrapper div {
    float: left;
}

.gold {
    color: #ffe24f !important;
    font-weight: 600;
}

.teal {
    color: #3fa399 !important;
    font-weight: 600;
}
.teal-bg {
    background-color: #3fa399 !important;
}
.navy-bg {
    background-color: #01366a !important;
}
.info-box {
    display: table-cell;
    width: 50%;
    color: #fff !important;
    padding: 50px;
}

@media only screen and (max-width: 767px) {
    .info-box {
        width: auto;
        display: block;
    }
    #custom_fc_button {
        top: auto !important;
        bottom: 150px !important;
    }
}
.table-grid, .table-grid th, .table-grid td {
    border: 1px solid #c0c0c0;
}
.table-grid {
    width: 100%;
}
.table-grid thead, .table-grid tbody {
    text-align: center;
}
.table-grid td {
    padding: 10px;
    width: 25%;
}
.table-grid tbody tr td:first-child{
    text-align: left;
}
.table-grid tbody tr td:first-child:not(:first-child) {
    background: rgb(0, 100, 53);
    color: #fff;
    font-weight: bold;
}
.table-grid tbody tr:nth-child(odd) {
    background: rgba(17, 61, 85, .25);
    color: #000 !important;
}
.table-grid tbody tr:nth-child(even) {
    background: rgba(17, 61, 85, .125);
    color: #000 !important;
}
.table-grid img {
    max-width: 150px;
}
.courses-grid thead tr:first-child td:first-child {
    text-align: left;
}
.courses-grid thead {
    font-size: 20px !important;
}
.courses-grid tbody {
    font-size: 14px !important;
}
.courses-grid tbody td:not(:first-child) {
    text-align: center;
}
.courses-grid td {
    width: 20%;
}
.courses-grid thead {
    font-size: 1.5em;
    font-weight: bold:;
}
.courses-grid thead span {
    font-size: .75em;
    font-weight: normal;
}
.courses-grid thead {
    /*background: rgb(0, 100, 53);*/
    background: rgb(63, 163, 153);
    color: #fff;
    /*color: #3FA399;*/
    font-weight: bold;
}
.courses-grid thead tr:first-child td:first-child {
    width: 40%;
}
.courses-grid thead tr:first-child td:not(:first-child) {
    width: 60%;
}
.courses-grid thead tr:not(:first-child) td {
    width: 20%;
}
.courses-header {
    background: rgb(17, 61, 85) !important;
    text-align: left;
}
.courses-header h5 {
    font-weight: bold !important;
    color: #fff !important;
}

/* breathing room */
.table-grid.courses-grid th,
.table-grid.courses-grid td {
    padding: 14px 16px;       /* more comfortable than default */
    line-height: 1.5;
}

/* keep header tidy */
.table-grid.courses-grid thead th {
    vertical-align: bottom;
    white-space: nowrap;
}

/* make Level and Rates columns wider but predictable */
.table-grid.courses-grid td:nth-child(5),
.table-grid.courses-grid th:nth-child(5) { /* Level */
    width: 6.5rem;
}

.table-grid.courses-grid td.rate-early,
.table-grid.courses-grid td.rate-regular,
.table-grid.courses-grid td.rate-last,
.table-grid.courses-grid th.rate-early,
.table-grid.courses-grid th.rate-regular,
.table-grid.courses-grid th.rate-last {
    width: 11rem;             /* adjust to taste (10–12rem works well) */
}

/* price list style */
.table-grid.courses-grid .prices {
    list-style: none;
    margin: 0;
    padding: 0;
}

.table-grid.courses-grid .prices li + li {
    margin-top: 2px;          /* small gap between Member / Non-member */
}

.table-grid.courses-grid .prices .label {
    background-color: rgb(17, 61, 85); /* dark teal */
    color: #fff;                       /* white text for contrast */
    font-weight: 600;
    display: inline-block;
    padding: 2px 6px;
    border-radius: 4px;                /* optional rounded corners */
}


.table-grid.courses-grid .prices .value {
    white-space: nowrap;      /* avoid price wrapping */
}

/* optional: slightly tighter vertical alignment in rate cells */
.table-grid.courses-grid td.rate-early,
.table-grid.courses-grid td.rate-regular,
.table-grid.courses-grid td.rate-last {
    vertical-align: top;
}

/* horizontal scroll with a subtle fade hint */




/* row as card for small screens */
/* row as card for small screens */
@media (max-width: 820px) {
    /* kill desktop widths */
    .courses-grid th,
    .courses-grid td { width: 100% !important; max-width: none !important; }

    /* hide the table header */
    .courses-grid { border-collapse: separate; border-spacing: 0; }
    .courses-grid thead { display: none; }

    /* each row becomes a card */
    .courses-grid tr {
        display: block;
        margin: 12px 0;
        border: 1px solid #c0c0c0;
        border-radius: 8px;
        overflow: hidden;
    }

    /* section headers as bars */
    .courses-grid .courses-header {
        display: block;
        margin: 20px 0 8px;
        background: rgb(17, 61, 85) !important;
        border: 0;
        border-radius: 6px;
    }
    .courses-grid .courses-header td {
        display: block;
        padding: 10px 14px;
        border: 0;
        color: #fff !important;
    }
    .courses-grid .courses-header h5 { margin: 0; font-size: 1rem; font-weight: 700; color: #fff !important; }
    .courses-grid .courses-header td::before { content: none !important; }

    /* default card cells */
    .courses-grid td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        padding: 12px 14px;
        border: 0;
        border-bottom: 1px solid var(--card-divider, rgba(0,0,0,.14));
        white-space: normal;
    }
    .courses-grid td:last-child { border-bottom: 0; }

    /* adaptive dividers for striped rows */
    .courses-grid tbody tr:nth-child(odd)  { --card-divider: rgba(255,255,255,.28); }
    .courses-grid tbody tr:nth-child(even) { --card-divider: rgba(0,0,0,.14); }

    /* labels inside cells */
    .courses-grid td::before {
        content: attr(data-label);
        font-weight: 600;
        margin-right: 12px;
        flex: 0 0 44%;
    }

    /* FIRST CELL (Course) — let it be a normal text block */
    .courses-grid td:first-child {
        display: block !important;          /* opt out of flex row */
        width: 100% !important;
        font-weight: 600;
        padding-bottom: 10px;
        white-space: normal !important;
        word-break: normal !important;      /* don't split words */
        overflow-wrap: break-word;          /* only break very long tokens */
    }
    .courses-grid td:first-child::before { content: none !important; }
    .courses-grid td:first-child a {
        display: inline;
        white-space: inherit;
        word-break: inherit;
        overflow-wrap: inherit;
    }

    /* force multi-line labels for rate cells */
    .courses-grid td.rate-early::before,
    .courses-grid td.rate-regular::before,
    .courses-grid td.rate-last::before {
        white-space: pre-line; /* render \A as line break */
    }
    .courses-grid td.rate-early::before   { content: "Early Rate\A Now through Nov. 7"; }
    .courses-grid td.rate-regular::before { content: "Regular Rate\A Nov. 8 \2013 Dec. 12"; } /* \2013 = en dash */
    .courses-grid td.rate-last::before    { content: "Last Chance Rate\A Dec. 13 \2013 Feb. 7"; }

    /* rate list tidy */
    .courses-grid .prices { margin: 0; padding: 0; list-style: none; }
    .courses-grid .prices li { display: flex; justify-content: space-between; gap: 8px; }
    .courses-grid .prices .label {
        background-color: rgb(17, 61, 85);
        color: #fff;
        font-weight: 600;
        padding: 2px 6px;
        border-radius: 4px;
    }
}

