/* ==========================================================
   utilities.css (extracted from legacy styles.css)
   ========================================================== */

/* Typography Utilities */
.fsm22 { font-size:0.938rem; }
@media screen and (min-width:1024px) { .fsm22 { font-size:1.375rem; } }

.fsm24 { font-size:1rem; }
@media screen and (min-width:1024px) { .fsm24 { font-size:1.5rem; } }

.ptxt1 { font-size:0.875rem; color:#333; font-weight:700; }
@media screen and (min-width:1024px) { .ptxt1 { font-size:1.125rem; } }

.txtdeco_under { text-decoration:underline; }

/* Layout & Structure */
.clearfix::after {
    content:'';
    display:block;
    float:none;
    clear:both;
    height:0;
    font-size:0;
    line-height:0;
    visibility:hidden;
}

caption { visibility:hidden; overflow:hidden; width:0; height:0; padding:0; margin:0; }

legend, .blind {
    position:absolute;
    left:-9999px;
    top:0;
    height:0;
    font-size:1px;
    line-height:0;
    text-indent:-9999em;
    overflow:hidden;
}

#wrap { width:100%; overflow:hidden; }
#contents { position:relative; width:100%; }

.subwrapper #contents { padding-top:50px; }
@media screen and (min-width:1024px) { .subwrapper #contents { padding-top:100px; } }

.border_top_2px{border-top:2px solid #333333;}

/* Generic Icons (Legacy) */
.isico {
    display:block; background-image:url("../images/common/is_ico.png");
    background-size:320px auto; background-repeat:no-repeat; text-indent:-9999em; overflow:hidden;
}
@media screen and (min-width:1024px) { .isico { background-size:auto; } }
.isico.isi_more { width:13px; height:13px; background-position:0 0; }
@media screen and (min-width:1024px) { .isico.isi_more { width:26px; height:26px; background-position:0 0; } }
.isico.isi_down { width:6px; height:6px; background-position:-14px 0; }
@media screen and (min-width:1024px) { .isico.isi_down { width:12px; height:12px; background-position:-28px 0; } }
.isico.isi_top { width:9px; height:13px; background-position:-21px 0; }
@media screen and (min-width:1024px) { .isico.isi_top { width:18px; height:26px; background-position:-42px 0; } }

/* Backgrounds & Margins */
.bggray { background-color:#efefef; }

.mgt15 { margin-top:7.5px; }
@media screen and (min-width:1024px) { .mgt15 { margin-top:15px; } }
.mgb10 { margin-bottom:5px; }
@media screen and (min-width:1024px) { .mgb10 { margin-bottom:10px; } }
.mgb15 { margin-bottom:7.5px; }
@media screen and (min-width:1024px) { .mgb15 { margin-bottom:15px; } }
.mgb20 { margin-bottom:10px; }
@media screen and (min-width:1024px) { .mgb20 { margin-bottom:20px; } }
.mgb90 { margin-bottom:45px; }
@media screen and (min-width:1024px) { .mgb90 { margin-bottom:90px; } }

/* Legacy Animations */
@-webkit-keyframes scrollBounce {
    0% { -webkit-transform:translate(-50%, 0); transform:translate(-50%, 0); }
    50% { -webkit-transform:translate(-50%, 10px); transform:translate(-50%, 10px); }
    100% { -webkit-transform:translate(-50%, 0); transform:translate(-50%, 0); }
}
@keyframes scrollBounce {
    0% { -webkit-transform:translate(-50%, 0); transform:translate(-50%, 0); }
    50% { -webkit-transform:translate(-50%, 10px); transform:translate(-50%, 10px); }
    100% { -webkit-transform:translate(-50%, 0); transform:translate(-50%, 0); }
}
@-webkit-keyframes keyMent01 {
    0% { opacity:0; -webkit-transform:translateY(80px); transform:translateY(80px); }
    20% { opacity:0; }
    100% { opacity:1; -webkit-transform:translateY(0px); transform:translateY(0px); }
}
@keyframes keyMent01 {
    0% { opacity:0; -webkit-transform:translateY(80px); transform:translateY(80px); }
    20% { opacity:0; }
    100% { opacity:1; -webkit-transform:translateY(0px); transform:translateY(0px); }
}
@-webkit-keyframes keyMent02 {
    0% { opacity:0; -webkit-transform:translateY(-60px); transform:translateY(-60px); }
    20% { opacity:0; }
    100% { opacity:1; -webkit-transform:translateY(0); transform:translateY(0); }
}
@keyframes keyMent02 {
    0% { opacity:0; -webkit-transform:translateY(-60px); transform:translateY(-60px); }
    20% { opacity:0; }
    100% { opacity:1; -webkit-transform:translateY(0); transform:translateY(0); }
}
