/*
 Custom CSS for: icdportal.com
 Author:       Tim Taricco
 Author URI:   http://www.timtaricco.com
 Version:     10.01.25
*/

/*** Table of contents
––––––––––––––––––––––––––––––––––––––––––––––––––
1  - Website Variables
2  - General
3  - GenerateBlocks
4  - Utility Classes
5  - Custom Text Format Plugin Custom CSS (Icons loaded to /uploads/gctf/ directory)
6  - Gravity Forms Custom CSS
***/


/*** 1 - Website Variables
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

:root {
	/* Text Styling */
	--text-base: 18px;
	--line-height-base: 1.625;
	--margin-bottom-p: 20px;

	--text-xs: 14px;
	--line-height-xs: 1.45;
	--margin-bottom-xs: 20px;

	--text-sm: 16px;
	--line-height-sm: 1.5;
	--margin-bottom-sm: 20px;

	--text-p: 18px;
	--line-height-p: 1.625;
	--margin-bottom-p: 20px;

	--text-md: 20px;
	--line-height-md: 1.5;
	--margin-bottom-md: 20px;

	--text-lg: 24px;
	--line-height-lg: 1.4;
	--margin-bottom-lg: 20px;

	--text-xl: 26px;
	--line-height-xl: 1.3;
	--margin-bottom-xl: 20px;

	--text-h1: 39px;
	--line-height-h1: 1.154;
	--margin-bottom-h1: 20px;

	--text-h2: 33px;
	--line-height-h2: 1.091;
	--margin-bottom-h2: 20px;

	--text-h3: 27px;
	--line-height-h3: 1;
	--margin-bottom-h3: 20px;

	--text-h4: 24px;
	--line-height-h4: 1.125;
	--margin-bottom-h4: 20px;

	--text-h5: 20px;
	--line-height-h5: 1.2;
	--margin-bottom-h5: 20px;

	--text-h6: 18px;
	--line-height-h6: 1.5;
	--margin-bottom-h6: 20px;

	/* Padding Styling */
	--padding-xs: clamp(0.938rem, 0.8408rem + 0.4092vw, 1.25rem); /* 20/15px */
	--padding-sm: clamp(1.25rem, 0.8607rem + 1.6393vw, 2.5rem); /* 40/20px */
	--padding-md: clamp(2.5rem, 1.7213rem + 3.2787vw, 5rem); /* 80/40px */
	--padding-lg: clamp(3.75rem, 2.9713rem + 3.2787vw, 6.25rem); /* 100/60px */
	--padding-xl: clamp(3.75rem, 2.5820rem + 4.9180vw, 7.5rem); /* 120/80px */

	/* Margin Styling */
	--margin-xs: clamp(0.938rem, 0.8408rem + 0.4092vw, 1.25rem); /* 20/15px */
	--margin-sm: clamp(1.25rem, 0.8607rem + 1.6393vw, 2.5rem); /* 40/20px */
	--margin-md: clamp(2.5rem, 1.7213rem + 3.2787vw, 5rem); /* 80/40px */
	--margin-lg: clamp(3.75rem, 2.9713rem + 3.2787vw, 6.25rem); /* 100/60px */
	--margin-xl: clamp(3.75rem, 2.5820rem + 4.9180vw, 7.5rem); /* 120/80px */
	--margin-before-list: 0.25em;
	--margin-thin: 0.25em;

	/* Container Gap Styling */
	--gap-sm: clamp(1.25rem, 0.8607rem + 1.6393vw, 2.5rem); /* 40/20px */
	--gap-md: clamp(2.5rem, 1.7213rem + 3.2787vw, 5rem); /* 80/40px */
	--gap-lg: clamp(3.75rem, 2.5820rem + 4.9180vw, 7.5rem); /* 120/60px */

	/* Border Styling */
	--border-radius-default: 7px;
	--border-radius-sm: 5px;
	--border-radius-pill: 25px;
	--border-radius-round: 50%;
}

/* Mobile overrides */
@media (max-width: 767px) {
	:root {
		--text-base: 16px;
		--line-height-base: 1.6;

		--text-xs: 12px;
		--line-height-xs: 1.5;

		--text-sm: 14px;
		--line-height-sm: 1.5;

		--text-p: 16px;
		--line-height-p: 1.6;

		--text-md: 18px;
		--line-height-md: 1.5;

		--text-lg: 20px;
		--line-height-lg: 1.45;

		--text-xl: 24px;
		--line-height-xl: 1.35;

		--text-h1: 24px; --line-height-h1: 1.125;
		--text-h2: 20px; --line-height-h2: 1.2;
		--text-h3: 18px; --line-height-h3: 1.333;
		--text-h4: 16px; --line-height-h4: 1.125;
	}
}


/*** 2 - General
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

/* Base styles for unordered lists */
#genesis-content ul.wp-block-list,
#genesis-content .acf-wysiwyg-editor-styling ul {
  margin: 0 0 var(--margin-bottom-p) 0;
  padding-left: 0;
  list-style: none;
}
#genesis-content ul.wp-block-list li,
#genesis-content .acf-wysiwyg-editor-styling ul li {
  position: relative;
  padding-left: 25px;
}
#genesis-content ul.wp-block-list li::before,
#genesis-content .acf-wysiwyg-editor-styling ul li::before {
  content: "\25A0";
  color: #0076A8;
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-2px);
}

/* Nested unordered lists */
#genesis-content ul.wp-block-list li ul,
#genesis-content .acf-wysiwyg-editor-styling ul li ul {
  margin: 0;
  padding-left: 10px;
  list-style: none;
}
#genesis-content ul.wp-block-list li ul li,
#genesis-content .acf-wysiwyg-editor-styling ul li ul li {
  position: relative;
  padding-left: 25px;
}
#genesis-content ul.wp-block-list li ul li::before,
#genesis-content .acf-wysiwyg-editor-styling ul li ul li::before {
  content: "\25A0";
  color: #0076A8;
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-2px);
}

/* Style for top-level ordered lists */
#genesis-content ol.wp-block-list,
#genesis-content .acf-wysiwyg-editor-styling ol {
  margin: 0 0 var(--margin-bottom-p) 0;
  padding-left: 25px;
  list-style: decimal;
}

/* Add padding or margin to all <li> elements inside ordered lists */
#genesis-content ol.wp-block-list li,
#genesis-content .acf-wysiwyg-editor-styling ol li {
  padding-left: 5px;
}

/* Style for the markers (numbers and letters) */
#genesis-content ol.wp-block-list li::marker,
#genesis-content .acf-wysiwyg-editor-styling ol li::marker {
  color: #0076A8;
  font-weight: bold;
}

/* Nested ordered lists */
#genesis-content ol.wp-block-list ol,
#genesis-content .acf-wysiwyg-editor-styling ol ol {
  margin-bottom: 0;
  padding-left: 20px;
  list-style: lower-alpha;
}

/* Style for markers in nested lists */
#genesis-content ol.wp-block-list ol li::marker,
#genesis-content .acf-wysiwyg-editor-styling ol ol li::marker {
  color: #0076A8;
  font-weight: bold;
}

/* Unordered lists inside ordered lists */
#genesis-content ol.wp-block-list li ul,
#genesis-content .acf-wysiwyg-editor-styling ol li ul {
  margin: 0;
  padding-left: 10px;
  list-style: none;
}
#genesis-content ol.wp-block-list li ul li,
#genesis-content .acf-wysiwyg-editor-styling ol li ul li {
  position: relative;
  padding-left: 25px;
}
#genesis-content ol.wp-block-list li ul li::before,
#genesis-content .acf-wysiwyg-editor-styling ol li ul li::before {
  content: "\25A0";
  color: #0076A8;
  font-size: 17px;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-2px);
}


/* 1) Reset UL/OL in your content areas */
#genesis-content .entry-content ul,
#genesis-content .entry-content ol,
#genesis-content .acf-wysiwyg-editor-styling ul,
#genesis-content .acf-wysiwyg-editor-styling ol {
  list-style: none;
  margin: 0 0 var(--margin-bottom-p);
  padding-left: 0;
}

/* 2) Remove default markers */
#genesis-content .entry-content li::marker,
#genesis-content .acf-wysiwyg-editor-styling li::marker {
  content: "";
}

/* 3) Remove custom bullets some themes add */
#genesis-content .entry-content li::before,
#genesis-content .acf-wysiwyg-editor-styling li::before {
  content: none;
  background: none;
  border: 0;
}

/* 4) Make sure no left indent remains */
#genesis-content .entry-content li,
#genesis-content .acf-wysiwyg-editor-styling li {
  margin-left: 0;
  padding-left: 0;
}

/* WordPress Blockquote Block Custom CSS */
#genesis-content .blockquote {
	border: none;
	font-size: var(--text-lg);
	line-height: var(--line-height-lg);
	margin-bottom: var(--margin-bottom-lg);
}
#genesis-content .blockquote::before {
	content: "\201C";
	display: block;
	font-size: 100px;
	color: var(--wp--preset--color--tradeweb-medium-blue, #0076A8);
	top: -60px;
	left: -48px;
	position: relative;
	height: 0;
}
#genesis-content .blockquote p {
	margin-bottom: var(--margin-bottom-p);
}
@media (max-width: 1024px) {
	#genesis-content .blockquote::before {
		left: -28px;
		top: -50px;
		font-size: 80px;
	}
}
@media (max-width: 767px) {
	#genesis-content .blockquote::before {
		left: -18px;
		top: -40px;
		font-size: 60px;
	}
}


/*** 3 - GenerateBlocks
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

/* Headline styling for Headline/Text block */
h1.gb-text {
	margin-top: 0;
	margin-bottom: var(--margin-bottom-h1);
	font-size: var(--text-h1);
	line-height: var(--line-height-h1);
	text-wrap: balance;
}
h2.gb-text {
	margin-top: 0;
	margin-bottom: var(--margin-bottom-h2);
	font-size: var(--text-h2);
	line-height: var(--line-height-h2);
	text-wrap: balance;
}
h3.gb-text {
	margin-top: 0;
	margin-bottom: var(--margin-bottom-h3);
	font-size: var(--text-h3);
	line-height: var(--line-height-h3);
	text-wrap: balance;
}
h4.gb-text {
	margin-top: 0;
	margin-bottom: var(--margin-bottom-h4);
	font-size: var(--text-h4);
	line-height: var(--line-height-h4);
	text-wrap: balance;
}
h5.gb-text {
	margin-top: 0;
	margin-bottom: var(--margin-bottom-h5);
	font-size: var(--text-h5);
	line-height: var(--line-height-h5);
	text-wrap: balance;
}
h6.gb-text {
	margin-top: 0;
	margin-bottom: var(--margin-bottom-h6);
	font-size: var(--text-h6);
	line-height: var(--line-height-h6);
	text-wrap: balance;
}
:is(h1,h2,h3,h4,h5,h6).text_p {
  font-size: var(--text-p);
}
:is(h2,h3,h4,h5,h6).text_h1 {
  font-size: var(--text-h1);
}
:is(h1,h3,h4,h5,h6).text_h2 {
  font-size: var(--text-h2);
}
:is(h1,h2,h4,h5,h6).text_h3 {
  font-size: var(--text-h3);
}
:is(h1,h2,h3,h5,h6).text_h4 {
  font-size: var(--text-h4);
}
:is(h1,h2,h3,h4,h6).text_h5 {
  font-size: var(--text-h5);
}
:is(h1,h2,h3,h4,h5).text_h6 {
  font-size: var(--text-h6);
}
p {
	margin-bottom: var(--margin-bottom-p);
}
#genesis-content p:last-child:last-of-type {
	margin-bottom: 0;
} /* Remove bottom margin from last paragraph in a container */

/* Custom CSS for GenerateBlocks Global Styles */
/* GRID */
.custom_logo-grid {
	display: grid;
	gap: 0;
}

/* TILES (size + seams only) */
.custom_logo {
	position: relative;
	background: #fff;
	aspect-ratio: 5 / 3;
	overflow: hidden;
}

/* top + left seams drawn on the tile (always on top) */
.custom_logo::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background:
		linear-gradient(#0076A8, #0076A8) 0 0 / 100% 1px no-repeat, /* top */
		linear-gradient(#0076A8, #0076A8) 0 0 / 1px 100% no-repeat; /* left */
}

/* INNER (padding + centering here → Safari-safe) */
.custom_logo-inner {
	position: absolute;
	inset: 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(5px, 3vw, 10px);
	background: #fff;
	z-index: 1;
}

/* LOGOS */
.custom_logo-inner img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
}

/* ===== 2 COLUMNS (<= 599px) ===== */
@media (max-width: 599.98px) {
	.custom_logo-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	/* first row (1–2): no top line */
	.custom_logo:nth-child(-n+2)::after {
		background: linear-gradient(#0076A8, #0076A8) 0 0 / 1px 100% no-repeat;
	}
	/* first column (1,3,5...): no left line */
	.custom_logo:nth-child(2n+1)::after {
		background: linear-gradient(#0076A8, #0076A8) 0 0 / 100% 1px no-repeat;
	}
	/* very first tile: no lines */
	.custom_logo:first-child::after { background: none; }
}

/* ===== 3 COLUMNS (600–799px) ===== */
@media (min-width: 600px) and (max-width: 799.98px) {
	.custom_logo-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.custom_logo:nth-child(-n+3)::after {
		background: linear-gradient(#0076A8, #0076A8) 0 0 / 1px 100% no-repeat;
	}
	.custom_logo:nth-child(3n+1)::after {
		background: linear-gradient(#0076A8, #0076A8) 0 0 / 100% 1px no-repeat;
	}
	.custom_logo:first-child::after { background: none; }
}

/* ===== 4 COLUMNS (800–1023px) ===== */
@media (min-width: 800px) and (max-width: 1023.98px) {
	.custom_logo-grid {
		grid-template-columns: repeat(4, 1fr);
	}
	.custom_logo:nth-child(-n+4)::after {
		background: linear-gradient(#0076A8, #0076A8) 0 0 / 1px 100% no-repeat;
	}
	.custom_logo:nth-child(4n+1)::after {
		background: linear-gradient(#0076A8, #0076A8) 0 0 / 100% 1px no-repeat;
	}
	.custom_logo:first-child::after { background: none; }
}

/* ===== 5 COLUMNS (>= 1024px) ===== */
@media (min-width: 1024px) {
	.custom_logo-grid {
		grid-template-columns: repeat(5, 1fr);
	}
	.custom_logo:nth-child(-n+5)::after {
		background: linear-gradient(#0076A8, #0076A8) 0 0 / 1px 100% no-repeat;
	}
	.custom_logo:nth-child(5n+1)::after {
		background: linear-gradient(#0076A8, #0076A8) 0 0 / 100% 1px no-repeat;
	}
	.custom_logo:first-child::after { background: none; }
}


/*** 4 - Utility Classes
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/

/* Hide Elements */
@media (max-width: 767px) {
	.hide-on-mobile {
		display: none !important;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.hide-on-tablet {
		display: none !important;
	}
}
@media (min-width: 992px) {
	.hide-on-desktop {
		display: none !important;
	}
}

/* Responsive iFrame CSS */
[style*="--aspect-ratio"] > :first-child {
	width: 100%;
}
[style*="--aspect-ratio"] > img {  
	height: auto;
} 
@supports (--custom:property) {
	[style*="--aspect-ratio"] {
		position: relative;
	}
	[style*="--aspect-ratio"]::before {
    	content: "";
    	display: block;
    	padding-bottom: calc(100% / (var(--aspect-ratio)));
	}  
	[style*="--aspect-ratio"] > :first-child {
    	position: absolute;
    	top: 0;
    	left: 0;
    	height: 100%;
	}  
}


/*** 5 - Custom Text Format Plugin Custom CSS (Icons loaded to /uploads/gctf/ directory)
–––––––––––––––––––––––––––––––––––––––––––––––––– ***/
.uppercase-text {
	text-transform: uppercase;
}
.font-weight-400 {
	font-weight: 400;
}
.font-weight-400-light-blue {
	font-weight: 400;
	color: #00B6DE;
}
