.typography blockquote {
    width: 60.195%;
    padding:8px 0 30px 46px;
    background: url(../img/open-quote.png) no-repeat left top;
    background-size: 30px 23px;
    font-size: 19px;
    line-height: 30px;
    margin: 15px auto 30px auto;
    color: #0d3862;
}
.typography blockquote div.quote-author {
    text-align: right;
    margin-top: 15px;
    font-size: 19px;
    line-height: 30px;
    color: #0d3862;
}
.typography blockquote div.quote-author:before {
    content: '- ';
}
.typography blockquote p {
    margin-bottom:0;
}

.typography hr {
    width: 100%;
    height: 1px;
    border: 0;
    background: #949494;
    margin: 15px auto 38px auto;
}
.typography hr.title-line { /* not directly used in content */
    width: 50px;
    margin: 20px auto 20px auto;
}

.typography p {
    margin: 0 auto 30px auto;
    padding:0;
    font-size: 16px;
    font-family: 'Open Sans',sans-serif;
    color: #303030;
}
.typography > p {
    width: 78.431%;
}
.typography.full > p {
    width: 100%;
}

.typography > .captionImage {
    width: 78.431% !important;
    margin:0 auto 30px auto;
}
.typography.full > .captionImage {
    width: 100% !important;
}

.typography div.one-columns-box-div,
.typography div.two-columns-box-div,
.typography div.three-columns-box-div {
    margin: 0;
    font-size: 0;
}
.typography div.one-columns-box-div > div,
.typography div.two-columns-box-div > div,
.typography div.three-columns-box-div > div {
    display: inline-block;
    vertical-align: top;
    background: #ededed;
    padding: 25px;
    margin-bottom: 30px;
    margin-right: 2.94%;
    width: 31.373%;
    overflow:hidden;
}
.typography div.one-columns-box-div > div {
    width:100%;
    margin-right:0;
}
.typography div.two-columns-box-div > div {
    width:48.5%;
    margin-right:3%;
}
.typography div.two-columns-box-div > div:nth-child(2n) {
    margin-right:0;
}
.typography div.three-columns-box-div > div:nth-child(3n) {
    margin-right:0;
}
.typography div.one-columns-box-div > div p,
.typography div.two-columns-box-div > div p,
.typography div.three-columns-box-div > div p {
    margin-bottom:24px;
}
.typography div.one-columns-box-div > div p:last-child,
.typography div.two-columns-box-div > div p:last-child,
.typography div.three-columns-box-div > div p:last-child {
    margin-bottom:0;
}

.typography div.two-columns-div,
.typography div.three-columns-div,
.typography div.four-columns-div {
    margin: 0 0 14px 0;
    font-size: 0;
}
.typography div.two-columns-div + div.two-columns-div,
.typography div.three-columns-div + div.three-columns-div,
.typography div.four-columns-div + div.four-columns-div {
    margin-top:-14px;
}
.typography div.two-columns-div > div,
.typography div.three-columns-div > div,
.typography div.four-columns-div > div {
    display: inline-block;
    vertical-align: top;
    margin-bottom: 30px;
    margin-right: 3.92%;
    width: 48.04%;
}
.typography div.three-columns-div > div {
    margin-right: 2.94%;
    width: 31.373%;
}
.typography div.four-columns-div > div {
    margin-right: 1.96%;
    width: 23.53%;
}
.typography div.two-columns-div > div:nth-child(2n),
.typography div.three-columns-div > div:nth-child(3n),
.typography div.four-columns-div > div:nth-child(4n) {
    margin-right:0;
}
.typography div.two-columns-div > div p,
.typography div.three-columns-div > div p,
.typography div.four-columns-div > div p {
    margin-bottom:18px;
}
.typography div.two-columns-div > div p:last-child,
.typography div.three-columns-div > div p:last-child,
.typography div.four-columns-div > div p:last-child {
    margin-bottom:0;
}

.typography div.one-columns-box-div > div img,
.typography div.two-columns-box-div > div img,
.typography div.three-columns-box-div > div img,
.typography div.two-columns-div > div img,
.typography div.three-columns-div > div img,
.typography div.four-columns-div > div img {
    width:100%;
    height:auto;
}

.typography div.img-text-layout {
    font-size: 0;
    margin-bottom: 37px;
}
.typography div.img-text-layout div.image,
.typography div.img-text-layout div.text {
    display: inline-block;
    vertical-align: top;
}
.typography div.img-text-layout div.image {
    width: 31.372%;
}
.typography div.img-text-layout div.image img {
    width: 100%;
    height: auto;
}
.typography div.img-text-layout div.text {
    width: 68.628%;
    padding: 0 0 0 30px;
}
.typography div.img-text-layout div.text p:last-child,
.typography div.img-text-layout div.image p:last-child {
    margin-bottom: 0;
}
.typography div.img-text-layout.text-to-left div.text {
    float:left;
    padding: 0 30px 0 0;
}
.typography div.img-text-layout.text-to-left div.image {
    float:right;
}
.typography div.img-text-layout.text-to-left div.image p {
    text-align:right;
}
.typography div.img-text-layout.text-to-left:after {
    clear: both;
    content: "";
    display: block;
}

.typography span.media {
    display:block;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    width:100%;
    margin:0 auto; 
}

.typography span.media iframe,
.typography span.media object,
.typography span.media embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.typography .embed-wrap {
    position: relative;
    width: 78.431%;
    margin:0 auto;
}
.typography.full .embed-wrap {
    width:100%;
}
.typography .one-columns-box-div .embed-wrap,
.typography .two-columns-box-div .embed-wrap,
.typography .three-columns-box-div .embed-wrap,
.typography .two-columns-div .embed-wrap,
.typography .three-columns-div .embed-wrap,
.typography .four-columns-div .embed-wrap {
    width:100%;
}
.typography .ss-htmleditorfield-file.embed {
    position: relative;
    margin-bottom:8px;
    width:100% !important;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.typography .ss-htmleditorfield-file.embed.withcaption {
    margin-bottom:5px;
}

.typography .ss-htmleditorfield-file.embed+p.caption {
    margin-bottom:30px;
}

.typography .ss-htmleditorfield-file.embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.typography a.btn,
.typography input.btn {
    display: inline-block;
    text-align: center!important;
    padding: 10px 16px;
    line-height: 1;
    background: #b4b4b4;
    color: #fff;
    border: 0;
    font-size: 16px;
    box-sizing: border-box;
    border-radius: 3px;
    -webkit-box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.3);
    box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.3);
    min-width: 90px;
    text-decoration:none;
    margin-bottom: 18px;
}
.typography a.btn:hover,
.typography input.btn:hover {
    background: #9e9e9e;
    color: #fff;
}
.typography a.btn.blue,
.typography input.btn.blue {
    background: #0d3862;
    color: #fff;
}
.typography a.btn.blue:hover,
.typography input.btn.blue:hover {
    background: #1b4978;
}
.typography a.btn.green,
.typography input.btn.green {
    background: #006a41;
    color: #fff;
}
.typography a.btn.green:hover,
.typography input.btn.green:hover {
    background: #037548;
}
.typography a.btn.darkgrey,
.typography input.btn.darkgrey {
    background: #555555;
    color: #fff;
}
.typography a.btn.darkgrey:hover,
.typography input.btn.darkgrey:hover {
    background: #6f6e6e;
}
.typography a.btn.red,
.typography input.btn.red {
    background: #8f1e1e;
    color: #fff;
}
.typography a.btn.red:hover,
.typography input.btn.red:hover {
    background: #a72323;
}
.typography a.btn.white,
.typography input.btn.white {
    background: #fff;
    color: #555555;
}
.typography a.btn.white:hover,
.typography input.btn.white:hover {
    background: #efefef;
}
.typography a.btn.lightgrey,
.typography input.btn.lightgrey,
.typography input.btn[disabled],
.typography input.btn[disabled]:hover {
    background: #a9a9a9;
    color: #555555;
}
.typography a.btn.lightgrey:hover,
.typography input.btn.lightgrey:hover {
    background: #c3c0c0;
}
.typography a.btn.whiteborder,
.typography input.btn.whiteborder {
    background: rgba(110, 110, 110, 0);
    border: 1px solid #fff;
    color: #fff;
}
.typography a.btn.whiteborder:hover,
.typography input.btn.whiteborder:hover {
    background: rgba(200, 200, 200, 0.5);
}
.typography a.btn.darkgreyborder,
.typography input.btn.darkgreyborder {
    background: rgba(239, 239, 239, 0);
    border: 1px solid #555;
    color: #555;
}
.typography a.btn.darkgreyborder:hover,
.typography input.btn.darkgreyborder:hover {
    background: rgba(239, 239, 239, 0.5);
}
.typography a.arrowbtn {
    display:inline-block;
}
.typography a.arrowbtn:after {
    content: " ▶";
    font-size: 11px;
}
.typography p.greybox-notes {
    background: #f2f2f2;
    padding: 20px;
    margin-bottom: 30px;
}

.typography > h1,
.typography > h2,
.typography > h3, 
.typography > h4, 
.typography > h5,
.typography > h6 {
    width: 78.431%;
    margin-left:auto;
    margin-right:auto;
}
.typography > h1.full,
.typography > h2.full,
.typography > h3.full, 
.typography > h4.full, 
.typography > h5.full, 
.typography > h6.full, 
.typography.full > h1,
.typography.full > h2,
.typography.full > h3, 
.typography.full > h4, 
.typography.full > h5,
.typography.full > h6{
    width:100%;
}
.typography h1 {
    font-size: 34px;
    font-weight: 600;
    margin-bottom: 10px;
    line-height: normal;
    text-align: center;
    font-family: Lora, "Songti SC", source-han-serif-sc, 宋体, Songti, SimSun, serif;
}
.typography h2 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 10px;
    line-height: normal;
}
.typography h3 {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
    line-height: normal;
    font-family: Lora, "Songti SC", source-han-serif-sc, 宋体, Songti, SimSun, serif;
}
.typography h4 {
    font-size: 18px;
    text-align: center;
    margin-bottom: 18px;
    line-height: normal;
}
.typography h5 {
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 10px;
    color: #303030;
}
.typography h2 a {
    color: #000;
}
.typography h2 a:hover {
    color: #487091;
}
.typography h5 a {
    color: #505050;
}
.typography h5 a:hover {
    color: #487091;
}

.typography a {
    text-decoration: none;
    outline: none!important;
    color: #487091;
}
.typography a:hover {
    color: #000;
}

.typography ul,
.typography ol {
    font-size:16px;
    padding: 0 0 0 18px;
    margin: 0 auto 33px auto;
}
.typography ol li,
.typography ul li {
    margin-bottom: 10px;
}
.typography > ul,
.typography > ol,
.typography .owl-item .item > ul,
.typography .owl-item .item > ol {
    width: 78.431%;
}
.typography.full > ul,
.typography.full > ol,
.typography.full .owl-item .item > ul,
.typography.full .owl-item .item > ol {
    width: 100%;
}

.typography table.preset-tbl {
    width: 100%;
    padding: 0;
    margin: 0 0 30px 0;
    border-collapse: collapse;
}
.typography table.preset-tbl tr td {
    padding: 20px 15px;
    background: #ededed;
    border: 3px solid #f8f8f8;
}
.typography table.preset-tbl tr td:first-child {
    background: #dfdcdc;
    width: 40%;
}

.typography table.responsive-tbl {
    min-width:100%;
    padding: 0;
    margin: 0;
    border-collapse: collapse;
}
.typography table.responsive-tbl tr {
    border-bottom: 1px solid;
}
.typography table.responsive-tbl th, 
.typography table.responsive-tbl thead td {
    background-color: #555;
    color: #fff;
    white-space: nowrap;
}
.typography table.responsive-tbl th,
.typography table.responsive-tbl td {
    text-align: left;
    padding: 0.5em 1em;
}

.typography .responsive-tbl-wrap {
    overflow: auto;
    max-width: 78.431%;
    margin: 0 auto 30px auto;
    background:
        linear-gradient(to right, white 30%, rgba(255,255,255,0)),
        linear-gradient(to right, rgba(255,255,255,0), white 70%) 0 100%,
        radial-gradient(farthest-side at 0% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)),
        radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
    background-position: 0 0, 100%, 0 0, 100%;
    background-attachment: local, local, scroll, scroll;
}
.typography.full .responsive-tbl-wrap {
    max-width:100%;
}

.typography ul.gallery-thumbnail {
    list-style: none;
    padding: 0;
    margin: 0 0 45px 0;
    font-size: 0;
    padding:0;
}
.typography ul.gallery-thumbnail li {
    margin-right: 0.686%;
    margin-bottom: 0.686%;
    width: 24.486%;
    display: inline-block;
    vertical-align: top;
}
.typography ul.gallery-thumbnail li:nth-child(4n) {
    margin-right: 0;
}
.typography ul.gallery-thumbnail li a {
    display: block;
    width: 100%;
    padding-bottom: 100%;
    -webkit-background-size: cover!important;
    -moz-background-size: cover!important;
    -o-background-size: cover!important;
    background-size: cover!important;
}

.typography .gallery-slider {
    width: 78.431%;
    margin:0 auto 30px auto;
}
.typography.full .gallery-slider {
    width:100%;
}
.typography .flexslider ul {
    margin:0;
    padding:0;
}
.typography .flexslider ul li img {
    width: 100%;
    height: auto;
    z-index: 1;
}

.typography ul.accordion-list {
    width: 78.431%;
    padding:0;
    margin: 0 auto 45px auto;
}
.typography.full ul.accordion-list {
    width:100%;
}

.typography ul.column-5 {
    padding:0;
    margin: 0 -0.704% 33px -0.704%;
    width: 101.408%;
    text-align:center;
}
/*
.typography ul.projects {
    width:100%;
    padding: 0;
    margin: 0 0 33px 0;
    text-align:center;
}
*/

.typography .news p {
    font-size: 15px;
    line-height: 25px;
}
.typography .news .ttl {
    margin-bottom:8px;
    text-align:left;
}

.typography .ttl a {
    color:#000;
}
.typography .ttl a:hover {
    color:#487091;
}

.typography .photo-caption {
    font-size: 13px;
    font-style: italic;
    color: #808080;
    display: block;
    line-height: 22px;
    padding: 4px 0;
}

.typography .desktop-content {
    display:block;
    margin-bottom:20px;
}
.typography .mobile-content {
    display: none;
    margin-bottom:20px;
}

.typography img {
    max-width:100%;
    height:auto;
}

.typography img.center {
    display:block;
    margin-left:auto;
    margin-right:auto;
}

.typography .text-center {
    text-align:center;
}
.typography .text-left {
    text-align:left;
}
.typography .text-right {
    text-align:right;
}
.typography .text-justify {
    text-align:justify;
}