/** ===========================================================================
 * typography styles for Company Theme
 * ============================================================================
 * 1 - general declarations
 * 2 - typefaces
 * 3 - type sizes
 * 4 - lists
 * 5 - error & debug
 */

/** ---------------------------------------------------------------------------
 * 1 - general declarations
 * ----------------------------------------------------------------------------
 */

abbr {
	border-bottom: 1px #dedede dotted;
	cursor: help;
	}

em { font-style: italic; }

h1, h2, h3, h4, h5, p, ul { margin: 0; }

h2, h3, h4, h5 { clear: both; }

li strong, strong { font-weight: var(--fw_paragraph_bold); }



/** ---------------------------------------------------------------------------
 * 2 - typefaces
 * ----------------------------------------------------------------------------
 * - Google fonts referenced in functions-header.php (4 - Add styles).
 * - styles set in theme.json
 */


h1 {
	color: var(--black_off);
	font-family: var(--font_heading_main);
	font-size: var(--fs_gigantic);
	font-weight: var(--fw_heading_main);
	letter-spacing: 0.1rem;
	line-height: var(--lh_gigantic);
	}

h2, h3, h4, h5 { color: var(--black_off); }

h2:not(.description h2) {
	font-family: var(--font_heading_main);
	letter-spacing: 0.07rem
	}

h2:not(.description h2):not(header h2), .block-home-serpentine h2 {
	font-weight: var(--fw_heading_subsidiary);
	line-height: var(--lh_large);
	}

header h2:not(.block-home-serpentine h2) {
	font-weight: var(--fw_heading_subsidiary);
	line-height: var(--lh_extralarge);
	}

h2:not(.cards *):not(header h2), h3#contact-form-heading {
	font-size: var(--fs_extra_large);
	}

header h2:not(.block-home-serpentine h2):not(.heading-oversized h2):not(.wp-block-company-blocks-block-download h2) { font-size: var(--fs_gigantic); }


h3, h4, h5 { font-family: var(--font_heading_main); }

h3:not(.heading-listing), h4, h5, .main dt { font-weight: var(--fw_heading_subsidiary); }

h3 not(h3.heading-listing) { font-weight: var(--fw_paragraph_regular) }

h3.heading-listing { font-weight: var(--fw_paragraph_regular) }

h3:not(.description h3):not(.contact-method-row h3):not(#section-contact h3):not(h3#contact-form-heading) {
	font-size: var(--fs_normal);
	line-height: var(--lh_normal);
	}

p:not(blockquote p):not(.panel-cw-4 p):not(.panel-cw-4 ul):not(.panel-cw-20 p):not(.panel-cw-20 ul):not(p.stat-figure):not(p.stat-caption):not(.price), figcaption, .main li, dl, dt, dd { font-family: var(--font_body); }

p, figcaption, .main li, dl, dt, dd { color: var(--black_off); }

p:not(blockquote p), figcaption, .main li, img, .main dd { font-weight: var(--fw_paragraph_regular); }


/** ---------------------------------------------------------------------------
 * 3 - sizes
 * ----------------------------------------------------------------------------
 * See font calculation notes
 */

h4:not(.description h4) {
	font-size: var(--fs_normal);
	line-height: var(--lh_normal);
	}

h5 { line-height: var(--lh_small); }

.main p.text-large, .main p.is-style-intro-block, .main ul.text-large {
	font-size: var(--fs_large);
	line-height: var(--lh_large);
	}

.main p.text-large:not(#panel-call p), .main p.is-style-intro-block {margin-bottom: var(--space_huge); }

p.text-medium, .main p:not(blockquote p):not(.stat-figure):not(p.is-style-intro-block):not(p.text-large):not(.cb_list-services p.card_subheading-pillar):not(p a.cta-follow-linkedin), .main ul:not(.main ul.cards li div.description h2), .main ol, .contact-form textarea, .contact-form input {
	font-size: var(--fs_normal);
	line-height: var(--lh_normal);
	}

p.text-medium, .main p:not(.description p):not(p.stat-figure):not(p.stat-caption):not(#panel-call p):not(div.project-meta li):not(#cb_section-hero-page p.subheading):not(blockquote p):not(p.anchor-to-bottom):not(.cb_list-services p.card_subheading-pillar):not(#article-header-content p.subheading):not(.contact-method-row p),
.main ul:not(.main ul ul):not(div.description ul):not(div.project-meta ul):not(#stand-alone-header p.subheading):not(header.decoration-under-subheading p.subheading):not(p#tag_line):not(.cb_parent-breakout-bare div ul),
 .main ol { margin-bottom: var(--space_large); }

.panel-home p:last-of-type, .panel-home ul:last-of-type { margin-bottom: 0; }

.main #section-about ul:last-child { margin-bottom: 0; }

label {
	font-size: var(--fs_normal);
	line-height: var(--lh_large);
	}

p.text-small {
	font-size: var(--fs_small);
	line-height: var(--lh_small);
	margin-bottom: var(--space_small);
	}

.main section p:last-child { margin-bottom: 0; }


/** ---------------------------------------------------------------------------
 * 4 - lists
 * ----------------------------------------------------------------------------
 */

	.main ul:not(ul.list-decorated):not(ul.is-style-list-tick-on-light):not(ul.is-style-list-rocket-on-light):not(ul.is-style-list-tick-on-light ul):not(ul.cards) {
		margin-left: 0.5rem;
		padding-left: 0.5rem;
		}
	
	.flex-row-copy ul:not(.list-decorated) {
		margin-left: var(--space_small);
		padding-left: 0;
		}

		.flex-row-copy li:not(.list-decorated li)  { margin-left: var(--space_miniscule); }

	.main ol {
		margin-left: 0.5rem;
		padding-left: 0.5rem;
		}

	ul.list-decorated, ul.is-style-list-tick-on-light, ul.is-style-list-rocket-on-light { padding-left: 0; }

	ul.is-style-list-tick-on-light ul {
		margin-left: 0;
		padding-left: 0;
		}

	.list-decorated li, .is-style-list-rocket-on-light li, .is-style-list-tick-on-light li {
		list-style: none;
		margin-left: 0;
		}
	
	.list-decoration-tick-on-light li, .is-style-list-tick-on-light li {
		background: url("../images/list-decoration-tick-on-light.png") no-repeat 0.4rem 0.15rem;
		background-size: 1rem;
		padding-left: 1.8rem;
		}

		.is-style-list-tick-on-light li ul li {
			background: url("../images/list-decoration-tick-child-on-dark.png") no-repeat 0.2rem 0.5rem;
			background-size: 0.8rem;
			padding-left: 1.4rem;
			}
	
	.list-decoration-tick-on-dark li {
		background: url("../images/list-decoration-tick-on-dark.png") no-repeat 0.2rem 0.5rem;
		background-size: 1.1rem;
		padding-left: 1.8rem;
		}
	
	.list-decoration-rocket-on-dark li {
		background: url("../images/list-decoration-rocket-on-dark.png") no-repeat 0.5rem 0.3rem;
		background-size: 1.1rem;
		padding-left: 1.8rem;
		}

	.list-decoration-rocket-on-light li, .is-style-list-rocket-on-light li {
		background: url("../images/list-decoration-rocket-on-light.png") no-repeat 0.3rem 0.3rem;
		background-size: 1.1rem;
		padding-left: 1.7rem;
		}


	/** definiton lists used only on draft of case studies
	 * can be deleted if feature is not implemented
	 */


	/*.main dl {}*/

	.main dt, .main dd {
		/* display: inline-block; */
		margin-right: var(--space_miniscule);
		}
	
	.main dt:not(:first-of-type) { margin-top: var(--space_miniscule); }

	/* .main dt::after { content: ':'; } */

	.main dd { margin-left: 0 !important }

/** ---------------------------------------------------------------------------
 * 5 - error & debug
 * ----------------------------------------------------------------------------
 */

p.error {
	background-color: pink;
	color: darkred;
	font-family: var(--font_body);
	font-size: var(--fs_normal);
	font-weight: var(--fw_light);
	padding: var(--space_small)
	}