html { font-size: 62.5%; background-color: #fff !important; }

body { color: #000; background-color: #fff !important; font-family: Arial, Helvetica, sans-serif; line-height: 2.1rem; font-size: 1.4rem; counter-reset: section; }

h1, h2, h3, h4, h5, h6 { font-family: Arial, Helvetica, sans-serif; line-height: 100%; margin-top: 0; }
h1, h2 { color: #46575E; }
h1 { text-transform: uppercase; font-size: 4rem; margin-bottom: 2rem; }
h2 { text-transform: uppercase; font-size: 3.4rem; margin-bottom: 2rem; }
h3 { font-size: 1.4rem; margin-bottom: 1.4rem; line-height: 2.1rem; }
h4 {  }
h5 {  }
h6 {  }
p { margin-top: 0; margin-bottom: 1.4rem; line-height: 2.1rem; font-size: 1.4rem; }
.intro { margin-bottom: 1.8rem; line-height: 2.4rem; font-size: 1.6rem; font-weight: bold;}
a { color: #1F4F82; text-decoration: none; }

/* = Helpers */
.clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden; }
 .visually-hidden {border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;}
 
/* = Layout */
#upgrade { padding: 30px; font-size: 18px; font-weight: bold; text-align: center; }
nav { background-color: #5F5F5F; position: fixed; left: 0; top: 0; width: 28rem; z-index: 10; height: 100%; padding: 3rem 2rem; box-sizing: border-box; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
nav p { text-transform: uppercase; color: #fff; font-size: 1.5em; }
nav li a ,
nav li  a:visited{ color: #fff !important; }
nav li a:hover { text-decoration: underline; }
nav #nav-visibility { position: absolute; right: -3.5rem; top: 0; width: 3.5rem; height: 100%; background-color: #5F5F5F; text-align: center; -webkit-transition: 0.3s background-color; transition: 0.3s background-color; }
nav #nav-visibility:hover { background-color: #7F7F7F; }
nav #nav-visibility:before { content: "\276F"; display: block; color: #fff; font-size: 3.4rem; width: 100%; position: absolute; top: 50%; font-family: 'Zapf Dingbats';}
nav.open #nav-visibility:before { content: "\276E"; }
nav ol { list-style: upper-roman; color: #fff; margin-bottom: 2rem; }
nav li { margin-bottom: 1rem; }
nav .button { background-color: #e90000; min-width: 120px; text-align: center; color: #ffffff; padding: 0.4rem 1.4rem; }
nav .button span { font-weight: bold; margin-left: 5px; }
nav .button:hover { background-color: #f60000; color: #fff; text-decoration: none; }
nav .button.download:after { /*content: "\22BB";*/ margin-left: 0.5rem; display: inline-block; font-weight: bold; }

header { min-height: 300px; position: relative; overflow: hidden; background: #aabcc1; }
header #bg-1 { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: block; background: url(../images/banner_img_2.jpg) no-repeat 20% 0 / cover;}
header #logo { display: block; width: 150px; height: 55px; background-image: url(../images/logo.png); background-repeat: no-repeat; background-size: contain; text-indent: -9999px; }
header h1 { margin-top: 4rem; }
header h1 span { display: block; text-transform: none; font-size: 2rem; line-height: 2.8rem; margin-top: 1rem; font-weight: normal; }

section { overflow: hidden; }
section h2:before { counter-increment: section; content: counter(section, upper-roman) "."; color: #fff; background: #FF7700; display: block; text-align: center; line-height: 2em; width: 2em; height: 2em; margin-bottom: 0.5rem; }
section.grey { background-color: #F4F4F4; }
.section-wrap { position: relative; max-width: 960px; width: 100%; margin: 0 auto; padding-left: 4rem; padding-right: 1.6rem; box-sizing: border-box; }
.section-wrap:not(.header) { padding-top: 3rem; padding-bottom: 3rem; }
/* #action-plan .section-wrap { border-top: 3px solid #f00; } */

#chapters { counter-reset: item; background: #b6c7cc; padding: 2rem 0; margin-bottom: 1.4rem; background-image: url(../images/chapters_bg.jpg); background-repeat: no-repeat; background-position: 65% 0; background-size: cover; }
#chapters ol { margin: 0; padding: 0; }
#chapters li { list-style: none; margin: 0 0 1.4rem 0; padding: 0; }
#chapters li .num { display: inline-block; float: left; text-align: center; line-height: 2em; width: 2em; height: 2em; }
#chapters li .num:before { counter-increment: item; content: counter(item, upper-roman) "."; color: #fff; background: #FF7700; display: block;  }
#chapters li a { display: block; margin-left: 3em; color: #000; font-size: 1.8rem; font-weight: bold; text-decoration: none; }
#chapters li a .sub-text { display: block; font-size: 1.4rem;font-weight: normal; margin-top: 0.5rem; }

.rule-list { margin: 0; padding: 0; list-style: none; }
.rule-list li { margin: 0 0 1.4rem 0; padding: 0 0 0 4.4em; }
.rule-list li:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.rule-list li .box { margin-bottom: 1rem; display: block; width: 3.4em; height: 3em; margin-left: -4.4em; border: 1px solid #f00; text-align: center; float: left; color: #f00; font-weight: bold; font-size: 1em; }
.rule-list li .box span { background-color: #f00; color: #fff; display: block; text-transform: uppercase; }
.rule-list li blockquote.outdent { margin-left: -4.4em; }

.step-list { counter-reset: step-item; margin: 0; padding: 0; }
.step-list li { list-style: none; margin: 0 0 1.4rem 0; padding: 0 0 0 5em; }
.step-list li:before { counter-increment: step-item; content: "Step " counter(step-item, decimal) "."; color: #f00; display: block; float: left; width: 4.5em; font-weight: bold; margin-left: -5em;}
.step-list li h4 { font-size: 1.4rem; margin-bottom: 1.4rem; line-height: 2.1rem;}
.step-list li blockquote.outdent { margin-left: -5em; }
.step-list.points li:before { content: "Point " counter(step-item, decimal) "."; }

.complexity-list { margin: 0; padding: 0; list-style: none; }
.complexity-list li { margin: 0 0 1.4rem 0; padding: 0 0 0 4.4em; }
.complexity-list li:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.complexity-list li .box { margin-bottom: 1rem; display: block; width: 8.4em; height: 8em; margin-left: -4.4em;background-color: #dfdfdf; text-align: center; float: left; color: #f00; font-weight: bold; font-size: 1em; }
.complexity-list li p { padding-left: 6.4em; }
.complexity-list li .box span { background-color: #f00; color: #fff; display: block; text-transform: uppercase; }
.complexity-list li blockquote.outdent { margin-left: -4.4em; }
.complexity-list li .box { background-position: 50% 50%; background-repeat: no-repeat; }
.complexity-list li:first-child .box { background-image: url(../images/complexity-icon1.png); }
.complexity-list li:nth-child(2n) .box { background-image: url(../images/complexity-icon2.png); }
.complexity-list li:nth-child(3n) .box { background-image: url(../images/complexity-icon3.png); } 
.complexity-list li:nth-child(4n) .box { background-image: url(../images/complexity-icon4.png); }  


blockquote { background-color: #46575E; color: #fff; padding: 1em 1.5em; margin: 0 0 1.4rem 0; }
blockquote p { margin-bottom: 0; font-weight: bold; font-size: 1.125em; color: #fff !important; }
blockquote cite { font-style: italic; font-size: 0.92em; line-height: 1.5em; display: block; margin-top: 0.5rem; }
blockquote cite a,
blockquote cite a:link,
blockquote cite a:visited { color: #ffffff; }

.button { display: inline-block; height: 3.2rem; line-height: 3.2rem; padding: 0 1.4rem; text-decoration: none; }
.form li { position: relative; }
label {display: inline-block;}
input[type="checkbox"] {opacity: 0;display: inline-block;vertical-align: middle;z-index: 100;width: 22px;height: 22px;top: 0;left: 0;position: absolute;cursor: pointer;}
input[type="checkbox"] + label {position: relative;padding: 0 0 0 40px;vertical-align: top;cursor: pointer; -webkit-transition: color 0.4s;transition: color 0.4s;}
input[type="checkbox"] + label:before {width: 18px;height: 18px;content: '';display: inline-block;background-color: #fff;top: 0;left: 0;position: absolute;cursor: pointer;}
input[type="checkbox"] + label span {display: inline-block;}
input[type="checkbox"] + label 	span:before {content: '\274C'; font-family: 'Zapf Dingbats'; display: inline-block;border: 0;width: 18px;height: 18px;line-height: 18px;position: absolute;top: 1px;left: 0;transform: scale(0);-webkit-transition: transform 0.4s;transition: transform 0.4s;color: #7F7F7F;font-size: 18px;}
input[type="checkbox"]:checked  + label span:before {transform: scale(1);}

.check-list .wrap { padding: 1.4rem; }
.check-list .list { background-color: #5F5F5F; color: #fff; }
.check-list ul { margin: 0; padding: 0; }
.check-list li li { margin-bottom: 1rem; }
.check-list .list li { list-style: none; margin-bottom: 1rem; }
.check-list .points { background-color: #e7edee; }
.check-list .points ol { counter-reset: step-item; margin: 0; padding: 0; }
.check-list .points ol > li { list-style: none; padding: 2rem 0 0 4rem; overflow: hidden; }
.check-list .points ol > li:first-child { padding-top: 0;}
.check-list .points ol > li:before { counter-increment: step-item; content: counter(step-item, decimal); color: #f00; display: block; float: left; width: 1em; font-weight: bold; margin-left: -1em; font-size: 4rem; line-height: 0.9em; }
.check-list .points ul { margin-left: 1rem; list-style: disc; }
.check-list h3 { text-transform: uppercase; font-size: 1.25em; }
.check-list .points h3 { color: #f00; }
.check-list h4 { font-size: 1.1em; }

.basic-list  ol  { counter-reset: step-item; padding:0; margin:0; }
.basic-list  ol > li {list-style: none; padding: 1rem 0 0 4rem; overflow: hidden;}
.basic-list  ol > li:before { counter-increment: step-item; content: counter(step-item, decimal) "."; color: #f00; display: block; float: left; width: 2em; font-weight: bold; margin-left: -2em; font-size: 2rem; line-height: 0.9em; }
.basic-list h4 { font-size: 1.45em; font-weight: normal; }

.link-list ol { counter-reset: footnote-item; word-wrap: break-word; word-break: break-all; margin: 0 0 2rem 0; padding: 0; }
.link-list li  { list-style: none; margin: 0 0 0.5rem 0; padding: 0 0 0 2em; }
.link-list li:before { counter-increment: footnote-item; content: counter(footnote-item, decimal); display: inline-block; width: 2em; font-size: 1rem; margin-left: -2em; vertical-align: super; }
.link-list li span { font-size: 1em; margin-left: -0.5rem; }

.link-list.two li:first-child:before { counter-increment: footnote-item+5; }
.link-list.two li:nth-child(2n):before  { counter-increment: footnote-item+1; }

.link-list.three li:first-child:before { counter-increment: footnote-item+7; }
.link-list.three li:nth-child(2n):before  { counter-increment: footnote-item+1; }

.link-list.four li:first-child:before { counter-increment: footnote-item+9; }

.link-list.five li:first-child:before { counter-increment: footnote-item+10; }
.link-list.five li:nth-child(2n):before  { counter-increment: footnote-item+1; }
.link-list.five li:nth-child(3n):before  { counter-increment: footnote-item+1; }


figure { margin: 3rem 0; }
figure figcaption { text-transform: uppercase; font-size: 1.45em; margin-bottom: 1em; }
figure figcaption span { color: #f00; font-weight: bold; }
figure .item { padding: 1rem; }
section figure.grey .item { background-color: #edefef; }
figure.grey .item { background-color: #f4f7f7; }
figure.bar-graph .graph { position: relative; color: #7E7F7F; margin-left: 2rem; margin-bottom: 8rem; }
figure.bar-graph .axis { position: absolute; }
figure.bar-graph .y-axis { left: -2rem; top: 0; height: 100%; width: 2rem; }
figure.bar-graph .y-axis span { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); display: block; width: 400px; -webkit-transform-origin: right bottom; transform-origin: right bottom; text-align: center; position: absolute; right: 0; }
figure.bar-graph .x-axis { left: 4rem; right: 0; bottom: -9rem; height: 4rem; text-align: center; }
figure.bar-graph ul { list-style: none; margin: 0; padding: 0; }
figure.bar-graph ul .bar { position: absolute; height: 100%; text-align: center; }
figure.bar-graph .bar span { display: block; font-size: 0.8em; position: absolute;}
figure.bar-graph .bar .value { text-indent: -9999px; width: 90%; left: 5%; bottom: 8px; -webkit-box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.1); box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.1); }
figure.bar-graph .bar .label { color: #000; top: 375px; line-height: 130%; }
figure.mini-bar-charts li p { font-size: 0.9em; line-height: 130%; display: table-cell; vertical-align: middle; height: 3em; }
figure.mini-bar-charts li { }
figure .single-bar-chart { position: relative; }
figure .single-bar-chart:before { content: ""; display: inline-block; vertical-align: top; height: 1.4rem; width: calc(100% - 3em); background-color: #DCE3E4; }
figure .single-bar-chart .bar { background-color: #FF7700; height: 1.4rem; position: absolute; top: 0;}
figure .single-bar-chart .value { color: #FF7700; display: inline-block; margin-top: -3px; margin-left: 0.3rem; vertical-align: top; font-weight: bold; }

figure#fig-1 .graph { /*background: url(../images/figure_1_grid.png) no-repeat 0 0;*/ height: 270px; max-width: 752px; }
figure#fig-1 ul .bar { width: 25%; }
figure#fig-1 ul .bar-1 { left: 13%; }
figure#fig-1 ul .bar-1 .value { height: 67%; background-color: #ED761B; }
figure#fig-1 ul .bar-2 { left: 43%; }
figure#fig-1 ul .bar-2 .value { height: 53%; background-color: #8DA6B1; }
figure#fig-1 ul .bar-3 { left: 73%; }
figure#fig-1 ul .bar-3 .value { height: 25%; background-color: #7F7F7F; }

figure#fig-1 .item { /*display: table; width: 100%;*/ }
figure#fig-1 .item aside { display:table-cell; vertical-align:middle;  }
figure#fig-1 .item aside.left { width: 50%;  }
figure#fig-1 .item aside.left h3 { font-size: 2rem; width: 200px;  float: left;  margin-left: 50px; color:#46575E; }
figure#fig-1 .item aside h4 { transition: all; font-size: 2.2rem; color: #fff; position: absolute; text-align: center; opacity:0; }
figure#fig-1 .item aside h4.acc { top: 70px; right: 70px;}
figure#fig-1 .item aside h4.inacc { bottom: 80px; left: 80px; }
figure#fig-1 .item aside.right {  }


figure#fig-2 .graph { background: url(../images/figure_2_grid.png) no-repeat 0 0; height: 335px; max-width: 752px; }
figure#fig-2 ul .bar { width: 25%; }
figure#fig-2 ul .bar-1 { left: 23%; }
figure#fig-2 ul .bar-1 .value { height: 54%; background-color: #ED761B; }
figure#fig-2 ul .bar-2 { left: 63%; }
figure#fig-2 ul .bar-2 .value { height: 76%; background-color: #8DA6B1; }
figure#fig-2 ul .bar-3 { left: 73%; }
figure#fig-2 ul .bar-3 .value { height: 25%; background-color: #7F7F7F; }
figure#fig-2 .bar .label { color: #000; width: 100%; top: 345px; line-height: 130%; }

/*figure#fig-2 ul { list-style: none; margin: 0; padding: 0; }
figure#fig-2 .item-1 .single-bar-chart .bar  { width: 61%; }
figure#fig-2 .item-2 .single-bar-chart .bar  { width: 55%; }
figure#fig-2 .item-3 .single-bar-chart .bar  { width: 53%; }
figure#fig-2 .item-4 .single-bar-chart .bar  { width: 49%; }
figure#fig-2 .item-5 .single-bar-chart .bar  { width: 47%; }
figure#fig-2 .item-6 .single-bar-chart .bar  { width: 45%; }
figure#fig-2 .item-7 .single-bar-chart .bar  { width: 42%; }
figure#fig-2 .item-8 .single-bar-chart .bar  { width: 41%; }
figure#fig-2 .item-9 .single-bar-chart .bar  { width: 38%; }
figure#fig-2 .item-10 .single-bar-chart .bar  { width: 31%; }
figure#fig-2 .item-11 .single-bar-chart .bar  { width: 28%; }
figure#fig-2 .item-12 .single-bar-chart .bar  { width: 18%; }*/

figure#fig-3 .item { padding-top: 50%; background-image: url(../images/figure3_small.png); background-repeat: no-repeat;  background-size: 95%; background-position:50%;}
figure#fig-3 .item .text { text-indent: -9999px; display: inline-block; position: absolute; }

figure#fig-4 .item { position: relative; padding-top: 153.4%; background-image: url(../images/fig_4_small_screens.png); background-repeat: no-repeat; background-position: 0 0; background-size: contain;}
figure#fig-4 .item .text { display: block; position: absolute; width: 100%; text-align: center; font-weight: bold; }
figure#fig-4 .item .text-1 { top: 5%; }
figure#fig-4 .item .text-2 { top: 54%; }

#action-plan .find-more-cta { text-align: center; width: 100%; margin-top: 20px; margin-bottom: 15px; }
#action-plan .find-more-cta label { font-size: 1em; font-weight: bold; text-transform: uppercase; margin-bottom: 15px; display: block; }
#action-plan .find-more-cta .button { background-color: #E90000; color: #ffffff; padding: 0.4rem 1.4rem; }
#action-plan .find-more-cta .button:hover { text-decoration: none; }
#action-plan .find-more-cta .button span { font-weight: bold; margin-left: 10px; }
#action-plan list h4 {  }
#action-plan .points li.action-point { display: none; }
#action-plan .find-more-cta .back-top { margin-top: 60px; float: right; padding-right: 30px; position: relative;  }
#action-plan .find-more-cta .back-top a { font-size: 0.9em; }
#action-plan .find-more-cta .back-top a:hover { color: #000; }
#action-plan .find-more-cta .back-top a i { top:-5px; transition: top 0.5s linear;  position: absolute;  right: 0;  top:-3px; display: inline-block; font-size: 0.9em; width: 10px; height: 20px; padding: 5px 10px; background-image: url(../images/arrow-up.png); background-position: 50% 50%; background-size: 70%; background-repeat: no-repeat;  }
#action-plan .find-more-cta .back-top a:hover i { top:-5px; transition: top 0.5s linear; }

footer .section-wrap { /* border-top: 3px solid #f00; */ color: #5F5F5F; }
footer p { font-size: 0.75em; line-height: 150%; }
.footnotes { counter-reset: footnote-item; word-wrap: break-word; word-break: break-all; font-size: 1.2rem; margin: 0 0 2rem 0; padding: 0; }
.footnotes li { list-style: none; margin: 0 0 0.5rem 0; padding: 0 0 0 2em; }
.footnotes li:before { counter-increment: footnote-item; content: counter(footnote-item, decimal); display: inline-block; width: 2em; font-size: 1rem; margin-left: -2em; vertical-align: super; }
#chapter-four aside { display: inline-block; }
#chapter-four aside.left { width: 65%; float: left; padding-right: 20px; box-sizing: border-box; }
#chapter-four aside.right { width: 25%; background-color: #dce3e3; padding: 20px; float: right;  }

.forecast-box ul { margin: 0 auto; padding:0; }
.forecast-box li { list-style: none; margin-bottom: 45px; position: relative; }
.forecast-box li.last { margin-bottom: 0; }
.forecast-box li .box { opacity: 0; -moz-transition: all 2s linear; -webkit-transition: all 2s linear; transition: all 2s linear; display: table; background-color: #8DA6B1; width: 100%; height: 150px; min-height: 150px; -webkit-box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.1); box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.1); position: relative; text-align: center; }
.forecast-box li p { display: table-cell; vertical-align:middle; text-align: center; font-weight: bold; font-size: 1.125em; color: #fff; }
.forecast-box li span.arrow { opacity: 0; -moz-transition: all 2s linear; -webkit-transition: all 2s linear; transition: all 2s linear; position: absolute; width: 100%; text-align: center; bottom: -75px; left: 0; z-index:15; }
.forecast-box li span.arrow .arrow-bar { width: 50px; height: 100px; margin: 0 auto; background-image: url(../images/box-arrow.png); background-repeat: no-repeat;  }
.no-animate { opacity: 1; -moz-transition: all 2s linear; -webkit-transition: all 2s linear; transition: all 2s linear; display: table; background-color: #8DA6B1; width: 100%; height: 150px; min-height: 150px; -webkit-box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.1); box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.1); position: relative; text-align: center; }
/* Forecast Box Animation */
	/* make keyframes that tell the start state and the end state of our object */
	@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
	@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
	@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
	
	.fade-in {
	  opacity:0;  /* make things invisible upon start */
	  -webkit-animation:fadeIn ease-in 1;  /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */
	  -moz-animation:fadeIn ease-in 1;
	  animation:fadeIn ease-in 1;
	  
	
	  -webkit-animation-fill-mode:forwards;  /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/
	  -moz-animation-fill-mode:forwards;
	  animation-fill-mode:forwards;
	
	  -webkit-animation-duration:1s;
	  -moz-animation-duration:1s;
	  animation-duration:1s;
	}
	
	/*.fade-in.one {
	  -webkit-animation-delay: 0.7s;
	  -moz-animation-delay: 0.7s;
	  animation-delay: 0.7s;
	} */
	.arrow.one {
	  -webkit-animation-delay: 1.2s;
	  -moz-animation-delay:1.2s;
	  animation-delay: 1.2s;
	}
	
	.fade-in.two {
	  -webkit-animation-delay: 2s;
	  -moz-animation-delay:2s;
	  animation-delay: 2s;
	}
	
	.arrow.two {
	  -webkit-animation-delay: 2.5s;
	  -moz-animation-delay:2.5s;
	  animation-delay: 2.5s;
	}
	
	.fade-in.three {
	  -webkit-animation-delay: 3.3s;
	  -moz-animation-delay: 3.3s;
	  animation-delay: 3.3s;
	}
	.arrow.three {
	  -webkit-animation-delay: 3.8s;
	  -moz-animation-delay: 3.8s;
	  animation-delay: 3.8s;
	}
	
	.fade-in.four {
	  -webkit-animation-delay: 4.6s;
	  -moz-animation-delay: 4.6s;
	  animation-delay: 4.6s;
	}


/*pie chart*/
.pie-wrap {  height: 300px;  position: absolute;  margin: 20px}
.pie-base { width: 300px;height: 300px;border-radius: 50%; background: #fde3a7;	opacity: 0.5;	position: absolute;	margin:20px; }
.pie-outer {	position: relative;    width: 340px;    height: 340px; }
.pie-wrap:before { content: ""; display: block; background-color: transparent; /*background-color: #e4dac2;*/ position: absolute; border-radius: 50%; width: 300px; height: 300px; top: 0; left: 0; }
.pie-wrap.second:before {background-color: transparent; /*background-color: #e4dac2;*/}
.slice-wrap:before { content: " "; position: absolute; width: 300px; height: 300px; border-radius: 150px; clip: rect(0px, 150px, 300px, 0px); background-color: #ed761b; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
.pie-wrap.second .slice-wrap:before {background-color: #8da6b1;}
.slice-wrap { position: absolute; width: 300px; height: 300px; border-radius: 150px; clip: rect(0px, 300px, 300px, 150px); }
.slice2.slice-wrap { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -o-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }
.draw-pie .slice1:before { -webkit-animation: 1s spin linear forwards; -moz-animation: 1s spin linear forwards; -o-animation: 1s spin linear forwards; -ms-animation: 1s spin linear forwards; animation: 1s spin linear forwards; }
.draw-pie .slice2:before { -webkit-transform: rotate(0.00001deg); -moz-transform: rotate(0.00001deg); /* webkit seems buggy with zero*/ -o-transform: rotate(0.00001deg); -ms-transform: rotate(0.00001deg); transform: rotate(0.00001deg); -webkit-animation: 1s spin2 linear 1s forwards; -moz-animation: 1s spin2 linear 1s forwards; -ms-animation: 1s spin2 linear 1s forwards; -o-animation: 1s spin2 linear 1s forwards; animation: 1s spin2 linear 1s forwards; }
.draw-pie .pie-wrap.second .slice1:before { -webkit-animation: 1s spin3 linear 2s forwards; -moz-animation: 1s spin3 linear 2s forwards; -o-animation: 1s spin3 linear 2s forwards; -ms-animation: 1s spin3 linear 2s forwards; animation: 1s spin3 linear 2s forwards; }
.draw-pie .pie-wrap.second .slice2:before { -webkit-animation: 1s none linear 4s forwards; -moz-animation: 1s none linear 4s forwards; -ms-animation: 1s none linear 4s forwards; -o-animation: 1s none linear 4s forwards; animation: 1s none linear 4s forwards; }
figure#fig-1 .item aside .draw-pie  h4 { -webkit-animation: 1s opacityFrom linear 3s forwards; -moz-animation: 1s opacityFrom linear 3s forwards; -o-animation: 1s opacityFrom linear 3s forwards; -ms-animation: 1s opacityFrom linear 3s forwards; animation: 1s opacityFrom linear 3s forwards; }
/*figure#fig-1 .item aside .draw-pie  h4 { opacity:1 !important; transition: all 3s linear 3s forwards; }*/
.pie-wrap:after { content: " "; /* remove this if you want pie shape to show*/ width: 80px; height: 80px; background: #fde3a7; position: absolute; top: 10px; left: 10px; border-radius: 50%; z-index: 999; }
.pie-wrap2:after {display: none}

@-webkit-keyframes spin {
 from {-webkit-transform: rotate(10deg);}
to {-webkit-transform: rotate(180deg);}
}
@-webkit-keyframes spin2 {
	from {-webkit-transform: rotate(0deg);}
	to {-webkit-transform: rotate(180deg);}
}
@-webkit-keyframes spin3 {
	from {-webkit-transform: rotate(0deg);}
	to {-webkit-transform: rotate(75deg);}
}
@-webkit-keyframes opacityFrom {
	from {-webkit-opacity: 0;}
	to {-webkit-opacity: 1;}
}
@-moz-keyframes spin {
 from {-moz-transform: rotate(10deg);}
to {-moz-transform: rotate(180deg);}
}
@-moz-keyframes spin2 {
	from {-moz-transform: rotate(0deg);}
	to {-moz-transform: rotate(180deg);}
}
@-moz-keyframes spin3 {
	from {-moz-transform: rotate(0deg);}
	to {-moz-transform: rotate(75deg);}
}
@-moz-keyframes opacityFrom {
	from {opacity: 0;}
	to {opacity: 1;}
}
@-ms-keyframes spin {
 from {-ms-transform: rotate(10deg);}
to {-ms-transform: rotate(180deg);}
}
@-ms-keyframes spin2 {
	from {-ms-transform: rotate(0deg);}
	to {-ms-transform: rotate(180deg);}
}
@-ms-keyframes spin3 {
	from {-ms-transform: rotate(0deg);}
	to {-ms-transform: rotate(75deg);}
}
@-ms-keyframes opacityFrom {
	from {opacity: 0;}
	to {opacity: 1;}
}
@-o-keyframes spin {
 from {-o-transform: rotate(10deg);}
to {-o-transform: rotate(100deg);}
}
@-o-keyframes spin2 {
	from {-o-transform: rotate(0deg);}
	to {-o-transform: rotate(180deg);}
}
@-o-keyframes spin3 {
	from {-o-transform: rotate(0deg);}
	to {-o-transform: rotate(75deg);}
}
@-o-keyframes opacityFrom {
	from {opacity: 0;}
	to {opacity: 1;}
}
@keyframes spin {
 from {transform: rotate(10deg);}
to {transform: rotate(180deg);}
}
@keyframes spin2 {
	from {transform: rotate(0deg);}
	to {transform: rotate(180deg);}
}
@keyframes spin3 {
	from {transform: rotate(0deg);}
	to {transform: rotate(75deg);}
}
@keyframes opacityFrom {
	from {opacity: 0;}
	to {opacity: 1;}
}




@media (min-width: 480px) {
	nav { width: 40rem; }
	
	header #bg-2 { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: block; z-index: 0; background: url(../images/banner_img_1.png) no-repeat 100% 0 / 55%; }
	nav #nav-visibility { right: -4rem; width: 4rem;  }
	
	.section-wrap { padding-left: 5rem; }
	section .section-wrap { position: relative; }
	section h2 { padding-left: 2.5em; }
	section h2:before { float: left; text-align: center; line-height: 2em; width: 2em; height: 2em; margin-bottom: 0; margin-left: -2.5em; }
	section h2:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
	
	#chapters ol { box-sizing: border-box; width: 50%; float: left; padding-right: 1rem; }
	#chapters ol.last { padding-left: 1rem; padding-right: 0;}
	#chapters li:last-child  { margin-bottom: 0; }

	.check-list .list ul { float: left; width: 50%; }
	
	figure.bar-graph .graph { margin-left: 5rem; margin-bottom: 7rem; }
	figure.bar-graph .bar span { font-size: 0.92em; }
	figure.bar-graph .x-axis { left: 4rem; bottom: -8rem; height: 4rem; }
	figure.bar-graph .y-axis { left: -5rem; width: 5rem; }
	figure#fig-2.bar-graph .y-axis { left: -8rem; }
	figure#fig-1 ul .bar { width: 20%; }
	figure#fig-1  .y-axis span { margin-right: 2rem; }
	figure#fig-2 ul { width: 50%; float: left; padding: 0 2rem 0 0; box-sizing: border-box; }
	figure#fig-2 ul:last-child { padding: 0 0 0 2rem; }
	figure#fig-3 .item { padding-top: 57.2%; position: relative; background-image: none; }
	figure#fig-3 .item div { background-repeat: no-repeat; background-size: 80%; background-position: 50%; position: absolute; height: 100%; width: 100%; top: 0; left: 0; }
	/*figure#fig-3 .item .text { text-indent: 0; display: inline-block; position: absolute; }
	figure#fig-3 .item #flowchart-boxes { background-image: url(../images/fig_3_shapes.svg); }
	figure#fig-3 .item #flowchart-boxes span { color: #fff; text-align: center; font-size: 0.9em; line-height: 130%;}
	figure#fig-3 .item #flowchart-boxes .text-1 { top: 38%; width: 16%; left: 6%; }
	figure#fig-3 .item #flowchart-boxes .text-2 { left: 40%;top: 41%; width: 11%;}
	figure#fig-3 .item #flowchart-boxes .text-3 { left: 64%;width: 22%; top: 19%;}
	figure#fig-3 .item #flowchart-phone { background-image: url(../images/fig_3_mobile.svg); }
	figure#fig-3 .item .text-4 { left: 75%;width: 22%; top: 59%; font-size: 0.9em; line-height: 130%; opacity: 0;}
	figure#fig-3 .item #flowchart-arrow-1{ background-image: url(../images/fig_3_arrow_1.svg); opacity: 0;}
	figure#fig-3 .item #flowchart-arrow-2-7 { background-image: url(../images/fig_3_arrow_2_7.svg); opacity: 0; }
	figure#fig-3 .item #flowchart-arrow-2-6 { background-image: url(../images/fig_3_arrow_2_6.svg); opacity: 0; }
	figure#fig-3 .item #flowchart-arrow-2-5 { background-image: url(../images/fig_3_arrow_2_5.svg); opacity: 0; }
	figure#fig-3 .item #flowchart-arrow-2-4 { background-image: url(../images/fig_3_arrow_2_4.svg); opacity: 0; }
	figure#fig-3 .item #flowchart-arrow-2-3 { background-image: url(../images/fig_3_arrow_2_3.svg); opacity: 0; }
	figure#fig-3 .item #flowchart-arrow-2-2 { background-image: url(../images/fig_3_arrow_2_2.svg); opacity: 0; }
	figure#fig-3 .item #flowchart-arrow-2-1 { background-image: url(../images/fig_3_arrow_2_1.svg); opacity: 0; }*/
	
	
	
	/*figure#fig-4 .item { padding-top: 43.9%; position: relative; background-image: none; }
	figure#fig-4 .item div { background-repeat: no-repeat; background-size: contain; position: absolute; height: 100%; width: 100%; top: 0; left: 0; }
	figure#fig-4 .item .text { text-indent: 0; display: inline-block; position: absolute; text-align: center; font-weight: bold; }
	figure#fig-4 .item .text-1 { top: 8%; width: 51%; left: 7%; }
	figure#fig-4 .item .text-2 { left: 56%; top: 8%; width: 44%;}*/
	figure#fig-3 .item #chart-1-1 { background-image: url(../images/fig3-1-1.svg); opacity: 0;}
	figure#fig-3 .item #chart-1-2 { background-image: url(../images/fig3-1-2.svg); opacity: 0;}
	figure#fig-3 .item #chart-1-3 { background-image: url(../images/fig3-1-3.svg); opacity: 0;}
	figure#fig-3 .item #chart-2-1 { background-image: url(../images/fig3-2-1.svg); opacity: 0; }
	figure#fig-3 .item #chart-2-2 { background-image: url(../images/fig3-2-2.svg); opacity: 0; }
	figure#fig-3 .item #chart-2-3 { background-image: url(../images/fig3-2-3.svg); opacity: 0; }
	figure#fig-3 .item #chart-3 { background-image: url(../images/fig3-3.svg); opacity: 0; }
	figure#fig-3 .item #chart-4 { background-image: url(../images/fig3-4.svg); opacity: 0; }
	figure#fig-3 .item #chart-5 { background-image: url(../images/fig3-5.svg); opacity: 0; z-index: 10; }
	figure#fig-3 .item #chart-6 { background-image: url(../images/fig3-6.svg); opacity: 0; z-index:15; }
}

@media (max-width: 479px) {
	section h2 br { display: none; }
}

@media (min-width: 801px) {
	body { line-height: 2.4rem; font-size: 1.6rem; }
	h1 { font-size: 6.4rem; margin-bottom: 2rem; }
	h2 { font-size: 6rem; margin-bottom: 2rem; }
	h3 { font-size: 1.6rem; margin-bottom: 1.6rem; line-height: 2.4rem; }
	p { margin-bottom: 1.6rem; line-height: 2.4rem; font-size: 1.6rem; }
	.intro { margin-bottom: 1.8rem; line-height: 3rem; font-size: 2rem; }
	
	header { min-height: 600px; }
	header #bg-1 {background: url(../images/banner_img_2.jpg) no-repeat 50% 0 / auto; }
	header #bg-2 { background: url(../images/banner_img_1.png) no-repeat 110% 0 / 60%; }
	header #logo { width: 200px; height: 73px; }
	header h1 { width: 50%; margin-top: 11rem; }	
	header h1 span { font-size: 4rem; line-height: 4.6rem; }
	
	section { position: relative; }
	section .section-wrap { position: relative; }
	section.grey .bg { width: 100%; height: 100%; position: absolute; top: 0; }
	section .bg.icons-bg { background-image: url(../images/section_bg_1.jpg); background-repeat: no-repeat; background-position: 100% 0; }
	section .bg.icons-fg { width: 542px; background-image: url(../images/section_bg_2.png); background-repeat: no-repeat; background-position: 100% -4rem; left: calc(50% + 480px);}
	
	#chapters { padding: 3rem 0; margin-bottom: 1.6rem; background-position: 50% 0; background-size: auto; }
	#chapters ol { padding-right: 3.4rem; }
	#chapters ol.last { padding-left: 3.4rem; }
	#chapters li .num { font-size: 2rem; }
	#chapters li a { font-size: 1.8rem; }
	#chapters li a .sub-text { font-size: 1.6rem; }
	
	.step-list li h4 { font-size: 1.6rem; margin-bottom: 1.6rem; line-height: 2.4rem; }
	
	.check-list .points ol > li { padding: 3rem 0 0 6.4rem; }
	.check-list .points ol > li:before { font-size: 6.4rem; }
	
	figure .item { padding: 3rem 5rem; }
	figure#fig-1 ul .bar { width: 15%; }
	figure#fig-3 .item #flowchart-boxes  span { font-size: 1em; }
	figure#fig-3 .item #flowchart-boxes .text-1 { top: 39%; width: 16%; left: 6%; }
	figure#fig-3 .item #flowchart-boxes .text-2 { left: 40%;top: 41%; width: 11%;}
	figure#fig-3 .item #flowchart-boxes .text-3 { left: 65%;width: 20%; }
	figure#fig-3 .item .text-4 { position: absolute; left: 75%;width: 22%; top: 59%; font-size: 1em; line-height: 150%; }
	
	figure#fig-1 .item aside.left h3 { display: table-cell; vertical-align: middle; color:#46575E; font-size: 3rem; line-height: 3rem; width: 80%; float: right; }
}

@media (max-width: 801px) {
	 figure#fig-1 .graph { height: 220px; }
	.pie-base { width: 250px;height: 250px; border-radius: 50%; }
	.pie-wrap:before { width: 250px; height: 250px; top: 0; left: 0; }
	.slice-wrap:before { width: 250px; height: 250px; border-radius: 125px; clip: rect(0px, 125px, 250px, 0px); }
	.slice-wrap { position: absolute; width: 250px; height: 250px; border-radius: 125px; clip: rect(0px, 250px, 250px, 125px); }
	figure#fig-1 .item aside h4 { font-size: 1.9rem; }
	figure#fig-1 .item aside h4.acc { top: 68px;  right: 105px; }
	figure#fig-1 .item aside h4.inacc { bottom: 114px; left: 70px;}
	figure#fig-1 .item aside.left {  width: 20%; }
}

@media (max-width: 680px) {
	figure#fig-1 .item aside.left {  width: 100%;  display: block;  text-align: center; }
	figure#fig-1 .item aside.left h3 { font-size: 2rem; width: 100%; float: none; margin-left: 0;  padding-top: 20px; }
	figure#fig-1 .item aside.right { width: 100%;  display: block; }
	.pie-outer { margin: 0 auto; }
}

@media (max-width: 480px) {
	figure#fig-1 .graph { width: 220px;  margin: 0 auto; }
	.pie-base { width: 180px;height: 180px; border-radius: 50%; }
	.pie-wrap:before { width: 180px; height: 180px; top: 0; left: 0; }
	.slice-wrap:before { width: 180px; height: 180px; border-radius: 90px; clip: rect(0px, 90px, 180px, 0px);}
	.slice-wrap { width: 180px; height: 180px; border-radius: 180px; clip: rect(0px, 180px, 180px, 90px); }
	figure#fig-1 .item aside h4 { font-size: 1em; }
	figure#fig-1 .item aside h4.acc { top: 50px; right: 160px; }
	figure#fig-1 .item aside h4.inacc { bottom: 170px; left: 60px; }
	
	#chapter-four aside.left { width: 100%;}
	#chapter-four aside.right { width: 100%; float: none; box-sizing: border-box; }
	
	.complexity-list li .box { width: 4.4em;  height: 4em; background-size: 50%; }
	.complexity-list li p { padding-left: 1.4em; }
}

@media (min-width: 1024px) {
	.section-wrap:not(.header) { padding: 6rem 0 6rem 5rem;}
	.check-list .wrap { padding: 3rem; }
	
}

@media (min-width: 1280px) {
	header #bg-2 { background: url(../images/banner_img_1.png) no-repeat 100% -14rem / auto; }
	section h2 { padding-left: 0; }
	section h2:before { margin-left: -2.5em; }
}

@media (min-width: 1600px) {
	.section-wrap { padding-left: 0 !important; }
}