@charset "utf-8";
/*------------------------------------------------------------------------- SECTION: Hero Banner 
*/
section.hero-banner {
	height: 640px;
	color: #fff;
	background: var(--sdsDarkBlueGrey) url(../images/consultancy-assistance.jpg) center top no-repeat;
	background-size: cover;
}
section.hero-banner .container {
	z-index: 2;
	height: 100%;
	padding: 0;
}
section.hero-banner .container::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100px;
	background: linear-gradient(180deg, #000 0%, rgba(0,0,0,0) 100%);
}
section.hero-banner .row {
	height: 100%;
	width: 100%;
	padding: 0;
}
section.hero-banner .column:first-of-type {
	position: relative;
	padding: 100px 40px 40px;
	background: rgba(0,0,0,0.6);
	max-width: 640px;
}
section.hero-banner .column:first-of-type::before {
	content: '';
	display: block;
	position: absolute;
	right: 100%;
	top: 0;
	width: calc((100vw - 1450px) / 2);
	height: 100%;
	background: rgba(0,0,0,0.6);
}
section.hero-banner .column:first-of-type::after {
	content: '';
	display: block;
	position: absolute;
	left: 100%;
	top: 0;
	width: 150px;
	height: 100%;
	clip-path: polygon(100% 50%, 0 0, 0 100%);
	background-color: rgba(0,0,0,0.6);
}
section.hero-banner .column:last-of-type {
	flex: 1;
	display: flex;
	flex-flow: column nowrap;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 40px 40px 80px;
	gap: 20px;
}
section.hero-banner .logo {
	max-width: 300px;
	margin-bottom: 40px;
}
section.hero-banner h1 {
	font-size: 48px;
	margin-bottom: 20px;
}
section.hero-banner h5 {
	margin-bottom: 50px;
}
section.hero-banner p {
	margin: 0;
	padding: 20px 0;
	position: relative;
}
section.hero-banner p::before,
section.hero-banner p::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}
section.hero-banner p::after {
	top: 100%;
}
section.hero-banner .button {
	max-width: 240px;
}
section.hero-banner .button:hover svg {
	stroke: var(--sdsLightGrey);
}

@media (max-width: 1140px) {
	section.hero-banner h1 {
		font-size: 40px;
	}
	section.hero-banner h5 {
		font-size: 18px;
		margin-bottom: 30px;
	}	
	section.hero-banner p {
		font-size: 15px;
	}
}
@media (max-width: 767px) {
	section.hero-banner {
		height: auto;
	}
	section.hero-banner .column:first-of-type {
		max-width: 100%;
	}
	section.hero-banner .column:last-of-type {
		display: none;
	}
	section.hero-banner .column:first-of-type::after {
		display: none;
	}	
}

/*------------------------------------------------------------------------- SECTION: Essential steps for Execution
*/
section.essential-steps {
	background-color: var(--sdsDarkRed);
	color: #fff;
	z-index: 2;
	text-align: center;
}
section.essential-steps::before,
section.essential-steps::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	top: 0;
	background: linear-gradient(90deg, rgba(255,255,0,0) 0%, var(--sdsYellow) 50%, rgba(255,255,0,0) 100%);
}
section.essential-steps .container {
	height: 100%;
	padding: 40px;	
}
section.essential-steps .container::before,
section.essential-steps .container::after {
	content: '';
	display: block;
	aspect-ratio: 8.25;
	position: absolute;
	top: 0;
	left: 50%;
	width: 200px;
	background: url(../images/glow.png) center center / 100% no-repeat;
	transform: translateY(-50%);
	opacity: 1;
}
section.essential-steps .container::after {
	left: 30%;
}
section.essential-steps::after,
section.essential-steps .container::after {
	top: 100%;
}
section.essential-steps h2 {
	margin: 0 auto 40px;
}
section.essential-steps .steps {
	margin: 0 auto;
	display: flex;
	flex-flow: row nowrap;
}
section.essential-steps li {	
	position: relative;
	display: flex;
	flex-flow: column nowrap;
	flex: 1;
	padding: 60px 20px 0;
	max-width: 280px;
	margin: 0 auto;
}
section.essential-steps li .number {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 80%;
	max-width: 120px;
	aspect-ratio: 0.7;
	filter: invert(1);
	opacity: 0.15;
	background: center center / 100% no-repeat;
	font-size: 0;
	transition: all 0.25s ease;
}
section.essential-steps li:nth-of-type(1) .number {
	background-image: url(../images/1.svg);
}
section.essential-steps li:nth-of-type(2) .number {
	background-image: url(../images/2.svg);
}
section.essential-steps li:nth-of-type(3) .number {
	background-image: url(../images/3.svg);
}

section.essential-steps li .icon {
	filter: var(--filterGrey);
	height: 50px;
	width: 50px;
	margin: 0 auto 20px;
	transition: all 0.25s ease;
}
section.essential-steps li h6 {
	margin: 0 auto 10px;
}
section.essential-steps li p {
	font-size: 15px;
	line-height: 1.1em;
	margin: 0 auto;
}
section.essential-steps li:hover .number {	
	transform: scale(130%);
}
section.essential-steps li:hover .icon {
	filter: var(--filterYellow);
}

@media (max-width: 640px) {
	section.essential-steps .steps {
		flex-direction: column;
	}
	section.essential-steps li {	
		max-width: 100%;
		margin: 0 auto 20px;
		padding: 60px 0 0;
	}
	section.essential-steps li h6 br {
		display: none;
	}
}


/*------------------------------------------------------------------------- SECTION: Indentifying the Risks 
*/
section.identify-risks {
	background-color: var(--sdsRed);
	color: #fff;
	padding: 60px 0 20px;
}
section.identify-risks:after {
	border-top-color: var(--sdsRed);
}
section.identify-risks h2 {
	text-align: center;
	margin: 0 auto 40px;
}
section.identify-risks ol {
	margin: 0 0 0 20px;
}
section.identify-risks ol li {
	break-inside: avoid;
}
section.identify-risks ol li::marker {
	font-weight: bold;
	color: var(--sdsLightGrey);
}
section.identify-risks ol li h6 {
	font-size: 16px;
	color: var(--sdsLightGrey);
	margin-bottom: 5px;
}

@media(min-width: 768px) {
	section.identify-risks ol {
		column-count: 2;
		column-gap: 40px;
	}	
}

/*------------------------------------------------------------------------- SECTION: Production of a Risk Register
*/
section.risk-register {
	padding: 180px 0 40px;
}
section.risk-register h2 {
	margin-bottom: 40px;
}
section.risk-register table {
	margin-top: 40px;
}
section.risk-register table thead th {
	font-weight: bold;
	text-transform: uppercase;
}
section.risk-register table tr {
	border-bottom: 1px solid var(--sdsDarkBlueGrey);
	transition: background-color 0.25s ease;
}
section.risk-register table tr:hover {
	background-color: #f9f9f9;
}
section.risk-register table thead tr th,
section.risk-register table tr td {
	padding: 15px 10px;
	position: relative;
}
section.risk-register table thead tr th:first-of-type,
section.risk-register table tr td:first-of-type {
	padding-left: 0;
}
section.risk-register table tr p {
	margin: 0;
	line-height: 1.1em;
}
section.risk-register .impact-level {
	font-weight: bold;
	display: block;
	margin-bottom: 5px;
}	

@media (max-width: 767px) {
    section.risk-register table, 
    section.risk-register tbody, 
    section.risk-register td, 
    section.risk-register tr {
	    display: block;
    }
    section.risk-registere thead, 
    section.risk-register th,
    section.risk-register thead tr {
		display: none;
	}
	section.risk-register table {
		border-top: 1px solid var(--sdsDarkBlueGrey);
	}
	section.risk-register table tbody tr td {
		padding: 10px 10px 10px 140px !important;
	}
	section.risk-register table tbody tr td::before {
		position: absolute;
		left: 0;
		top: 5px;
		width: 90px;
		height: 100%;
		white-space: nowrap;
		content: attr(data-label);
		padding: 10px 10px 10px 0;
		font-size: 12px;
		font-weight: bold;
        text-transform: uppercase;
        z-index: 2;
	}
	section.risk-register table tbody tr td:first-of-type::before {
		top: 15px;
	}
   section.risk-register table tbody tr td:first-of-type {
        padding-top: 20px !important;
    }
    section.risk-register table tbody tr td:last-of-type {
        padding-bottom: 20px !important;
    }
}

@media (max-width: 640px) {
	section.risk-register {
		padding: 120px 0 40px;
	}	
}
@media (max-width: 440px) {
	section.risk-register table tbody tr td::before {
		position:relative;
		width: 100%;
		top: auto !important;
		display: block;
	}
	section.risk-register table tbody tr td {
		padding: 10px 0 !important;
	}
}

/*------------------------------------------------------------------------- SECTION: Production of a Closure Plan
*/
section.closure-plan {
	padding: 40px 0 200px;
	text-align: center;
	background: linear-gradient(180deg, #fff 0%, #eee 100%);
	margin-bottom: -150px;
}
section.closure-plan h2 {
	margin: 0 auto 40px;
}
section.closure-plan p {
	margin: 0 auto 40px;
	max-width: 640px;
}
.plan-timeline .stage {
	position: relative;
	width: 100%;
	max-width: 260px;	
	margin: 0 auto;
	transition: all 0.25s ease;
}
.plan-timeline .stage.purpose {
	height: 80px;
}
.plan-timeline .stage .stage-title {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin: 5px auto 0;
	color: #fff;
	padding: 20px 0 20px;
	position: relative;
}
.plan-timeline .stage h4 {
	font-weight: 900;
	line-height: 1;
	font-size: 16px;
	position: relative;
	z-index: 3;
}
.plan-timeline .stage h4 span {
	display: block;
	text-transform: none;
}
.plan-timeline .stage:not(:first-of-type) .stage-title {
	clip-path: polygon(50% 50px, 100% 10px, 100% 100%, 0 100%, 0 10px);
	padding-top: 80px;
}
.plan-timeline .stage:last-of-type .stage-title {
	padding-bottom: 40px;
}
.plan-timeline .stage:not(:last-of-type)::after  {
	content:'';
	position: absolute;
clip-path: polygon(50% 100%, 0 0, 100% 0);
	left: -30px;
	top: calc(100% - 1px);
	display: block;
	width: calc(100% + 60px);
	height: 50px;
	z-index: 2;
}
.plan-timeline .stage.purpose::after,
.plan-timeline .stage.purpose .stage-title {
	background-color: #1bbac9;
}
.plan-timeline .stage.objectives::after,
.plan-timeline .stage.objectives .stage-title {
	background-color: #f9a40e;
}
.plan-timeline .stage.operation::after,
.plan-timeline .stage.operation .stage-title {
	background-color: #82bcc4;
}
.plan-timeline .stage.phase-1::after,
.plan-timeline .stage.phase-1 .stage-title {
	background-color: #72b3bc;
}
.plan-timeline .stage.phase-2::after,
.plan-timeline .stage.phase-2 .stage-title {
	background-color: #58a5af;
}
.plan-timeline .stage.phase-3::after,
.plan-timeline .stage.phase-3 .stage-title {
	background-color: #4d979f;
}
.plan-timeline .stage.assumptions::after,
.plan-timeline .stage.assumptions .stage-title {
	background-color: #e3828b;
}
.plan-timeline .stage.roles::after,
.plan-timeline .stage.roles .stage-title {
	background-color: #5ebf95;
}
.plan-timeline .stage.risk::after,
.plan-timeline .stage.risk .stage-title {
	background-color: #900114;
}
.plan-timeline .stage.success::after,
.plan-timeline .stage.success .stage-title {
	background-color: #282c37;
}
.plan-timeline .stage.operation .stage-title {
	padding-bottom: 0;	
	margin-bottom: -10px;
}
.plan-timeline .stage.phase:not(.phase-3) .stage-title {
	margin-top: -1px;
	padding: 70px 0 0;
	margin-bottom: -10px;
}
.plan-timeline .stage.operation::after,
.plan-timeline .stage.phase:not(.phase-3)::after  {
	left: 0;
	width: 100%;
	z-index:0 !important;
}
.plan-timeline .stage.phase .stage-title {
	clip-path: polygon(50% 50px, 100% 0, 100% 100%, 0 100%, 0 0);
}
.plan-timeline .stage:hover {
	cursor: pointer;
}
.plan-timeline .stage .definition {
	position: absolute;
	left: calc(100% - 40px);
	top: 0;
	width: calc((100vw - 320px) / 2);
	z-index: 99;
	height: 100%;
	text-align: left;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	transition: opacity 0.25s ease;
	opacity: 0;
}
.plan-timeline .stage:hover .definition {
	opacity: 1;
}
.plan-timeline .stage .definition span {
	display: block;
	padding: 0 0 0 10px;
	border-left: 5px solid;
	order: 3;	
}
.plan-timeline .stage.purpose .definition span {
	border-color: #1bbac9;
}
.plan-timeline .stage.objectives .definition span {
	border-color: #f9a40e;
}
.plan-timeline .stage.operation .definition span {
	border-color: #82bcc4;
}
.plan-timeline .stage.phase-1 .definition span {
	border-color: #72b3bc;
}
.plan-timeline .stage.phase-2 .definition span {
	border-color: #58a5af;
}
.plan-timeline .stage.phase-3 .definition span {
	border-color: #4d979f;
}
.plan-timeline .stage.assumptions .definition span {
	border-color: #e3828b;
}
.plan-timeline .stage.roles .definition span {
	border-color: #5ebf95;
}
.plan-timeline .stage.risk .definition span {
	border-color: #900114;
}
.plan-timeline .stage.success .definition span {
	border-color: #282c37;
}
.plan-timeline .stage .definition::before {
	content: '';
	display: block;
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	background-color: #000;
	border-radius: 50%;
	order: 1;
}
.plan-timeline .stage .definition::after {
	content: '';
	display: block;
	width: 8px;
	height: 1px;
	border-top: 2px dotted #000;
	order: 2;
	flex: 0 0 80px;
}

@media (max-width: 880px) and (min-width: 541px) {
	section.closure-plan {
		text-align: left;	
	}
	.plan-timeline .stage {
		margin: 0;
	}
	.plan-timeline .stage .definition {
		position: absolute;
		left: calc(100% - 40px);
		top: 0;
		width: calc(100vw  - 320px);
	}	
	section.closure-plan h2,
	section.closure-plan p {
		margin: 0 0 40px;
		max-width: 100%;
	}
}
@media (min-width: 881px) {
	.plan-timeline .stage:nth-of-type(even) .definition {
		left: auto;
		right: calc(100% - 40px);
		flex-direction: row-reverse;
	}
	.plan-timeline .stage:nth-of-type(even) .definition span {
		border-left: none;
		border-right: 3px solid;
		text-align: right;
		padding: 0 10px 0 0;
	}
}
@media (max-width: 540px) {
	.plan-timeline .stage .definition::before {
		display: none;
	}
	.plan-timeline .stage .definition::after {	
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 5px solid transparent;
		border-left: 5px solid transparent;
		border-top: 10px solid rgba(255,255,255,0.9);
		border-bottom: 0;
		flex: 1 0 auto;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.plan-timeline .stage .definition {
		left: 0;
		right: 0;
		top: -30px;
		margin: 0 auto;
        transform: translateX(-20px);
        width: calc(100% + 40px);
        max-width: 480px;
        background-color: rgba(255,255,255,0.9);
        padding: 10px;
		height: auto;
		backdrop-filter: blur(15px);
		-webkit-backdrop-filter: blur(15px);
		box-shadow: 0 5px 20px -5px rgba(0,0,0,0.4);
	}	
	.plan-timeline .stage .definition span {
		border: 0;
	}
}