html {scroll-behavior: smooth;}
*:focus-visible{
outline: 2px solid crimson !important; 
scroll-margin-top: 85vh !important;
}

  .hidden {
visibility: hidden;


}

  .hidden2 {
visibility: hidden;


}

.displayed{
  width: 100%;
  justify-content: center;
  height:100vh;


  
}



                .switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.switch input { 
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #010056;
}

input:focus + .slider {
  box-shadow: 0 0 1px #010056;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

/* Table of contents */
.colourheader, .toc {
  background: #010056;
  color: white;
  padding: 6vh;
  border-radius: 10px;
  font-family: Arial, Helvetica, sans-serif;
}

.toc ul {
  list-style-type: disc;
  padding-left: 25px;
  margin-top: 5px;
}

.toc li {
  margin-bottom: 6px;
  font-weight: normal;
}

.toc a {
  color: white;
  text-decoration: none;
  font-weight: normal;
}

.toc a:hover {
  text-decoration: underline;
}

.toc h1 {
  margin-top: 25px;
  margin-bottom: 25px;
  font-size: 2.2em;
  font-weight: bold;
  text-align: center;
  padding-bottom: 10px;
  letter-spacing: 1px;
}

.toc h3 {
  display: inline;
  margin: 0;
  font-size: 1.2em;
  font-weight: bold;
  color: white;
}

/* Expandable text button */
.detail-toggle-btn {
  display: inline-block !important;

  /* allow wrapping */
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: break-word;   /* ensures long text wraps */

  /* reset sizing constraints that prevent wrapping */
  width: auto;
  flex: 0 1 auto !important;

  box-sizing: border-box;

  /* styling */
  color: white;
  border: 1px solid white;
  background-color: transparent;
  font-weight: 500;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  text-align: left;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
}

.detail-toggle-btn:hover,
.detail-toggle-btn:focus,
.detail-toggle-btn:active {
  color: white !important;
  border-color: white !important;
  background-color: transparent !important;
  outline: none;
  box-shadow: none;
}


.detail-toggle-btn-black {
  color: black !important;
  border-color: black !important;
  background-color: transparent !important;
}
.detail-toggle-btn-black:hover,
.detail-toggle-btn-black:focus,
.detail-toggle-btn-black:active {
  color: black !important;
  border-color: black !important;
  background-color: transparent !important;
}




                  /* GLOBALS */

                    html, body {
                        position: relative;
                        width: 100%;
                        height: 100%;
                      }


                @media screen and (min-width: 768px){


                    body {
                      color: #222;
                      background-color: #fff;
                      margin: 0;
                      padding: 0;
                      -webkit-box-sizing: border-box;
                      box-sizing: border-box;
                      font-family: Arial, Helvetica, sans-serif;
                      font-size: 18px;
                      line-height: 1.5;
                      word-wrap: break-word;
                    }
                    
                }
                
                  @media screen and (max-width: 767px){


                    body {
                      color: #222;
                      background-color: #fff;
                      margin: 0;
                      padding: 0;
                      -webkit-box-sizing: border-box;
                      box-sizing: border-box;
                      font-family: Arial, Helvetica, sans-serif;
                      font-size: 15px;
                      line-height: 1.5;
                      word-wrap: break-word;
                    }
                    
                }
                  
                  header, section, nav, footer, figure, caption { /* This places text in center of various elements */
                  display: -webkit-box;
                  display: -ms-flexbox;
                  display: flex;
                  -webkit-box-pack: center;
                  -ms-flex-pack: center;
                  justify-content: center;
                  background-position: center;
                  background-repeat: no-repeat;
                  background-size: cover;
                  margin: 0;
                  padding: 0;
                }

                footer {
                  margin: 60px 0 0 0;
                }
                
                /* These are the default heading styles */
                @media screen and (max-width: 767px){
                
                  
                .text-big {
                  font-size: 15px;
                  margin: 10px 0;
                }
                
                .text-article{
                  font-size: 15px;
                  margin: 10px 0;
                }
                  
                }
                
                @media screen and (min-width: 768px){
                
                  
                                 .text-big {
                  font-size: 15px;
                  margin: 20px 0;
                }
                
                    .text-article{
                  font-size: 15px;
                  margin: 10px 0;
                }
                
                
                }
                
                
                
                /* These are the default paragraph, image and blockquote styles */


                p {
                  margin: 0 0 0 0;
                }

                img {
                  max-width: 100%;
                  height: auto;
                  vertical-align: middle;
                }

                blockquote {
                  margin: 30px 0 6px 0;
                  font-size: 30px;
                  color: #777;
                }

                small {
                  font-size: 14px;
                }
                
                
                /* CLASSES */
                .header {
                  background-color: #f4f4f4;
                  position: fixed;
                  top: 0;
                  left: 0;
                  right: 0;
                  height: 2vh;
                  display: flex;
                  align-items: center;
                  justify-content: space-between; /* space between jump-link and logo */
                  z-index: 10;
                  padding: 0 15px;
                }
                
                /* Jump link on the left */
                .jump-link {
                  font-size: 16px;
                  white-space: nowrap;
                }
                
                /* Responsive adjustments */
                @media (max-width: 767px) {
                  .header {
                    padding: 0 10px;
                  }
                
                  .jump-link {
                    font-size: 10px;
                    margin-right: 10px;
                  }
                
                  .logo-img {
                    height: 5vh;
                  }
                }


                  
                /* This is for fixed background images sometimes visible between content */
                

                @media screen and (min-width: 768px){

                .bigfixedimage{
                height: 93vh;
                width:100%;
                background-attachment: fixed;
                background-position: center;
                background-repeat: no-repeat;
                background-size:cover;cover;

                border-radius: 25px;}
                
                .bigfixedimage2{
                height: 93vh;
                width:100%;
                background-attachment: relative;
                background-position: center;
                background-repeat: no-repeat;
                                background-size:cover;cover;

                border-radius: 25px;}
                
                }
                
                @media screen and (max-width: 767px){

                .bigfixedimage{
                height: 30vh;
                background-position: center;
                background-repeat: no-repeat;
                background-size:cover;auto;
                border-radius: 25px;}
                
                .bigfixedimage2{
               height: 30vh;
                               width:100%;

                background-position: center;
                background-repeat: no-repeat;
                background-size:cover;auto;
                border-radius: 25px;}
                
                }
                
                
                
                @media screen and (min-width: 768px){

                        
                /* This is a colour panel */
                .colourheader{
                color: #fff;
                background-color: #010056;
                background-image: none;
                background-attachment: fixed;
                /*min-height: 93vh;*/
                border-radius: 25px;
                }
                
                .colourheader2{
                color: black !important;
                background-color: #F36617 !important;
                background-image: none;
                background-attachment: fixed;
                /*min-height: 93vh;*/
                border-radius: 25px;
                }
                
                .colourheader3{
                color: black;
                background-color: #F4F4F4;
                background-image: none;
                background-attachment: fixed;
                /*min-height: 93vh;*/
                border-radius: 25px;
                }
                  
                /* This pads element so it is a smaller block within contaiing element, eg to make text start closer to center */

                .paddeddiv{
                position: relative;
                box-sizing: border-box;
                padding: 40px 0;
                /*min-height: 85vh;*/
                height: 100%;
                display: flex;
                flex-direction: column;
                justify-content: center;
                width: 100%;
                max-width: 980px;
                margin: 0 24px;
                }
                  
                }
                
                @media screen and (max-width: 767px){

                        
                /* This is a colour panel */
                .colourheader{
                color: #fff;
                background-color: #010056;
                background-image: none;
                background-attachment: fixed;
                /*min-height: 30vh!important;*/
                border-radius: 25px;
                }
                
                .colourheader2{
                color: black !important;
                background-color: #F36617 !important;
                background-image: none;
                background-attachment: fixed;
                /*min-height: 30vh!important;*/
                border-radius: 25px;
                }
                
                .colourheader3{
                color: black;
                background-color: #F4F4F4;
                background-image: none;
                background-attachment: fixed;
                /*min-height: 93vh;*/
                border-radius: 25px;
                }
                
                
                .paddeddiv{
                position: relative;
                box-sizing: border-box;
                padding: 10px 0;
                min-height: 25vh;
                height: 100%;
                display: flex;
                flex-direction: column;
                justify-content: center;
                width: 100%;
                max-width: 980px;
                margin: 0 24px;
                }  
                  
                  
                }
                
                

               .col-medium {
                width: 100%;
                max-width: 680px;
                margin: 0 24px;
                }
 

                .text-indent {
                  margin-left: 30px;
                }
 
.selectize-input { font-size: 16px; line-height: 16px;}
.selectize-dropdown { font-size: 16px; line-height: 16px; } 

.sankey-link:hover { fill-opacity: 0.75 !important; }

.plotly .hoverlayer .hovertext { fill-opacity: 1 !important; stroke-opacity: 1 !important; }

/* Allow scrolling on mobile over graphs */
.scrolly {
    touch-action: pan-y !important;
    -ms-touch-action: pan-y !important;
}

.scrolly figure.sticky {
    touch-action: pan-y !important;
    pointer-events: auto !important;
}

.plotly-scrolling-over {
  touch-action: pan-y !important;
  overflow-y: auto;
}

.scrolly .maindrag,
.scrolly .angulardrag,
.scrolly .radialdrag,
.scrolly .radialdrag-inner {
    pointer-events: none !important;
}

/* Make cut 1 over time larger on mobile screen*/
@media screen and (max-width: 767px){
  .scrolly figure.sticky {
    height: 60vh !important;
    top: 10vh !important;
  }

  .scrolly figure.sticky .plotly {
    height: 100% !important;
  }
}

