@charset "utf-8";
/* CSS Document */

html, body {
    height: 100%;
    -moz-height:100vh;
    box-sizing:border-box;
    -webkit-box-sizing:border-box;
}

* {
    font-family: 'Open Sans', sans-serif;
}

p {

  font-family: 'Open Sans', sans-serif;
  font-size:16px;
  font-weight: 400;
}



.link {
    color: #15b3ea;
    transition: all 0.3s ease;
}

.link:hover {
    background: #dcf6ff;
    color: #15b3ea;
    text-decoration: none;
    transition: all 0.3s ease;
}

h2 {
    text-transform: uppercase;
    color:#0067ab;
    font-size: 1.2em;
    font-weight: 800;
    margin-bottom: 1.4em;
}

h3 {
    text-transform: uppercase;
    color:#0067ab;
    font-size: 1em;
    font-weight: 800;
}

h4 {
    color:#0067ab;
    font-size: 1em;
    font-weight: 600;
}

.carousel-caption h1 {
    font-size:48px;
    font-weight: 800;
    margin-bottom: 1.5em;
}

.subtitle {
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 3px;
}

.subtitle::before {
    content: "\2014\2014";
    display: inline-block;
    letter-spacing: -1px;
    margin-right:5px;
}

.subtitle-first {
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 3px;
    margin-bottom: 4.5em;
}

.h1-first {
    margin-bottom: 0 !important;
}

button:focus {
    outline: 0px dotted;
    outline: 0px auto -webkit-focus-ring-color;
}


.navigation {
	position:absolute;
	top:0;
	z-index:100;
	width:100%;
}

.navbar-light {
	background-color: #FFF;
}

.menu-container {
	background: #0067ab;
	padding:15px 0 15px;
	text-align: center;
}

.menu-item {
	display:inline-block;
	text-decoration: none;
	color:#FFF;
	font-weight: 600;
	margin:0 10px;
}


.menu-link {
    color: #FFF;
    text-decoration: none;
    transition: color 0.2s ease-in;
}

.menu-link:hover {
    text-decoration: none;
    color: #8bcbef;
    transition: color 0.2s ease-out;
}


.icon-bar {
	width: 22px;
	height: 2px;
	background-color: #0067ab;
	display: block;
	transition: all 0.2s;
}

.icon-bar:nth-child(1) {
	margin-bottom: 10px;
}

.icon-bar:nth-child(2) {
	margin-top: 10px;
}


.navbar-toggler {
  border: none;
  background: transparent !important;
}

.navbar-toggler[aria-expanded="true"] .top-bar {
  transform: rotate(45deg);
  transform-origin: 10% 10%;
	transition-delay: 0.1s;
}

.navbar-toggler[aria-expanded="true"] .middle-bar {
  opacity: 0;

}

.navbar-toggler[aria-expanded="true"] .bottom-bar {
  transform: rotate(-45deg);
  transform-origin: 10% 90%;
	transition-delay: 0.1s;
}

.navbar-toggler[aria-expanded="false"] .top-bar {
  transform: rotate(0);
}

.navbar-toggler[aria-expanded="false"] .middle-bar {
  opacity: 1;
	transition-delay: 0.5s;
}

.navbar-toggler[aria-expanded="false"] .bottom-bar {
  transform: rotate(0);
}

.slider, #carouselHomepage, .carousel-inner {
    height: 100vh;
    height:100%;
}



.carousel-item {
        transition: transform 3s ease, opacity 1.6s ease-out !important;
}


.carousel-inner::after{
  position:absolute; width:0; height:0; overflow:hidden; z-index:-1;
  content:url(../img/world.jpg) url(../img/stockouts.jpg) url(../img/orders.jpg) url(../img/collaboration.jpg);
}


.carousel-item {
  height: 100vh;
  height: 100%;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}


.carousel-item:after {
	content:'';
	position:absolute;
	left:0; top:0;
	width:100%; height:100%;
	display:inline-block;
	background: -moz-linear-gradient(top, rgba(32,177,240,0) 0%, rgba(0,103,168,0.65) 100%); /* FF3.6+ */
	background: linear-gradient(to bottom, rgba(32,177,240,0) 0%,rgba(0,103,168,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
}


.bi-arrow-left, .bi-arrow-right{
	color:#FFF;
	font-size: 32px;
}

.carousel-controls {
	position: absolute;
	bottom:0;
	right:0;
	z-index:10;
    padding:1em;

}

.carousel-indicators {
	position: absolute;
	bottom:0;
	left:0;
	z-index:10;
    margin:0;
    justify-content: flex-start;
    padding:1em 1em 1.8em 1em;
}

.carousel-indicators li {
    border-radius: 30px;
    width:10px;
    height:10px;
    border:0;
}

.carousel-caption {
    top:20%;
    text-align: inherit;
}

.carousel-caption p{
    font-size:1.1em;
}


.carousel-link {
    color:white;
    margin-right: 10px;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: 800;
}

.carousel-link:hover {
    color:white;
    text-decoration: none;
}

.shortcut-link:hover {
  opacity:0.7;
}

.grow-link {
    display: inline-block;
    text-decoration: none;
}

.grow-link::after  {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    transition: width .3s;
}

.grow-link:hover::after {
    width: 0;
    transition: width .3s;
}


.carousel-logo {
    max-height:120px;

}




.modal-content {
    border-radius: 0;
    outline: 0;
    border: 0;
}


.modal-content-video {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: transparent;
    background-clip: padding-box;
    border-radius: 0;
    outline: 0;
}

.modal-header {
    border-bottom: 0px;
    border:0;
}

.modal-body-video, modal-body {
    position: relative;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 0;
}

.close {
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #0067ab;
    text-shadow: 0 0px 0 #fff;
    opacity: 1;
    background: #FFF;
    padding: 1em;
}

button.close {
    background: #FFF;
    padding: 0.5em;
}

.close:not(:disabled):not(.disabled):hover {
    opacity: 1;
}


.modal-header .close {
    margin: -1rem -0.5rem -1rem auto;
}

.modal-header {
    padding:2em 2em 1em;
}

.modal-header h3 {
    margin:0;
    margin-top:0.6em;
}

.modal-body {
    padding:0 2em 2em;;
}

.modal-members-row {
    border-bottom: 1px solid #efefef;
    padding: 1em 0;
}

.modal-members-row:last-child {
    border:none;
}

/* Page */

.hero-banner {
        height: 35em;
    margin-bottom: 2rem;
    background-size: cover;
    background-position: center;
    position: relative;
}


.hero-banner::after{
	content:'';
	position:absolute;
	left:0; top:0;
	width:100%; height:100%;
	display:inline-block;
	background: -moz-linear-gradient(top, rgba(32,177,240,0) 0%, rgba(0,103,168,0.65) 100%); /* FF3.6+ */
	background: linear-gradient(to bottom, rgba(32,177,240,0) 0%,rgba(0,103,168,1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
}

.intro {
    margin-top:-25em;

}

.intro h1 {
    font-size:48px;
    font-weight: 800;
    margin-bottom: 1.5em;
    color: #FFF;
}

.intro .subtitle {
    color: #FFF;
}

.side {
    margin-bottom: 2em;
}

.side li {
    padding:1em 0;
    border-bottom:1px solid #757575;
}

.side a:hover::after {
    content:' →';
}

.side a {
    color:#757575;
    font-size:1.2em;
    transition: 0.2s all ease-out;
    font-weight: 300;
}

.side a:hover {
    color:#0067ab;
    padding-left:1em;
    transition: 0.2s all ease-out;
    text-decoration: none;
}

.white-box {
    background: #FFF;
    padding:3em;
}

.white-box p {
    color:#0067ab;
    font-size: 1.2em;
    font-weight: 400;
    line-height: 1.7;
    margin-bottom: 1.8em;
}


.blue-box {
    background: rgb(0,103,167);
    background: linear-gradient(90deg, rgba(0,103,167,1) 0%, rgba(32,176,239,1) 100%);
    color:#FFF;
    padding:2em;
}

.blue-box h2 {
    color:#FFF;
}

.impact-box {
  background-color: #f0faff;
  padding:1em;
}

.resources-section {
    padding:3em 0;
    background: #fff;
}

.list-group {
    border-radius: 0rem;
}

.list-group-item img {
    max-height: 40px;
    opacity: 0.5;
}

.list-group-item.active {
    z-index: 2;
    color: #0067ab;
    background-color: #fff;
    border:0;
    border-bottom: 3px solid #0067ab;
    font-weight: 800;
}

.list-group-item.active img{
    opacity:1;
}


.list-group-item {
    padding: 1rem 1.5rem;
    border:0;
    background-color: #fff;
}

.tab-content {
    margin:1em 0;
    padding: 1.5rem;
    background: #f9f9f9;
}

.resources-list li {
    padding: 1rem 0;
    border-bottom: 1px solid #efefef
}

.resources-list li:first-child {
    padding-top: 0;
}

.resources-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}


.rss-item li, ul{
    list-style-type: none;
    margin:0;
    padding:0;
}

.rss-box li {
    border-bottom: 1px solid #FFF;
    padding: 1em 0;
    transition: 0.2s all ease-in;
}


.rss-box li:last-of-type {
    border-bottom: 0;
}


.rss-item a{
    color:#FFF;
    text-decoration: none;
}

.rss-box li:hover {
    background: rgb(255,255,255,0.2);
    padding-left:1em;
    transition: 0.2s all ease-in;
}


.gray-box {
    padding: 2.5em 2.5em 2em;
    background: #f4f4f4;
}

.gray-box-bullets li{
    padding: 0.5em 0.5em 0.5em 1.2em;
    background: #FFF;
    margin-bottom: 1em;
    border-left:6px solid #0067ab;
    font-size:0.9em;
}

.gray-box p {
    line-height: 1.8;
}


.page-footer {
   margin:2em 0;

    color:#757575;
    padding:1em 0;
    font-size:0.9em;
}

.page-footer a{
    color:#757575;
    margin-right: 0.5em;
}

/* Member table */

.notification-gray {
  background: #f9f9f9;
  padding:0.8em 1em;
  color:#757575;
  border-radius:0.8em;
}

.table-wrapper {
/*  max-height:500px; */
/*  overflow-y: auto; */

}

.table-members {
  font-family: 'Open Sans', sans-serif;
  max-width:1140px;
  border-collapse: collapse;

}

.thead-members {
  font-size:0.9em;
  text-transform:uppercase;
  line-height:1.6em;
  color:#FFF;

}


.thead-members th {
  position: sticky;
  position: -webkit-sticky;
  top: -1px;
  background:#0067ab;
  z-index:99999;

}




.table-members thead th, .table-members td, .table-members .th {
  vertical-align: middle;
}


.table-head-col {
  width:130px;
  text-align: center;
  line-height:1.2em;

}

.table-members tbody+tbody {
    border-top: 1px solid #dee2e6;
}

.child-table {
  background: #f9f9f9;
  font-size:0.9em;
}

.child-table th {
  font-weight:400;
  color: #0067ab;
}

.child-table td {
  text-align:center;
}

.parent-table ~ .child-table {
  display:none;
  animation: anim .5s ease;
}

.open .parent-table ~ .child-table {
  display: table-row;
}

.open .parent-table {
  background: #0067ab;
  color:#fff;
}

.expand-button:after {
   font-family: "Font Awesome 5 Free";
   content: "\f077";
   display: inline-block;
   vertical-align: middle;
   font-weight: 900;
  transition: transform .2s ease;
}

.open .expand-button:after {
   font-family: "Font Awesome 5 Free";
   content: "\f077";
   display: inline-block;
   vertical-align: middle;
   font-weight: 900;
  transform: rotate(180deg);
  transition: transform .2s ease;
}

.parent-table {
  cursor: pointer;
  font-size:0.9em;
  color:#0067ab;
  font-weight:800;

}

.parent-table:hover {
  background: #f9f9f9;
}

.open .parent-table:hover {
  background: #0067ab;
}


.fa-question-circle {
  color:#fff;
  font-weight:200;
}

.fa-check-circle {
  color: #0067ab;
}


/* ICFP */
.icfp-h4 {
  font-weight: bold;
  border-top:1px solid #eee;
  padding-bottom: 10px;
  margin-bottom:0px;
  padding-top:20px;
}

.icfp-meta {
  color: #bbb;
  font-size:0.8em;
  padding:5px 10px;
  background:#efefef;
  border-radius: 100px;

}

.icfp-box {
  margin: 1.5em 0 1.5em;

}
.icfp-box p {
  margin-bottom:0.9em;
}

@keyframes anim {
  0% {
    opacity:0;
  }
  100% {

    opacity:1;
  }
}





@media screen and (max-width: 1024px) {


     .menu-item {
	display:block;
    border-bottom: 1px solid #0974aa;
    padding:0.5em 0;

}

    .menu-item:last-child {
        border-bottom: none;
    }

    .carousel-link {
      text-align: left;
    }

   .carousel-caption h1 {
        margin-bottom: 0.5em;
    }

        .carousel-caption img {
        display: none;
    }

    .carousel-caption {
        right: 5%;
        left: 5%;
    }

}

@media screen and (max-width: 576px) {
    .intro {
    margin-top:-30em;

    }

    .white-box {
        padding:2em;
    }

    .blue-box {
        padding:2em 0;
    }

    .carousel-caption h1 , .intro h1 {
        font-size:44px;
    }

    .carousel-caption h1 {
        margin-bottom: 0.5em;
    }

    .navbar-brand img {
        height: 34px;
        width:230px;

    }

    .navbar-brand {
        margin-right: 0;
    }

    .carousel-link {
        margin-right:20px;
        margin-bottom: 1.2em;
    }

    .hide-lg {
    display:none;
  }


    .table-wrapper {
        max-height:80vh;
        overflow-y: auto;

      }



}

@media screen and (max-height: 768px) {
    .carousel-caption h1 , .intro h1 {
        font-size:42px;
    }

   .carousel-caption h1 {
        margin-bottom: 1em;
    }

    .carousel-caption {
        top:15%;
    }

    .carousel-caption p{
        font-size:1em;
    }




}




@media screen and (max-height: 450px) {
    .intro {
    margin-top:-30em;

    }

    .white-box {
        padding:2em;
    }

    .blue-box {
        padding:2em 0;
    }

    .carousel-caption h1 , .intro h1 {
        font-size:44px;
    }

    .carousel-caption h1 {
        margin-bottom: 0.5em;
    }

    .navbar-brand img {
        height: 30px;
        width:203px;

    }

    .navbar-brand {
        margin-right: 0;
    }

              .hide-lg {
    display:none;
  }


}
