/* text blocks */
body {
    font-size: 16px;
    line-height: 1.6;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
	clear: both;
    margin: 0;
    font-weight: 700;
    text-box: trim-both cap alphabetic;
    text-wrap: balance;
    margin-bottom: 15px;
}

h1, .h1 {
	font-size: 36px;
	line-height: 1;
    margin-bottom: 25px;
}

h2, .h2 {
	font-size: 28px;
    line-height: 1;
}

h3, .h3 {
	font-size: 22px;
    line-height: 1.1;
}

h4, .h4 {
	font-size: 18px;
    line-height: 1.2;
}

h5, .h5 {
	font-size: 16px;
    line-height: 1.4;
}

h6, .h6 {
	font-size: 16px;
    line-height: 1.5;
}

.more-comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
    margin-bottom: 35px;
}

.comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
    margin-bottom: 25px;
}

.default:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
    margin-bottom: 15px;
}

.compact:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
    margin-bottom: 5px;
}

p {
    margin-top: 0;
	margin-bottom: 15px;
    text-wrap: pretty;
}

p.lead {
    font-size: 18px;
    line-height: 1.5;
    text-wrap: balance;
}

h1:not(.margin-bottom):last-child,
h2:not(.margin-bottom):last-child,
h3:not(.margin-bottom):last-child,
h4:not(.margin-bottom):last-child,
h5:not(.margin-bottom):last-child,
h6:not(.margin-bottom):last-child,
.h1:not(.margin-bottom):last-child,
.h2:not(.margin-bottom):last-child,
.h3:not(.margin-bottom):last-child,
.h4:not(.margin-bottom):last-child,
.h5:not(.margin-bottom):last-child,
.h6:not(.margin-bottom):last-child,
p:not(.margin-bottom):last-child {
	margin-bottom: 0;
}


/* horizontal rules */
hr {
    display: inline-block;
    border: 0 none;
	border-top: 1px solid var(--exp-grey);
    height: 1px;
	width: 100%;
    margin: 23px auto;
}

h1 + hr,
h2 + hr,
h3 + hr,
h4 + hr,
.h1 + hr,
.h2 + hr,
.h3 + hr,
.h4 + hr {
    margin-top: 20px;
}

.lead + hr {
    margin-top: 15px;
}

hr.short {
    width: 100px;
}


/* alignment */
.text-center {
	text-align: center;
}

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}



@media screen and (min-width: 576px) {
    h1, .h1 {    font-size: 44px;    }
    h2, .h2 {    font-size: 34px;    }
    h3, .h3 {    font-size: 26px;    }
    h4, .h4 {    font-size: 20px;    }
    h5, .h5 {    font-size: 17px;    }

    .sm\:more-comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 35px;
    }
    
    .sm\:comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 25px;
    }
    
    .sm\:default:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 15px;
    }
    
    .sm\:compact:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 5px;
    }
}

@media screen and (min-width: 768px) {
    h1, .h1 {    font-size: 52px;    }
    h2, .h2 {    font-size: 40px;    }
    h3, .h3 {    font-size: 30px;    }
    h4, .h4 {    font-size: 22px;    }
    h5, .h5 {    font-size: 18px;    }
    .md\:more-comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 35px;
    }
    
    .md\:comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 25px;
    }
    
    .md\:default:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 15px;
    }
    
    .md\:compact:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 5px;
    }
}

@media screen and (min-width: 1024px) {
    h1, .h1 {    font-size: 60px;    }
    h2, .h2 {    font-size: 46px;    }
    h3, .h3 {    font-size: 34px;    }
    h4, .h4 {    font-size: 26px;    }
    h5, .h5 {    font-size: 19px;    }
    h6, .h6 {    font-size: 18px;    }
    p.lead {
        font-size: 20px;
        line-height: 1.5;
    }
    body {
        font-size: 17px;
        line-height: 1.5;
    }
    .lg\:more-comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 35px;
    }
    
    .lg\:comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 25px;
    }
    
    .lg\:default:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 15px;
    }
    
    .lg\:compact:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 5px;
    }
}

@media screen and (min-width: 1280px) {
    h1, .h1 {    font-size: 68px;    }
    h2, .h2 {    font-size: 52px;    }
    h3, .h3 {    font-size: 38px;    }
    h4, .h4 {    font-size: 28px;    }
    h5, .h5 {    font-size: 20px;    }
    .xl\:more-comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 35px;
    }
    
    .xl\:comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 25px;
    }
    
    .xl\:default:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 15px;
    }
    
    .xl\:compact:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 5px;
    }
}

@media screen and (min-width: 1540px) {
    /* h1, .h1 {    font-size: 76px;    }
    h2, .h2 {    font-size: 58px;    }
    h3, .h3 {    font-size: 42px;    }
    h4, .h4 {    font-size: 30px;    }
    h5, .h5 {    font-size: 21px;    } */
    .xxl\:more-comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 35px;
    }
    
    .xxl\:comfortable:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 25px;
    }
    
    .xxl\:default:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 15px;
    }
    
    .xxl\:compact:is(h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p) {
        margin-bottom: 5px;
    }
}