.typography hr {
    display: block;
    width: 100%;
    height: 1px;
    border: 0;
    margin: 1em 0 40px 0;
    padding: 0;
    background: #d8d8d8;
}

.typography hr.short {
    height: 1px;
    border: 0;
    background: #888888;
    max-width: 237px;
    margin-bottom: 17px;
}

.typography ul,
.typography ol {
    margin: 1em 0;
    padding-left: 40px;
}

.typography p,
.typography blockquote {
    margin-bottom:30px;
}

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

.typography a {
    border-bottom:0;
    text-decoration:underline;
    text-decoration-color:#ccc;
    /* text-underline-position: under; */
    color:#000;
}

.typography a:hover {
    text-decoration-color:#666;
}

.typography blockquote {
    background: url(../img/quote.png) no-repeat 43px top;
    background-size: 26px 17px;
    padding: 0 80px;
    color: #25285b;
    box-sizing:border-box;
}

.typography .ss-htmleditorfield-file.embed {
    position: relative;
    margin-bottom:30px;
    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 > p,
.typography > h1,
.typography > h2,
.typography > h3,
.typography > h4,
.typography > h5,
.typography > h6,
.typography > blockquote,
.typography > ul,
.typography > ol,
.typography > .ss-htmleditorfield-file.embed {
   /* max-width: 800px;*/
    margin-left:auto;
    margin-right:auto;
}
.typography > h1{margin-bottom: 55px;}
.typography table {
    width: 100%;
    padding: 0; 
    margin: 0 0 32px 0;
    border-collapse: collapse;
    border: 0;
    /* table-layout:fixed; */
}

.typography table th,
.typography table td {
    padding:4px 8px;
    word-wrap: break-word;
    border:1px solid #b7b7b7;
}

.typography table h1:last-child,
.typography table h2:last-child,
.typography table h3:last-child,
.typography table h4:last-child,
.typography table h5:last-child,
.typography table h6:last-child,
.typography table p:last-child,
.typography .two-columns > div > p:last-child,
.typography .three-columns > div > p:last-child,
.typography .four-columns > div > p:last-child,
.typography .five-columns > div > p:last-child,
.typography .six-columns > div > p:last-child,
.typography .one-column-box > p:last-child,
.typography .two-columns-box > div > p:last-child,
.typography .three-columns-box > div > p:last-child {
    margin-bottom:0;
}

.typography .two-columns,
.typography .three-columns,
.typography .four-columns,
.typography .five-columns,
.typography .six-columns,
.typography .two-columns-box,
.typography .three-columns-box {
    display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-auto-rows: 1fr;
    grid-column-gap: 40px;
    grid-row-gap: 30px;
    margin:0 0 45px 0;
}
.typography .one-column-box {
    margin:0 auto 32px auto;
    max-width:800px;
}
.typography .three-columns,
.typography .three-columns-box {
    grid-template-columns: repeat(3, 1fr);
}
.typography .four-columns{
    grid-template-columns: repeat(4, 1fr);
}
.typography .five-columns{
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    justify-content: center;
}
.typography .six-columns{
    grid-template-columns: repeat(6, 1fr);
    align-items: center;
    justify-content: center;
}
.typography .two-columns > div,
.typography .three-columns > div,
.typography .four-columns > div,
.typography .five-columns > div,
.typography .six-columns > div,
.typography .two-columns-box > div,
.typography .three-columns-box > div {
    vertical-align: top;
    min-width:0;
    min-height:0;
}
.typography .two-columns > div p,
.typography .three-columns > div p,
.typography .four-columns > div p,
.typography .five-columns > div p,
.typography .six-columns > div p,
.typography .one-column-box > div p,
.typography .two-columns-box > div p,
.typography .three-columns-box > div p {
    margin-bottom:27px;
}
.typography .two-columns > div p img,
.typography .three-columns > div p img,
.typography .four-columns > div p img,
.typography .five-columns > div p img,
.typography .six-columns > div p img,
.typography .one-column-box > div p img,
.typography .two-columns-box > div p img,
.typography .three-columns-box > div p img {
    width: 100%;
    max-width:100%;
    height: auto;
}
.typography .one-column-box,
.typography .two-columns-box > div,
.typography .three-columns-box > div {
    padding: 28px 30px;
    background:#e5e5e5;
}

/* img text */
.typography .img_text_layout,
.typography .text_img_layout {
    font-size: 0;
    margin-bottom: 25px;
}
.typography .img_text_layout > div,
.typography .text_img_layout > div {
    display:inline-block;
    vertical-align:top;
    font-size:18px;
    width:31%;
    margin-bottom:25px;
}
.typography .img_text_layout > div:nth-child(2) {
    width:69%;
    padding:0 0 0 26px;
}
.typography .text_img_layout > div:first-child {
    float:right;
}
.typography .text_img_layout > div:nth-child(2) {
    width:69%;
    padding:0 26px 0 0;
}
.typography .img_text_layout > div p,
.typography .text_img_layout > div p {
    margin-bottom:23px;
}
.typography .img_text_layout > div p:last-child,
.typography .text_img_layout > div p:last-child {
    margin-bottom:0;
}
.typography .img_text_layout > div p img,
.typography .text_img_layout > div p img {
    width: 100%;
    max-width:100%;
    height: auto;
}
.typography .text_img_layout::after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0;
}

/* overrides */
.typography .two-columns > div,
.typography .three-columns > div {
    width:auto;
    display:block;
    margin-bottom: 0;
    padding: 0;
}
.typography .two-columns-box > div,
.typography .three-columns-box > div {
    width:auto;
    display:block;
    margin: 0;
}
.typography .img_text_layout {
    padding-bottom:0;
}

/* captions */
.typography .captionImage {
    max-width:100%;
    margin-bottom:30px;
    width:auto !important;
}
.typography .captionImage img {
    margin-bottom:5px;
    max-width:100%;
    height:auto;
}
.typography .captionImage.center,
.typography .caption.center {
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}
.typography .caption {
    font-size:13px;
    line-height:1.2;
    color: #000;
    margin-bottom:0;
}
.typography img.center {
    display:block;
    margin-left:auto;
    margin-right:auto;
}
.typography .two-columns > div .captionImage,
.typography .three-columns > div .captionImage,
.typography .one-column-box > div .captionImage,
.typography .two-columns-box > div .captionImage,
.typography .three-columns-box > div .captionImage {
    margin-bottom:16px;
}
.typography .two-columns > div .captionImage:last-child,
.typography .three-columns > div .captionImage:last-child,
.typography .one-column-box > div .captionImage:last-child,
.typography .two-columns-box > div .captionImage:last-child,
.typography .three-columns-box > div .captionImage:last-child {
    margin-bottom:0;
}
.typography .two-columns>div p.caption,
.typography .three-columns>div p.caption,
.typography .one-column-box>div p.caption,
.typography .two-columns-box>div p.caption,
.typography .three-columns-box>div p.caption {
    margin-bottom:0;
}

.typography .smaller {
    font-size:13px;
}

@media all and (max-width:800px) {
    .typography .four-columns {
        grid-template-columns: repeat(3, 1fr);
        grid-column-gap: 30px;
    }
    .typography .five-columns {
        grid-template-columns: repeat(4, 1fr);
    }
    .typography .six-columns {
        grid-template-columns: repeat(5, 1fr);
    }
    .typography .two-columns,.typography .three-columns{grid-column-gap: 30px;}
}
@media all and (max-width:700px) {
    .typography .three-columns > div {
        width:auto;
    }
    .typography .three-columns,.typography .four-columns {
        grid-template-columns: repeat(2, 1fr);
       
    }
    .typography .five-columns {
        grid-template-columns: repeat(3, 1fr);
        grid-column-gap: 25px;
    }
    .typography .six-columns {
        grid-template-columns: repeat(4, 1fr);
    }
    .typography .two-columns {
        grid-template-columns: repeat(2, 1fr);
        
    }
}
@media all and (max-width:600px) {
    .typography .img_text_layout > div,
    .typography .img_text_layout > div:nth-child(2),
    .typography .text_img_layout > div:first-child,
    .typography .text_img_layout > div:nth-child(2) {
        width:100%;
        padding:0;
        float:none;
    }
    .typography .five-columns {
        grid-template-columns: repeat(2, 1fr);
    }
    .typography .six-columns {
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 25px;
    }
}
@media all and (max-width:500px) {
    .typography .two-columns,
    .typography .three-columns,
    .typography .four-columns,
    .typography .two-columns-box,
    .typography .three-columns-box {
        grid-template-columns: repeat(1, 1fr);
        grid-auto-rows: auto;
        grid-row-gap: 30px;
    }
    .typography blockquote {
        padding: 0 0 0 40px;
        background-position:0px top;
    }
}