/*--- Focus states ---*/

.g-full:not(.downloading):focus:after, .g-ol:focus:after, .w-ol:focus:after {
    opacity: 1;
    width: 12px;
    margin-left: 12px;
	
}

a.more-link:focus, a.related-block-link:focus {
    color: #89C925 !important;
}

a.more-link:focus:after, a.related-block-link:focus:after {
	margin-left: 0.9375rem;	
}

/*--- Fix for white outline button ---*/
.w-ol {
    color: var(--white) !important;
    background-color: transparent !important;
    border: 1.5px solid var(--white) !important;
}

/*--- Basic margin control on containers ---*/

#postcontent div.wcaption, #postcontent div.wobottommargin, #postcontent div.inline-graphic.wobottommargin /* to remove bottom margin */ {margin-bottom: 0px !important;}
#postcontent div.wotopmargin, #postcontent div.inline-graphic.wotopmargin /* to remove top margin */ {margin-top: 0px !important;}
#postcontent div.womargins, #postcontent div.inline-graphic.womargins /* to remove top and bottom margins */ {margin-top: 0px !important; margin-bottom: 0px !important;} 
#postcontent div.wbottommargin /* to add bottom margin */ {margin-bottom: 80px !important;}
#postcontent div.wtopmargin, #postcontent h2.wtopmargin, #postcontent h3.wtopmargin /* to add top margin */ {margin-top: 80px !important;}
#postcontent div.wmargins /* to add top and bottom margins */ {margin-top: 80px !important; margin-bottom: 80px !important;} 

/* fix for sub and sup alignment */

#postcontent sub, #postcontent sup { vertical-align: baseline; position: relative; top: -0.4em;}
#postcontent sub { top: 0.4em;}

/*--- Start Careers - temp styles for Careers pages ---*/

#postcontent h3.CTA, 
#postcontent h2.CTA {
	color: #373a36;
    font-family: Open Sans;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    margin-top: 50px;
    text-align: center;
	width: 100%;
    max-width: 580px;
    margin: 50px auto 0 auto;
}

._TextEditorWithImageGalleryBlock_Wrapper_121fd_55 .buttongroupWrapper {
    margin: -60px 0 0 !important;
}

/*--- Start Expertise - temp styles for Market and Expertise pages - get this into dev ---*/

a.more-link, a.related-block-link {
    text-transform: uppercase;
    width: auto;
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    font-size: 13px;
	letter-spacing: .0125rem;
    line-height: 18px !important;
    text-decoration: none !important;
    position: relative;
    transition: 400ms ease-in ease-out !important;
    color: var(--brand-grey) !important;
    background: none !important;
    border: 0;
    margin: 0 !important;
    padding: 0;
    min-width: auto;
    display: inline-block;
}

a.more-link:after, a.related-block-link:after {
    content: "\203A";
    display: inline;
    color: #89C925;
    font-size: 22px;
    line-height: 13px;
    margin-left: 8px;
    position: absolute;
    top: 0;
    transition: 400ms;
}

a.more-link:hover, a.related-block-link:hover {
    color: #89C925 !important;
}

a.more-link:hover:after, a.related-block-link:hover:after {
    margin-left: 0.9375rem;
}

/*-- This code is required for juicer social silder feeds. Make sure juicer iframe is wrapped in div.juicer_iframewrap --*/

.juicer_iframewrap {
    width: 100%;
    height: calc(55vh + 110px);
    position: relative;
}

@media (max-width: 1024px) and (min-width: 430px) {
	/* height adjustment for tablet and large smartphones*/
	.juicer_iframewrap {
		height: calc(55vw + 110px);
	}
}

.juicer_iframewrap iframe {
	height: 100%;
	width: calc(100vw + 3.5vw);
    max-width: unset;
    position: absolute;
    z-index: 1;
    top: 0;
    left: calc(0px - var(--desktopGridEdge));
	overflow: hidden;
}

@media (max-width: 1024px) {
	.juicer_iframewrap {
	/* for tablet and mobile devices */
		width: 100vw;
		margin-left: -7.5vw;
		overflow: hidden;
	}
	
	.juicer_iframewrap iframe {
		left: 0;
	}
}

/*-- for Juicer - Sitecore CSS END --*/ 

/*--- START: fix for split carousel across smaller and larger desktops ---*/

@media (min-width: 1025px) {
	
	._SimpleSplitImageTextCarouselBlockWrapper_1s9sw_10 {
		margin-bottom: 24px;
	}
	._SimpleSplitImageTextCarouselBlockWrapper_1s9sw_10 .content .slice {
		height: auto !important;
	}
	._SimpleSplitImageTextCarouselBlockWrapper_1s9sw_10 .content .text-editor-wrapper {
		margin: auto 0 !important;
	}
	._SimpleSplitImageTextCarouselBlockWrapper_1s9sw_10 .content .text {
        height: 95%;
	}
	._SimpleSplitImageTextCarouselBlockWrapper_1s9sw_10 .content .slice.imageWrapper {
		min-height: min-content !important;
	}
	._SimpleSplitImageTextCarouselBlockWrapper_1s9sw_10 .imageWrapper.renderHeading:not(.mobile) .imageOverlay {
		height: 100% !important;
	}
}

@media (min-width: 1921px){
	._SimpleSplitImageTextCarouselBlockWrapper_1s9sw_10 .content .slice, ._SplitImageTextCarouselBlockWrapper_1dc5i_169 .carousel-root
	 {
        height: 62vh !important;
    }
}

@media (min-width: 1537px) and (max-width: 1920px){
	._SimpleSplitImageTextCarouselBlockWrapper_1s9sw_10 .content .slice, ._SplitImageTextCarouselBlockWrapper_1dc5i_169 .carousel-root {
        height: 72vh !important;
    }
}

@media (min-width: 1025px) and (max-width: 1536px) {
    ._SimpleSplitImageTextCarouselBlockWrapper_1s9sw_10 .content .slice, ._SplitImageTextCarouselBlockWrapper_1dc5i_169 .carousel-root {
        height: 92vh !important;
    }
}

/*--- END: fix for split carousel across smaller and larger desktops ---*/

/* Promos */
.promo-container {
    display: flex;
    flex-direction: row;
    border-radius: 2px;
    /*margin: 80px 0 !important; */
   background-color: transparent !important;
	opacity: 1!important;
    transition-delay: .2s;
}

.promo-container p {
	font-family: 'PT Serif', serif;
	color: #89C925 !important;
	font-size: 24px !important;
	max-width: 410px !important;
    margin-left: 0px !important;
	margin-top: 20px !important
}

.promo-container .more-link {
	margin-left: 0px !important;
}

.img-container {
    flex: 1 0 48%;
    max-height: 100%;
}

.text-container {
    padding: 1.25rem;
    flex: 1 0 50%;
}

.img-cover {
	position: relative !important;
    margin-left: -25vw !important;
    left: 50% !important;
    border-radius: 2px 0px 0px 2px;
    object-fit: cover;
    height: 300px !important;
    display: block;
	max-width: 683px;
}

/* Small leaf promo */
.promo-container.sml-promo {
    width: 100%;
    height: auto;
    min-height: 180px;
    margin-top: 80px !important;
}

.promo-container.sml-promo .img-container {
    flex: 1 0 auto !important; 
	 opacity: 1;
	transition: color .4s ease-in-out;
}

.promo-container.sml-promo .img-container:hover {
     opacity: 0.3;
	transition: transform 1s;
	transform: scale(1.1);
}	


.promo-container.sml-promo .img-cover {
    border-bottom-left-radius: 58% 59%;
    border-bottom-right-radius: 69% 78%;
    border-top-left-radius: 89% 74%;
    border-top-right-radius: 0;
    width: 175px !important; 
    height: 180px !important;
    display: inline-block; 
    object-fit: cover; 
    margin: 0 !important; 
    left: 0 !important; 
}

.promo-container.sml-promo .img-container a {
    background: none; 
}

.promo-container.sml-promo .text-container {
    flex: 1 0 80%; 
    padding: 0px 40px; 
}

		

.promo-container.sml-promo .text-container p {
    max-width: 100% !important;
	transition: color .4s ease-in-out;
}

.promo-container.sml-promo .text-container p:hover {
    color: #666 !important;
}

/* blog and podcast nav styles */


@media (min-width: 1025px) {
	
	body.blog #blog-navigation .blog-navigation-container .dropdown.categories-dropdown .category-bar {
		column-gap: 40px;
	}
	
	body.blog #blog-navigation .blog-navigation-container .category-card {
		display: flex;
		flex-direction: column-reverse;
		justify-content: flex-end;
		align-items: center;
		padding: 0;
		row-gap: 10px;
	}
	
	body.blog #blog-navigation .blog-navigation-container .category-card .name {
		width: max-content;
	}
	
	body.blog #blog-navigation .blog-navigation-container .category-card video, body.blog #blog-navigation .blog-navigation-container .category-card img {
		margin-top: 30px;
		mix-blend-mode: normal;
		opacity: 1;
		max-height: 170px;
	}
	
	body.blog .banner img, body.blog .banner video, body.blog .banner picture {
		height: 40vh;
		min-height: 400px;
		max-height: 660px;
	}
}

/*---podcast embed styles ---*/

.podcast-container {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
}

.podcast-container .controls {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-right: 15px;
    align-items: center;
}

.podcast-container .controls .links {
    font-family: "Open Sans";
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    text-transform: uppercase;
    display: flex;
    flex-direction: row;
    column-gap: 20px;
    align-items: center;
}

.podcast-container .controls .download .more-link {
    padding: 0;
}

.podcast-container .transcript ._chevron_v5y5n_135 {
    font-family: 'Open Sans';
}

.podcast-container .transcript {
    padding-bottom: 0px !important;
}

.podcast-container .transcript .section-accordion-inside.isopen {
    max-height: 55vh;
    overflow-y: auto;
    padding-right: 50px;
	margin-bottom: 30px;
}

.podcast-container .transcript .section-accordion-spacer.open:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 50px;
    width: calc(100% - 12px);
    height: 70px;
    background: linear-gradient(#ffffff03, #ffffff1a, #ffffff80, #fff 70%);
}

/*---podcast promo ---*/

.promo-container.podcast {
    display: flex;
    flex-direction: row;
    column-gap: 40px;
	row-gap: 40px;
    border-radius: 2px;
    margin: 0 !important;
    background-color: transparent !important;
    opacity: 1!important;
    transition-delay: .2s;
	align-items: center;
}

.podcast h3 {
	font-family: 'PT Serif', serif;
	color: #89C925 !important;
	font-size: 24px !important;
	font-weight: 400 !important;
    margin-top: 0px !important;
}

.podcast p {
	font-family: "Open Sans", "open-sans", sans-serif, sans-serif;
    font-weight: 400;
	font-size: 1rem !important;
	color: #373a36 !important;
	max-width: 100% !important;
}

.podcast {
	padding: 0 !important;
}

.icon-slideshare:before {
    content: none !important;
}

.promo-container.podcast .iframe-container {
    height: 180px;
    width: 180px;
}

.promo-container iframe {
    height: 100%;
    width: 100%;
    min-width: auto;
	aspect-ratio: 1;
	max-width: 300px;
}

/* for soundcloud */
.promo-container iframe > .soundHeader__title, 
.promo-container iframe > .soundHeader__rightRow,
.promo-container iframe > a.privacyPolicy__link {
	display: none !important;
}

.square .player-media .seekbar-wrapper {
    height: 20px;
    top: 70px;
}

.player-media .seekbar-wrapper {
    display: flex;
    flex: 1 0;
    position: relative;
}

/*---  End Expertise - temp styles for Market and Expertise pages ---*/



/*---temp content wrapper styles ---*/

.text-wrapper {
    max-width: 720px;
    margin: 0px auto;
}

.text-wrapper.full {
    max-width: 100%;
}

/*---temp heading styles */

.text-wrapper * {
    color: #373a36;
}

.text-wrapper h1 {
    font-family: PT Serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 52px;
    margin: 0 0 30px 0;
    text-align: left;
}

.text-wrapper h2 {
    font-family: "PT Serif",serif;
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 30px !important;
    margin-top: 80px !important;
}


.text-wrapper h3 {
	font-family: Open Sans,sans-serif;
    line-height: 28px;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 30px;
    margin-top: 50px;
}

.container.side-gutters h3 {
	font-family: Open Sans, sans-serif;
    line-height: 28px;
    font-size: 20px;
    margin: 50px 0 30px 0;
}

/*---- nested unordered list fix ----*/

#postcontent ul > ul {
	list-style: circle;
}

/*---- checkklist unordered list ----*/

#postcontent ul.checklist {
    list-style: none;
	margin: 30px 0 30px 35px !important;
	display: flex;
    column-gap: 50px;
    width: 100%;
    flex-wrap: wrap;
}

#postcontent ul.checklist li {
    position: relative;
	font-weight: 600;
	flex: 1 0 auto;
    width: max-content;
}

#postcontent ul.checklist li:before {
    content: "\2714";
    display: flex;
    color: #fff !important;
    background: var(--brandGreen);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    line-height: 0;
    font-weight: 400;
    position: absolute;
    left: -25px;
    top: 2px;
}

/*---- buttons in p tags ----*/

#postcontent p.multibtns, #postcontent div.multibtns {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	align-items: center;
	margin: 30px 0 0 0 !important;
}

#postcontent p.multibtns.morelinks {
    grid-column-gap: 50px !important;
    margin-top: 15px !important;
}

/*---- Reference styles for insights ----*/

#postcontent hr {
    border-top: 1px solid #e1e2e0;
    margin-top: 50px;
    margin-bottom: 30px;
    background-color: transparent;
    height: 0;
}

#postcontent h5 {
	font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    letter-spacing: .65px;
    line-height: 20px;
    margin: 80px 0 20px;
    text-transform: uppercase;
    color: var(--text-grey);
    font-weight: 400;
}

#postcontent p.ref {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 20px;
    margin: 10px auto;
    text-align: left;
}


/*---- Post-script styles ----*/

#postcontent p.ps, .post-body p.ps {
    font-size: 13px !important;
}

/*---- standfirst or interview styling for questions ----*/

#postcontent p.ask {
	font-style: italic;
    color: var(--text-grey);
    letter-spacing: 0.24px;
    background: #fafafa;
    padding: 8px 10px !important;
    margin: 30px -10px;
}

#postcontent p.ask > * {
    font-size: initial;
    font-style: initial;
    color: var(--brand-grey);
    letter-spacing: initial;
}

.SplitImageTextCarouselBlockModel #postcontent p.ask, 
.FullWidthImageTextBlock #postcontent p.ask {
    background: rgba(255, 255, 255, 0.8);
}

/* ---- inline graphics ----*/

#postcontent p.caption, .post-body p.caption, .text-wrapper p.caption {
    font-family: 'Open Sans', 'Open-sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 20px;
    color: #666666;
    background: transparent;
    padding: 8px;
    margin: 8px 0 80px 0 !important;
}

#postcontent p.caption.womargin {
    margin: 8px 0 0 0 !important;
}

/*---- for caption following horizontal line ----*/

#postcontent hr.wcaption {
	margin: 30px 0 0 0 !important;
}

.text-wrapper .inline-graphic p.caption {
    padding: 0px;
    margin: 0px;
}

.text-wrapper .flex50 p.caption {
	margin: 0;
}

#postcontent div.inline-graphic, .post-body div.inline-graphic, .text-wrapper div.inline-graphic {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 50px;
}

.post-body div.inline-graphic { /* ---- temp style - blog only ----*/
	margin-top: 50px !important;
    margin-bottom: 50px !important;
}

#postcontent div.inline-graphic h2:first-child {
    margin-top: 0;
}


#postcontent div.inline-graphic.womargin {
    margin-top: 0 !important;
    margin-bottom: 0;
}

.text-wrapper div.video-container {
	margin: 80px 0;
}

#postcontent div.inline-graphic.wcaption,
#postcontent div.video-container.wcaption,
.post-body div.inline-graphic.wcaption,
.post-body div.video-container.wcaption,
.text-wrapper div.inline-graphic.wcaption,
.text-wrapper div.video-container.wcaption {
    margin-bottom: 0px !important;
}

#postcontent div.video-container.wtranscript {
    margin-bottom: 25px;
}

.text-wrapper div.inline-graphic.wCTA {
	row-gap: 20px;
    justify-content: left;
    align-items: flex-start;
}

.inline-graphic > object /* to make objects repsonsive directly inside graphics container */ {
    width: 100%;
    height: auto;
}

/* ---- more link inside graphics container ----*/

#postcontent div.inline-graphic a.more-link.button-2022, #postcontent div.flex33.lrg a.more-link.button-2022, .text-wrapper div.inline-graphic a.more-link.button-2022 {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 0.0125em;
    text-decoration: none;
    border-radius: 0;
    background: none;
    color: var(--brand-grey) !important;
    padding: 0;
    min-width: 0;
    margin: 0;
    position: relative;
    text-transform: uppercase;
    transition: 200ms ease-in ease-out;
}

#postcontent div.inline-graphic a.more-link.button-2022:hover, #postcontent div.flex33.lrg a.more-link.button-2022:hover, .text-wrapper div.inline-graphic a.more-link.button-2022:hover {
    background: none;
}

#postcontent div.inline-graphic a.more-link.button-2022:after, #postcontent div.flex33.lrg a.more-link.button-2022:after, .text-wrapper div.inline-graphic a.more-link.button-2022:after {
    content: "\203A";
    height: 22px;
    color: #89C925;
    position: absolute;
    right: -0.9375rem;
    top: 50%;
    margin-top: -12.75px;
    font-size: 20px;
    transition: 200ms;
}

#postcontent div.inline-graphic a.more-link.button-2022:hover:after, #postcontent div.flex33.lrg a.more-link.button-2022:hover:after, .text-wrapper div.inline-graphic a.more-link.button-2022:hover:after {
    right: -1.25rem;
}

#postcontent .inline-graphic .icon a.hide-link, #postcontent .inline-graphic .icon a.hide-link img {
    background: none !important;
}

/*---- story block ----*/

.content-block.story-blocks .stories .story-container .story {
    padding: 0;
    margin-right: 4%;
}

.content-block.story-blocks .stories .story-container .story:last-child {
    margin: 0;
}

.content-block.story-blocks .stories .story-container {
    padding: 0 2.8125rem;
}

/*------ remove max-width on Awards mini-site template -------*/
.container {
    max-width: none;
}

/*------ display desktop only -------*/

.disp-desktop,
.disp-dsktab {
    display: block !important;
}

.disp-mob,
.disp-tablet,
.disp-tabmob {
    display: none !important;
}

#postcontent .disp-desktop,
#postcontent .disp-dsktab {
    display: flex !important;
}

#postcontent .disp-mob,
#postcontent .disp-tablet,
#postcontent .disp-tabmob {
    display: none !important;
}


/*------ image left and right -------*/

img.right {
    width: 100%;
    max-width: 380px;
    float: right;
    padding: 0 0 0.9375rem 0.9375rem;
}

img.left {
    width: 100%;
    max-width: 380px;
    float: left;
    padding: 0 0.9375rem 0.9375rem 0;
}

/*------- display two column, two child flex ------*/
.flex50 {
    display: flex;
    flex-direction: row;
    width: 100%;
    margin-bottom: 0.9375rem;
}

.flex50 div.col {
    margin: .9375rem .9375rem 0px 0px;
    flex: 1;
    max-width: 50%;
}

.flex50 div.col:last-child {
    margin: .9375rem 0px 0px 0px;
}

/*------- display three column, three child flex ------*/

.flex33 {
    display: flex;
    flex-direction: row;
    max-width: 100%;
}

.flex33 div {
    flex: 1 0 30%;
    padding-right: 0.9375rem;
}

.flex33 div ul {
    list-style: none;
    margin-left: 1.25rem;
    font-size: 0.9rem;
}

#postcontent .flex33 div ul {
    list-style: inherit;
    margin-left: 1.25rem;
    font-size: 0.9rem;
}

.flex33 div ul li:before {
    /* color: rgb(254, 209, 65); */
    content: "\2022";
    font-size: 1.5rem;
    font-weight: 600;
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    margin-left: -0.8em;
    top: 0.13em;
    position: relative;
}

#postcontent .flex33 div ul li:before {
    content: "";
}

/* reversing link decoration */

a.reverse {
    text-decoration: none;
}

/*------- temp accordion styles -------*/

.text-wrapper .flex50 div.text {
    row-gap: 0;
    justify-content: flex-start;
}

.text-wrapper .flex50 div.accordion {
	display: block;
    margin: 5px 0;
    flex: 0 0 auto;
}

.text-wrapper div.accordion .accordion-header, .text-wrapper .flex50 div.accordion .accordion-header {
    background-color: transparent;
    border: none;
    border-radius: 0px;
    padding: 0 1.25rem 0 0;
	display: flex !important;
}

.text-wrapper .accordion-header h3 {
	font-size: 1rem !important;
    margin: 0 0 15px 50px !important;
    font-weight: 400 !important;
    line-height: 28px !important;
}

.text-wrapper .accordion-header span.icon-circle-right {
	position: absolute;
    right: inherit;
    left: 0.9375rem;
    top: -3px;
    z-index: 99;
    cursor: pointer;
}

.text-wrapper .accordion-header span.icon-circle-right:before {
    content: "+";
    font-size: 1.75rem;
    color: #89C925;
}

.text-wrapper .transcript.next-level {
	padding: 60px 30px 20px 50px;
    background: #F7FBEC;
    border: none;
    border-radius: 10px;
    margin-top: -55px;
	display: none;
}

/*---- temp container for full width text editors  ----*/

#postcontent div.textWrapper {
    margin: 80px 0px 80px 0px !important;
    margin-top: 80px !important;
}

#postcontent div.textWrapper>:first-child {
    margin-top: 0 !important;
}

/*---- scroll triggered facts in text editor with background  ----*/

#postcontent .scrolling-stats-wrapper.wmargin {
	margin: 50px 0 80px 0 !important;
}

/*------ ### START flex box custom stying for inline graphics ### ------*/

/*---- base flex columns ----*/

#postcontent .flex75, .text-wrapper .flex75,
#postcontent .flex66,
#postcontent .flex50, .text-wrapper .flex50,
#postcontent .flex33,
#postcontent .flex25, .text-wrapper.full .flex25  {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    column-gap: 40px;
    row-gap: 50px;
    margin: 0 auto;
    flex-wrap: wrap;
}

#postcontent .flex75 div, .text-wrapper .flex75 div,
#postcontent .flex66 div,
#postcontent .flex50 div, .text-wrapper .flex50 div,
#postcontent .flex33 div,
#postcontent .flex25 div, .text-wrapper.full .flex25 div {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    justify-content: center;
    flex: 1 0 45%;
    padding: 0;
}

#postcontent .flex33 div {
    flex: 1 0 30%;
    /* tweak for all columns of flex33 to span 1/3 */
}

.text-wrapper .flex50 div.text {
    row-gap: 0;
    justify-content: flex-start;
}

#postcontent .flex66 div:first-child {
    flex: 1 0 60%;
    /* tweak for first column of flex66 to span 2/3 */
}

#postcontent .flex66 div:last-child {
    flex: 1 0 30%;
    /* tweak for second column of flex66 to span 1/3 */
}

#postcontent .flex25 div, .text-wrapper .flex25 div {
    flex: 1 0 20%;
    /* tweak for all columns of flex25 to span 1/4 */
}

#postcontent .flex33 div,
#postcontent .flex25 div,
#postcontent .flex66 div.text,
#postcontent .flex50 div.text,
#postcontent .flex33 div.text,
#postcontent .flex25 div.text {
    justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
}

#postcontent .flex66 div.text ul, 
#postcontent .flex50 div.text ul,
#postcontent .flex33 div.text ul {
    margin-top: 0px;
    margin-bottom: 0px;
}

#postcontent .flex66 div.text.valign,
#postcontent .flex50 div.text.valign,
#postcontent .flex33 div.text.valign,
#postcontent .flex25 div.text.valign {
	justify-content: center;
}

#postcontent .flex66 div img,
#postcontent .flex50 div img {
    margin: 30px auto;
    width: 100%;
    max-width: 350px;
}

#postcontent div.inline-graphic .flex66 div.infoimg img,
#postcontent div.inline-graphic .flex50 div.infoimg img,
#postcontent .flex66 div.infoimg img,
#postcontent .flex50 div.infoimg img {
    margin: 0;
    width: 100%;
    max-width: none;
}

#postcontent .flex66 div.infoimg.a-top,
#postcontent .flex50 div.infoimg.a-top {
	flex-direction: flex-start;
}

#postcontent div.inline-graphic .flex66 div.infoimg,
#postcontent div.inline-graphic .flex50 div.infoimg {
    row-gap: 0px;
}

.text-wrapper .inline-graphic .flex50 img {
    margin: 0 auto;
}

#postcontent .flex33 div img {
    margin-bottom: 0;
	margin: 0 auto;
}

#postcontent .flex66 div h2,
#postcontent .flex50 div h2 {
    margin-bottom: 10px;
    margin-top: 60px;
}

#postcontent .flex75 div h3, .text-wrapper .flex75 div h3,
#postcontent .flex75 div h4, .text-wrapper .flex75 div h4,
#postcontent .flex66 div h3,
#postcontent .flex66 div h4,
#postcontent .flex50 div h3,
#postcontent .flex50 div h4,
#postcontent .flex33 div h3,
#postcontent .flex33 div h4,
#postcontent .flex25 div h3,
#postcontent .flex25 div h4 {
    margin: 30px 0 10px 0;
	font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    line-height: 28px;
    font-weight: 600;
}

#postcontent .flex75.icon div h3 span, .text-wrapper .flex75.icon div h3 span,
#postcontent .flex75.icon div h4 span, .text-wrapper .flex75.icon div h4 span,
#postcontent .flex50.icon div h3 span,
#postcontent .flex50.icon div h4 span,
#postcontent .flex33.icon div h3 span,
#postcontent .flex33.icon div h4 span,
#postcontent .flex25.icon div h3 span,
#postcontent .flex25.icon div h4 span{
    font-weight: 400;
}

#postcontent .flex75 div p, .text-wrapper .flex75 div p,
#postcontent .flex66 div p,
#postcontent .flex50 div p,
#postcontent .flex33 div p,
#postcontent .flex25 div p,
#postcontent .flex75 div a,
#postcontent .flex66 div a,
#postcontent .flex50 div a,
#postcontent .flex33 div a,
#postcontent .flex25 div a {
    margin: 0;
}

#postcontent .flex75 div > *:first-child, .text-wrapper .flex75 > *:first-child,
#postcontent .flex66 div > *:first-child,
#postcontent .flex50 div > *:first-child,
#postcontent .flex33 div > *:first-child,
#postcontent .flex25 div > *:first-child, .text-wrapper.full .flex25 div > *:first-child {
    margin-top: 0;
}

/*---- flex with icon ----*/

#postcontent .flex75.icon, .text-wrapper .flex75.icon,
#postcontent .flex50.icon {
    max-width: 840px;
}

#postcontent .flex50.icon div,
#postcontent .flex33.icon div,
#postcontent .flex25.icon div, .text-wrapper.full .flex25.icon div {
    align-items: center;
    text-align: center;
    justify-content: flex-start;
    max-width: 360px;
    row-gap: 15px;
}

#postcontent .flex75.icon div:nth-child(odd), .text-wrapper .flex75.icon div:nth-child(odd) {
    width: 120px;
    flex: 1 0 8%;
    align-items: center;
    text-align: center;
    justify-content: flex-start;
    row-gap: 15px;
}

#postcontent .flex75.icon div:nth-child(even), .text-wrapper .flex75.icon div:nth-child(even) {
    flex: 1 0 75%;
    row-gap: 20px;
    justify-content: flex-start;
}


#postcontent .flex33.icon div {
    min-width: 200px;
    max-width: 300px;
    /* tweak for 3 col */
}

#postcontent .flex25.icon div {
    min-width: 180px;
    max-width: 260px;
    /* tweak for 4 col */
}

.text-wrapper.full .flex25.icon div {
    min-width: 200px;
    max-width: 212px;
    /* tweak for 4 col on old templates */
}

#postcontent .flex75.icon div img, .text-wrapper .flex75.icon div img,
#postcontent .flex50.icon div img,
#postcontent .flex33.icon div img,
#postcontent .flex25.icon div img, .text-wrapper.full .flex25.icon div img {
    margin: 0 auto;
    width: 120px;
    height: 120px;
}

#postcontent .flex75.icon div h3, .text-wrapper .flex75.icon div h3,
#postcontent .flex75.icon div h4, .text-wrapper .flex75.icon div h4,
#postcontent .flex50.icon div h3,
#postcontent .flex50.icon div h4,
#postcontent .flex33.icon div h3,
#postcontent .flex33.icon div h4,
#postcontent .flex25.icon div h3,
#postcontent .flex25.icon div h4 {
    margin: 0;
}

#postcontent .flex75.icon div:nth-child(even) ul, .text-wrapper .flex75.icon div:nth-child(even) ul {
    margin: 0 0 0 18px;
}

#postcontent .flex75.icon div:nth-child(even) ul li:first-child, .text-wrapper .flex75.icon div:nth-child(even) ul li:first-child {
    margin-top: 0;
}

/*---- flex with large illustration or icon ----*/

#postcontent .flex50.lrg div,
#postcontent .flex33.lrg div {
    max-width: 300px;
    width: 100%;
    text-align: center;
	align-items: center;
    justify-content: flex-start;
    row-gap: 15px;
}

#postcontent .flex25.lrg div {
    max-width: 260px;
    width: 100%;
    text-align: center;
	align-items: center;
    justify-content: flex-start;
    row-gap: 15px;
}

#postcontent .flex50.icon.lrg div,
#postcontent .flex33.icon.lrg div {
    max-width: 360px;
    padding: 0 1.875rem;
    row-gap: 20px;
}

#postcontent .flex50.lrg div img,
#postcontent .flex33.lrg div img {
    max-width: 300px;
    max-height: 300px;
	width: auto;
	height: auto;
}

#postcontent .flex25.lrg div img {
    width: 220px;
    height: 220px;
}

#postcontent .flex50.icon.lrg div img,
#postcontent .flex33.icon.lrg div img,
.text-wrapper.full .flex25.icon.lrg div img {
    width: 180px;
    height: 180px;
}

#postcontent .flex50.lrg div h3,
#postcontent .flex50.lrg div h4,
#postcontent .flex33.lrg div h3,
#postcontent .flex33.lrg div h4,
#postcontent .flex25.lrg div h3,
#postcontent .flex25.lrg div h4{
    margin: 0;
	width: 100%;
}

/*---- flex with small illustration or icon ----*/

#postcontent .flex50.sml.icon {
    max-width: 100%;
}

#postcontent .flex75.icon.sml div:nth-child(odd), .text-wrapper .flex75.icon.sml div:nth-child(odd) {
    width: 60px;
    flex: 1 0 auto;
}

#postcontent .flex75.icon.sml div:nth-child(even), .text-wrapper .flex75.icon.sml div:nth-child(even) {
    flex: 1 0 88%;
}

#postcontent .flex75.icon.sml div,
#postcontent .flex50.icon.sml div,
#postcontent .flex33.icon.sml div {
    min-width: 300px;
    max-width: 380px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    column-gap: 30px;
    text-align: left;
}

#postcontent .flex50.icon.sml div {
    max-width: 800px;
	align-items: flex-start;
}

#postcontent .flex75.icon.sml div {
    max-width: 100%;
	align-items: flex-start;
}

#postcontent .flex75.icon.sml div img, .text-wrapper .flex75.icon.sml div img,
#postcontent .flex50.icon.sml div img,
#postcontent .flex33.icon.sml div img {
    width: 60px;
    height: 60px;
    margin: 0;
}

.flex50.sml.icon.location div img {
    width: 50px !important;
    height: 50px !important;
}

#postcontent .flex75.sml.icon div ul {
    margin: 0 0 0 18px;
}

#postcontent .flex75.sml.icon div ul li {
    margin-top: 0;
}

/*---- ## flex with ordered and unordered lists ## ----*/

#postcontent .flex50.icon div ul,
#postcontent .flex33.icon div ul {
    list-style: inherit;
    margin-left: 10px;
    padding: 0;
    text-align: left;
    /*come back to this */
}

#postcontent .flex33.icon div ul li:before {
    display: none;
}

/*---- row reverse on flexbox ----*/

#postcontent .flex66.reverse,
#postcontent .flex50.reverse {
    flex-direction: row-reverse;
}

/*---- flex66 for icon divs ----*/

#postcontent .flex66 div.icon {
	min-width: 300px;
    max-width: 380px;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    justify-content: center;
    align-items: center;
}

#postcontent .flex66 div.icon div {
    display: flex;
    flex-direction: row;
    column-gap: 30px;
	row-gap: 20px;
    justify-content: flex-start;
    align-items: center;
    flex: 1 0 auto;
}

#postcontent .flex66 div.icon div > img {
    width: 120px;
    height: 120px;
    margin: 0;
    padding: 0;
}

#postcontent .flex66 div.icon.sml div > img {
	width: 60px;
    height: 60px;
}

/*---- flex66 for policy lists ----*/

#postcontent .policyList {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
	margin: 50px 0 0 0;
	width: calc(100% + 60px);
}

#postcontent .policyList .flex66 {
    border-radius: 1px;
    padding: 24px 30px;
    background-color: transparent;
    transition: background-color 100ms linear;
	margin-left: -30px;
    margin-right: -30px;
}

#postcontent .policyList .flex66:hover, #postcontent .policyList .flex66:focus {
    background-color: var(--background-grey-4-tint-3);
}

#postcontent .policyList .flex66 div:first-child {
    flex: 1 0 66%;
	max-width: 840px;
	justify-content: flex-start;
}

#postcontent .policyList .flex66 div:last-child {
    flex: 1 0 30%;
	max-width: 300px;
    justify-content: flex-start;
}

#postcontent .policyList div.flex66 div:first-child p:first-child {
    font-weight: 600;
	line-height: 40px;
	font-size: 16px;
    letter-spacing: .625px;
}

#postcontent .policyList div.flex66 div:last-child p.multibtns {
    margin: 0 !important;
	flex-direction: column;
    align-items: flex-start;
}

#postcontent .policyList div.flex66 div:first-child p:first-child span {
    color: var(--text-grey);
    font-family: Open Sans;
    font-weight: 400;
    letter-spacing: .8px;
	margin-left: 10px;
}

/*---- flex66 for disclaimer with sidebar ----*/

#policy_postcontent{
	align-items: flex-start;
}
#policy_postcontent .policy_textwsidebar {
	row-gap: 15px !important;
}

#policy_postcontent .policy_textwsidebar h2 {
    font-family: Open Sans;
    font-size: 20px;
    font-weight: 400;
    line-height: 32px;
    letter-spacing: 0px;
    text-align: left;
    margin: 0;
	color: var(--brand-grey);
}

#policy_postcontent .policy_textwsidebar h2 span {
    color: var(--text-grey);
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: .65px;
    text-transform: uppercase;
    display: inline-block;
    clear: both;
    width: 100%;
}

#policy_postcontent .policy_textwsidebar p,
#policy_postcontent .policy_textwsidebar ul li,
#policy_postcontent .policy_sidebar p {
    font-size: 13px !important;
    line-height: 23px;
}

#policy_postcontent .policy_textwsidebar .section-accordion, 
#policy_postcontent .policy_textwsidebar .section-accordion *:not(button):not(li):not(a) {
    display: block;
    flex: none;
}

#policy_postcontent .policy_textwsidebar .section-accordion p {
    margin: 20px 0;
}

#policy_postcontent .policy_textwsidebar .section-accordion p:first-child {
    margin: 0;
}

#postcontent #policy_postcontent .policy_sidebar {
    row-gap: 9px !important;
    justify-content: flex-start;
	padding-top: 57px;
}

#postcontent #policy_postcontent .policy_textwsidebar:has(span) ~ .policy_sidebar {
    padding-top: 89px;
}

#policy_postcontent .policy_sidebar span {
    color: var(--text-grey);
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: .65px;
    text-transform: uppercase;
}

#policy_postcontent .policy_sidebar strong {
	color: var(--text-grey);
}

#policy_postcontent .policy_sidebar a {
    font-family: Open Sans;
    font-style: normal;
    font-weight: 400;
    margin: 0;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: .26px;
    color: var(--brand-grey);
    text-align: left;
    border-bottom: 1px solid var(--brandGreen);
    text-decoration: none !important;
    outline: none !important;
    width: max-content;
    background-image: linear-gradient(#a8d04c, #a8d04c);
    background-repeat: no-repeat;
    background-size: 100% 0rem;
    background-position: 0 100%;
    transition: all 125ms ease-in;
}

#policy_postcontent .policy_sidebar a:hover {
    background-image: linear-gradient(#c4e58e, #c4e58e);
    background-size: 100% 100%;
    color: #333;
}


/*---- flex with accordions ----*/

#postcontent .flex-accordions {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
	column-gap: 40px;
}

#postcontent .flex-accordions > div {
    flex: 1 0 45%;
}

/*---- flex with video ----*/

#postcontent .flex-video {
    display: flex;
    flex-direction: row;
    column-gap: 40px;
	grid-row-gap: 50px;
}

#postcontent .flex-video.wmargin {
	margin: 80px 0px !important;
} 

#postcontent .flex-video.reverse {
	flex-direction: row-reverse;
} 

#postcontent .flex-video .video {
    flex: 1 0 50%;
}

#postcontent .flex-video .video .video-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

#postcontent .flex-video .content {
    flex: 1 0 45%;
    display: flex;
    flex-direction: column;
	justify-content: center;
    row-gap: 20px;
}

#postcontent .flex-video .content h2 {
    margin-top: 0;
	margin-bottom: 10px;
}

#postcontent .flex-video .content p {
    margin: 0;
}

/*------ for an offset video use class="flex-video lrg" ------*/

#postcontent .flex-video.lrg .video {
	flex: 1 0 65%;
}

#postcontent .flex-video.lrg .content {
	flex: 1 0 30%;
}

/*------ ### END flex box custom stying ### ------*/

/*------ ### Start section-accordion ### ------*/

.section-accordion-inside:first-child ul, .section-accordion-inside ul:first-child li:first-child {
    margin-top: 0!important;
}

/*------ ### START table custom stying for new templates ### ------*/

/*---- base table ----*/

#postcontent table, .text-wrapper table {
    border-collapse: collapse;
    border: none;
    margin: 0;
    text-align: center;
    width: 100%;
}

#postcontent table tbody tr,
#postcontent table tfoot tr,
.text-wrapper table tbody tr,
.text-wrapper table tfoot tr {
    border-bottom: 1px solid #D1D2D0;
}

#postcontent table thead th,
.text-wrapper table thead th {
    background: #D1D2D0;
    color: #373A36;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 26px;
    align-items: center;
    text-align: center;
    padding: 10px 12px;
    border: 1px solid white;
    vertical-align: top;
}

#postcontent table tbody td,
#postcontent table tbody th,
#postcontent table tfoot td,
#postcontent table tfoot th,
.text-wrapper table tbody td,
.text-wrapper table tbody th,
.text-wrapper table tfoot td,
.text-wrapper table tfoot th {
    border: none;
    background: transparent;
    padding: 1em 1em;
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 20px;
    vertical-align: top;
	color: #373A36;
}

#postcontent table tbody th,
#postcontent table tfoot td,
#postcontent table tfoot th,
.text-wrapper table tbody th,
.text-wrapper table tfoot td,
.text-wrapper table tfoot th {
    font-weight: 700;
}

#postcontent tbody td ul {
    margin: 0px 0 0px 20px !important;
}

#postcontent tbody td ul li {
    line-height: 20px;
    margin: 0px 0px 10px 0px !important;
    font-size: 13px;
    font-weight: 400;
}

#postcontent tbody td ul li:last-child {
    margin: 0px !important;
}

#postcontent table.a-left,
#postcontent table.a-left thead th,
.text-wrapper table.a-left,
.text-wrapper table.a-left thead th {
    text-align: left;
    /*forces content in tables to align left */
}

#postcontent table.nowrap-1stcol thead th:first-child,
#postcontent table.nowrap-1stcol tbody th:first-child,
#postcontent table.nowrap-1stcol tfoot th:first-child {
	white-space: nowrap;
}

#postcontent table thead th span {
	font-size: 13px;
	font-weight: 500;
}

#postcontent table tbody td a {
    font-weight: 400;
    font-size: 13px;
    line-height: 20px;
}

/*-- when th is using icon  --*/

#postcontent table thead th:has(img) {
    vertical-align: middle;
}

#postcontent table thead th:has(img) > img {
    vertical-align: middle;
    margin-right: 15px;
	width: 60px;
    height: 60px;
	max-width: 60px !important;
    min-width: 60px !important;
}

/*-- when table is on grey background and is using icon or lists --*/

#postcontent table.bg-alt {
    border-collapse: separate;
}

#postcontent table.bg-alt thead th {
    border: 0px;
}

#postcontent table.bg-alt tbody td {
    background: white;
}

#postcontent table.bg-alt.grey tbody td {
    background: rgb(247, 248, 248);
}

/*------ ### END table custom stying for new templates ### ------*/

@media (max-width: 1366px) {
	
	#postcontent .flex33.icon.lrg div {
		flex: 1 0 25%;
	}
}

@media (max-width: 1024px) {

	/*---- flex with video ----*/
	
	#postcontent .flex-video {
		flex-direction: column;
	}
	
	#postcontent .flex-video.wmargin {
		margin: 50px 0px !important;
	} 
	
	#postcontent .flex-video .video, 
	#postcontent .flex-video .content,
	#postcontent .flex-video.lrg .video,
	#postcontent .flex-video.lrg .content {
		flex: 1 0 100%;
	}
	
	#postcontent p.col-8, #postcontent p.col-7 {
		width: 100%;
		max-width: 100%;
	}
}

@media (max-width: 1023px) {
	/*---- standfirst or interview styling for questions ----*/
	
	.SplitImageTextCarouselBlockModel #postcontent p.ask, 
	.FullWidthImageTextBlock #postcontent p.ask {
		background: #fafafa;
	}
	
	/*---- scroll triggered facts in text editor with background  ----*/
	
	#postcontent .scrolling-stats-wrapper.wmargin {
		margin: 40px 0 50px 0 !important;
	}
	
    /*------ ### START flex box custom stying ### ------*/

    #postcontent .flex66,
    #postcontent .flex66.reverse {
        flex-direction: column;
        align-items: center;
    }

    #postcontent .flex66.reverse.col {
        flex-direction: column-reverse;
    }

    #postcontent .flex75.icon, .text-wrapper .flex75.icon {
        flex-direction: column;
        align-items: center;
        max-width: 480px;
        row-gap: 15px;
    }

    #postcontent .flex75.icon.sml div:nth-child(odd), .text-wrapper .flex75.icon.sml div:nth-child(odd) {
        width: auto;
    }

    #postcontent .flex75.icon div:nth-child(even), .text-wrapper .flex75.icon div:nth-child(even) {
        row-gap: 15px;
    }

    #postcontent .flex75.icon div:nth-child(even) ul, .test-wrapper .flex75.icon div:nth-child(even) ul {
        margin: 0 0 0 35px;
    }

    #postcontent .flex75.icon div h3, .text-wrapper .flex75.icon div h3,
    #postcontent .flex75.icon div h4, .text-wrapper .flex75.icon div h4 {
        text-align: center;
    }
	
	/*---- flex66 for icon divs ----*/
	
	#postcontent .flex66 div.icon {
		max-width: 100%;
		width: auto;
		flex: 1 0 100%;
		row-gap: 50px;
		column-gap: 40px;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
	}
	
	#postcontent .flex66 div.icon > div {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		text-align: center;
		max-width: 230px;
	}
	
	/*---- policyLists tablet and mobile styles ----*/
	
	#postcontent .policyList {
		width: 100vw;
		margin: 50px -7.5vw 0 -7.5vw;
	}
	
	#postcontent .policyList .flex66 {
		margin: 0;
		padding: 24px 7.5vw;
		align-items: flex-start;
		row-gap: 40px;
	}
	
	#postcontent .policyList .flex66 div:last-child {
		max-width: none;
	}
	
	#postcontent .policyList div.flex66 div:last-child p.multibtns {
		flex-direction: row;
	}
	
	#policy_postcontent .policy_textwsidebar.col-8, #policy_postcontent .policy_sidebar.col-3 {
		min-width: 100%;
		max-width: 100%;
		padding-top: 0;
	}
	
	#postcontent #policy_postcontent .policy_textwsidebar:has(span) ~ .policy_sidebar {
		padding-top: 0;
	}
	
	#policy_postcontent .policy_sidebar .postcontent .flex75.icon.sml {
		max-width: 840px;
		row-gap: 50px;
	}
	
	#postcontent .flex75.icon.sml {
		max-width: 840px;
		row-gap: 50px;
	}
	
	/*---- temp container for full width text editors  ----*/
	
	#postcontent div.textWrapper {
		margin: 50px 0px 30px 0px !important;
		margin-top: 50px !important;
	}

    /*------ ### END flex box custom stying ### ------*/
	
/*--- Start Expertise - temp styles for Market and Expertise pages ---*/
	
	.experience-aurecon .inner-content {
        padding: 2.8125rem;
    }
	
	/*---  End Expertise - temp styles for Market and Expertise pages ---*/
	
	/*---- flex with accordions ----*/
	
	#postcontent .flex-accordions {
		flex-direction: column;
	}
	
	#postcontent .flex-accordions > div {
		flex: 1 0 100%;
	}
	
	#postcontent .flex50.list,
	#postcontent .flex33.list {
		row-gap: 0
	}
	
	#postcontent .flex50.list div:first-child ul, 
	#postcontent .flex50.list div:first-child ul li, 
	#postcontent .flex50.list div:first-child ol, 
	#postcontent .flex50.list div:first-child ol li,
	#postcontent .flex33.list div:first-child ul, 
	#postcontent .flex33.list div:first-child ul li, 
	#postcontent .flex33.list div:first-child ol, 
	#postcontent .flex33.list div:first-child ol li,
	#postcontent .flex33.list div:nth-child(2) ul, 
	#postcontent .flex33.list div:nth-child(2) ul li, 
	#postcontent .flex33.list div:nth-child(2) ol, 
	#postcontent .flex33.list div:nth-child(2) ol li {
		margin-bottom: 0;
	}
	
	#postcontent .section-accordion-inside .flex33.list div:nth-child(2) ul li, 
	#postcontent .section-accordion-inside .flex33.list div:nth-child(2) ol li, 
	#postcontent .section-accordion-inside .flex33.list div:nth-child(3) ul li, 
	#postcontent .section-accordion-inside .flex33.list div:nth-child(3) ol li {
		margin-top: 0.9375rem !important;
	}
}

@media (max-width: 52em) {
	
	/*--- temp people quote block ---*/
	
	#postcontent .inline-graphic .flex50.quote {
		flex-direction: column-reverse;
	}
	
	#postcontent .inline-graphic .flex50.quote div {
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	
	/*--- Start Expertise - temp styles for Market and Expertise pages ---*/
	/* Podcast */
	.podcast {
	    padding: 0 !important;
	    width: 100vh;
	    max-width: 100%;
	}
	
	.podcast p {
		padding-bottom: 3%;
	}
	
	.podcast h3, .podcast p {
		text-align: center;
	}
	
	.promo-container.podcast .iframe-container, 
	.promo-container.podcast .iframe-container iframe {
       width: 100%;
       height: 100%;
       max-width: 100%;
		text-align: center;
    }
	
	.promo-container iframe {
		max-width: 300px;
}

	/* promos */
	.promo-container {
		display: flex !IMPORTANT;
    	flex-direction: column !IMPORTANT;
	}
	
	.promo-container .more-link {
		display: block;
        margin: 0 0 0 -2% !important;
    	text-align: center;
		width: 100%;
	}

	/* promo small */
	.promo-container.sml-promo {
		margin: 80px auto 60px auto !important;
	    text-align: center;
	}
	
	.promo-container.sml-promo .img-container {
		margin: auto !important;
		padding-bottom: 30px;
	}
	
	/* Promo half */
	.img-container.half-promo {
   		    flex: 1 0 100%;
    	margin: 0 0 0.9375rem 0;
	}
	
	.img-cover.half-promo {
		/*margin-left: -13vw !important;*/
	    max-width: none;
    	margin: 0 auto;
		width: 100vw;
		left: 0 !important;
		max-height: 300px;
		object-position: 80% 80%;
	}
	
	.text-container.half-promo {
	    padding: 1.25rem 2rem 0 0;
    	text-align: center;
		margin: 0;
	}
	
	.text-container.half-promo p {
		margin-left: 0 !important;
		max-width: 100% !important;
	}
	
	.half-promo.more-link {
    	display: block;
    	margin: 0 0% !important;
    	text-align: center;
	}
	
	.img-container.half-promo {
   		display: flex;
		flex-direction: column;
		flex: 1 0 100%;
    	object-fit: cover;
    	margin: 0;
		height: 100%;
    	width: 100%;
		left: 0 !important;
		margin-left: 0 !important;
	}
	
	.img-cover.half-promo {
		max-width: none;
    	margin: 0 auto;
		width: 100vw;
		left: 0 !important;
		max-height: 300px;
		object-position: 80% 80%;
	}
	
	.text-container.half-promo {
	    padding: 1.25rem 2rem 0 0;
    	text-align: center;
		margin: 0;
	}
	
	.text-container.half-promo p {
		margin-left: 0 !important;
		max-width: 100% !important;
	}
	
	.half-promo.more-link {
    	display: block;
    	margin: 0 0% !important;
    	text-align: center;
	}
	
	/*---  End Expertise - temp styles for Market and Expertise pages ---*/
	
	
	#postcontent .flex50.lrg div, #postcontent .flex33.lrg div, #postcontent .flex25.lrg div {
    flex: 1 0 33%;
    max-width: 300px;
    width: 100%;
    text-align: center;
    align-items: center;
    justify-content: flex-start;
    row-gap: 15px;
}
	
	#postcontent .flex50.lrg div img, #postcontent .flex33.lrg div img, #postcontent .flex25.lrg div img {
    width: 300px;
    height: 300px;
}
}

@media (max-width: 768px) {
	
	/*--- Basic margin control on containers ---*/

	#postcontent div.wbottommargin /* to add bottom margin */ {margin-bottom: 50px !important;}
	#postcontent div.wtopmargin /* to add top margin */ {margin-top: 50px !important;}
	#postcontent div.wmargins /* to add top and bottom margins */ {margin-top: 50px !important; margin-bottom: 50px !important;} 
	
	/*--- podcast embed styles ---*/
	.podcast-container .controls {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 20px;
		padding: 0;
	}
	
	#postcontent .flex75.icon.sml div {
		flex-direction: column;
	}
	
	 #postcontent .flex75.icon.sml div img, .text-wrapper .flex75.icon.sml div img  {
        width: 120px;
        height: 120px;
        margin: 0 auto;
    }
    /*---story block ----*/

    .content-block.story-blocks .stories .story-container .story {
        flex: 46%;
        max-width: 50%;
    }

    .content-block.story-blocks .stories .story-container .story:nth-child(2n) {
        margin: 0px;
    }

    /*------ display on tablet ------*/

    .disp-tablet,
    .disp-tabmob {

        display: block !important;
    }

    .disp-desktop,
    .disp-desk,
    .disp-mob {

        display: none !important;
    }

    #postcontent .disp-tablet,
    #postcontent .disp-tabmob {

        display: flex !important;
    }

    #postcontent .disp-desktop,
    #postcontent .disp-desk,
    #postcontent .disp-mob {

        display: none !important;
    }
	
	 /*------ unordered list with check mark ------*/
	
	#postcontent ul.checklist li {
		flex: 1 0 100%;
	}

    /*------ display two column, two child flex ------*/
    .flex50 {
        flex-direction: column;
    }

    .flex50 div.col {
        max-width: 100%;
        margin: .9375rem 0px 0px 0px;
    }

    div.col.no-margin-top,
    .flex50 div.col.no-margin-top:last-child {
        margin-top: 0px;
    }

    /*------- display three column, three child flex ------*/

    #postcontent .flex33, .text-wrapper .flex33  {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    #postcontent .flex33 div, .text-wrapper .flex33 div {
        flex: 1 0 50%;
    }

    /*------ ### START flex box custom stying ### ------*/

    #postcontent .flex50,
    #postcontent .flex33,
    #postcontent .flex25,
    #postcontent .flex50.reverse,
    #postcontent .flex50.icon.sml div,
    #postcontent .flex33.icon.sml div {
        flex-direction: column;
        align-items: center;
    }

    #postcontent .flex50.reverse.col {
        flex-direction: column-reverse;
    }

    #postcontent .flex50.icon div,
    #postcontent .flex33.icon div,
    #postcontent .flex25.icon div,
    #postcontent .flex50.icon.lrg div,
    #postcontent .flex33.icon.lrg div,
    #postcontent .flex50.icon.sml div,
    #postcontent .flex33.icon.sml div {
        max-width: 230px;
        padding: 0;
        flex-direction: column;
        text-align: center;
        row-gap: 15px;
    }

    #postcontent .flex50.lrg div h3,
    #postcontent .flex50.lrg div h4,
    #postcontent .flex50.lrg div p,
    #postcontent .flex33.lrg div h3,
    #postcontent .flex33.lrg div h4,
    #postcontent .flex33.lrg div p {
        max-width: 230px;
        margin: 0 auto;
    }

    #postcontent .flex50.icon div img,
    #postcontent .flex33.icon div img,
    #postcontent .flex25.icon div img,
    #postcontent .flex50.icon.lrg div img,
    #postcontent .flex33.icon.lrg div img,
    #postcontent .flex50.icon.sml div img,
    #postcontent .flex33.icon.sml div img {
        margin: 0 auto;
        width: 120px;
        height: 120px;
    }
		
#postcontent .flex75.icon.sml {
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 300px;
    row-gap: 50px;
}

#postcontent .flex75.icon.sml div {
    max-width: 300px;
    text-align: center;
}

    /*------ ### END flex box custom stying ### ------*/
}

@media (min-width: 601px) { /*------ applies to devices above mobile ------*/
	#postcontent .inline-graphic.vscroll {
		position: relative;
		overflow-y: auto;
		justify-content: flex-start;
		align-items: flex-start;
		height: 600px;
		top: 0;
		row-gap: 0;
	}
	
	#postcontent .inline-graphic.vscroll:before {
		content: "Scroll over table to see data in full \2193";
		font-style: normal;
		color: #373a36 !important;
		display: inline-block;
		font-family: Open Sans;
		font-size: 12px;
		font-weight: 400;
		letter-spacing: .0125em;
		line-height: 20px;
		text-align: left;
		position: sticky;
		top: 0;
		background: var(--white);
		width: 100%;
		padding-bottom: 50px;
	}

	#postcontent .inline-graphic.vscroll table, #postcontent .inline-graphic.vscroll img {
    	min-height: 600px;
	}
	
	.vscroll::-webkit-scrollbar {
    	display: none;
	}
	
	.vscroll {
		scrollbar-width: none;
    	-ms-overflow-style: none;
	}
	
	#postcontent table.stickyhead thead {
    	position: sticky;
    	top: 70px;
    	background: white;
    	z-index: 2;
	}
	
	#postcontent table.stickyhead thead:before {
		content: "";
		background: white;
		height: 20px;
		width: 100%;
		position: absolute;
		top: -19px;
	}
	
	#postcontent table.stickyhead thead:after {
		content: "";
		background: white;
		height: 10px;
		width: 100%;
		position: absolute;
		bottom: -9px;
	}
}

@media (max-width: 600px) {
	
	/*--- temp people quote block ---*/

#postcontent .inline-graphic .flex50.quote {
    flex-direction: column-reverse;
}
    /*---- story block ----*/

    .content-block.story-blocks .stories .story-container .story,
    .content-block.story-blocks .stories .story-container .story:nth-child(2n) {
        padding: 0;
        margin-right: 0;
        margin-bottom: 50px;
    }

    .content-block.story-blocks .stories .story-container .story {
        flex: 100%;
        max-width: 100%;
    }

    .content-block.story-blocks .stories .story-container .story:last-child {
        margin: 0;
    }

    .content-block.story-blocks .stories .story-container {
        padding: 0 1.25rem;
    }

    /*--- Awards site styles ---*/

    .awards-wrapper .people .people-content .content-wrapper .content .share-widget {
        flex-wrap: wrap;
    }


    .share-widget:before {
        margin: auto auto 0.9375rem 0;
        flex: 1 0 100%;
    }

    /*------ show on mobile -----*/

    .disp-mob,
    .disp-tabmob {

        display: block !important;
    }

    .disp-desktop,
    .disp-desk,
    .disp-tablet,
    .disp-dsktab {
        display: none !important;
    }

    #postcontent .disp-mob,
    #postcontent .disp-tabmob {
        display: flex !important;
    }
	
	#postcontent .text.disp-mob,
	#postcontent .text.disp-tabmob {
		flex-direction: column;
	}
	
	#postcontent .text.disp-mob ul, #postcontent .text.disp-mob ol,
	#postcontent .text.disp-mob ul li, #postcontent .text.disp-mob ol li,
	#postcontent .text.disp-tabmob ul, #postcontent .text.disp-mob ol,
	#postcontent .text.disp-tabmob ul li, #postcontent .text.disp-mob ol li{
		margin-top: 0;
	}

    #postcontent .disp-desktop,
    #postcontent .disp-desk,
    #postcontent .disp-tablet,
    #postcontent .disp-dsktab {
        display: none !important;
    }

    /*------ image left and right -------*/

    img.right {
        max-width: 100%;
        float: none;
        padding: 0 0 0.9375rem 0;
    }

    img.left {
        max-width: 100%;
        float: none;
        padding: 0 0 0.9375rem 0;
    }

    /*------- display three column, three child flex ------*/

    #postcontent .flex33 div, .text-wrapper .flex33 div {
        flex: 1 0 100%;
        padding: 0;
    }
	
	.text-wrapper.full .flex25.icon div {
    margin: 0 auto;
}
    /*------ ### START table custom stying for new templates ### ------*/

    /*---- base table ----*/

    #postcontent table thead th,
    #postcontent table tbody th,
    #postcontent table tbody td,
    #postcontent table tfoot th,
    #postcontent table tfoot td {
        font-size: 12px;
        padding: 8px;
    }
	
	#postcontent tbody td ul li {
		margin: 0px 0px 8px 0px !important;
		font-size: 12px;
	}

    /*---- horizontal scroll ----*/

    #postcontent .inline-graphic.hscroll {
        position: relative;
        overflow-x: auto;
		align-items: flex-start;
    }

    #postcontent .inline-graphic.hscroll:before {
        content: "Scroll horizontally to see full graphic \2192";
        font-style: normal;
        color: #373a36 !important;
        display: inline-block;
        font-family: Open Sans;
        font-size: 12px;
        font-weight: 400;
        letter-spacing: .0125em;
        line-height: 20px;
        text-align: left;
        position: sticky;
        left: 0;
    }

    #postcontent .inline-graphic.hscroll table,
	#postcontent .inline-graphic.hscroll img {
        min-width: 600px;
    }
	
	/*---- to fix column width in tables ----*/
	
	#postcontent .inline-graphic.hscroll table.fixedcol th {
		min-width: 280px;
	}
	
    /*---- sticky first header column ----*/

    #postcontent table.stickycol tbody th:first-child,
    #postcontent table.stickycol tfoot th:first-child,
    #postcontent table.stickycol thead th:first-child {
        position: sticky;
        left: 0;
        background: white;
        z-index: 2;
		width: 26vw;
    }
	
	 /*---- policyLists mobile styles ----*/
	
	#postcontent .policyList div.flex66 div:last-child p.multibtns {
		flex-direction: column;
	}
	

    /*------ ### END table custom stying for new templates ### ------*/
}
