* {
  box-sizing: border-box;
}

/*------------------------------------------------------------------------------
 * Site Header
------------------------------------------------------------------------------*/

#site-header {
  border-bottom: 1px solid #eee;
}

#site-logo {
  font-weight: normal;
  line-height: 1.25rem;
  font-size: 1.25rem;
  text-align: center;
  padding: 0.875rem 0.5rem;
  border-bottom: 1px solid #eee;
}
/*
#site-logo a {
  color: #000;
}
#site-logo a:hover {
  color: hsl(215,100%,50%);
}
*/
#site-nav {
  display: flex;
  justify-content: center;
  height: 2rem;
}

#site-nav a {
  min-width: 4rem; /* jwg -- was 5 */
  padding: 0 1rem;
  display: block;
/*  color: #000; */
  white-space: nowrap;
  line-height: 2rem;
}
/*
#site-nav a:hover {
  color: hsl(215,100%,50%);
}
#site-nav a.site-nav-active {
  background: #eee;
  color: #999;
}
*/
@media screen and (min-width: 360px) {
  #site-nav a {
    /* padding: 0 1.25rem; */ /* jwg -- caused issues w/ narrow view */
  }
}

@media screen and (min-width: 720px) {
  #site-header {
    display: flex;
    flex-flow: row;
    align-items: center;
    height: 3.0625rem;
    border-bottom: 1px solid #eee;
  }
  #site-logo {
    flex: 1;
    padding: 0 1rem;
    text-align: left;
    border-bottom: none;
  }
  #site-nav {
    flex: 1;
    justify-content: flex-end;
    background: transparent;
    padding: 0 1rem;
    height: 3rem;
  }
  #site-nav a {
    padding: 0 1rem;
    height: 3rem;
    line-height: 3rem;
  }
  #site-nav a.site-nav-active {
  /*  background: #f6f6f6; */
  }
}

/*------------------------------------------------------------------------------
 * Site Container
------------------------------------------------------------------------------*/

#site-container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 1rem;
  min-height: 75vh;
}

@media screen and (min-width: 720px) {
  #site-container {
    /* padding: 2rem 0; */
  }
}

/*------------------------------------------------------------------------------
 * Site Footer
------------------------------------------------------------------------------*/

#site-footer {
  border-top: 1px solid #eee;
  padding: 1rem;

  display: flex;
  flex-flow: column;
  align-items: center;

  font-size: 0.75rem;
  /* color: #666; */
}

#site-footer a {
  /* color: #666; */
}
#site-footer a:hover {
  text-decoration: underline;
}
#site-footer a:after {
  display: inline-block;
  content: ' '; /* middle dot '\00B7';  */
  font-size: 0.75rem;
  line-height: 1.5;
  width: 1rem;
  text-align: center;
}
#site-footer a:last-of-type:after {
  display: none;
}

#site-footer-copyright {
  /* margin-bottom: 0.75rem; */
}

#site-footer-nav {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  /* margin-bottom: 0.75rem; */
}

@media screen and (min-width: 720px) {
  #site-footer {
    /* padding: 2rem 0; */
    font-size: 1rem;
  }
}

/*------------------------------------------------------------------------------
 * Forms
------------------------------------------------------------------------------*/

.form-default {
  max-width: 30rem;
  margin: 0 auto;
  padding: 1rem 0;
}

.form-title {
  font-size: 1.1rem;
  /* font-weight: bold; */
  text-align: center;
}

.form-group {
  display: flex;
  flex-flow: column;
  padding: 0.5rem 0;
}
.form-group label {
  font-weight: normal;
  line-height: 1.5rem;
  padding: 0.25rem 0;
}
.form-group input {
  line-height: 1;
  line-height: 2rem;
  height: 2rem;
  padding: 0 0.333rem;
  border: 1px solid #ccc;
}

.form-footer {
  margin-top: 1rem;
  padding: 0.75rem 0;
  display: flex;
  justify-content: space-between;
}

.input-group-checkboxes label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: normal;
}
.input-group-checkboxes label:hover {
  background: #f6f6f6;
}
.input-group-checkboxes label input {
  margin: 0 0.5rem;
}
.input-group-checkboxes label a {
  padding-left: 0.35rem;
}

@media screen and (min-width: 720px) {
  .form-default {
  }
}

/*------------------------------------------------------------------------------
 * Buttons
------------------------------------------------------------------------------*/

.btn {
  background: #eee;
  display: inline-block;
  box-sizing: border-box;
  border: none;

  padding: 0.375rem 0.75rem;
  height: 2rem;

  line-height: 1.25rem;
  color: #000;
  font-weight: normal;

  cursor: pointer;
}
.btn.btn-primary {
  background: #000;
  color: #fff;
}
input.btn.btn-primary:hover !important,
div.form-footer  input.btn.btn-primary:hover !important {
  color: #000;
}

/*------------------------------------------------------------------------------
 * Link Block
------------------------------------------------------------------------------*/

.linkblock {
  /* margin: 0 0 1.5rem; */
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}
.linkblock-header {
  border-top: 1px solid #eee;
  background: #f6f6f6;
}
.linkblock-title {
  font-size: 1.125rem;
  font-weight: normal;
  color: #000;
  padding: 0.25rem 0.5rem;
}
.linkblock a,
.linkblock .linkblock-inert {
  display: block;
  padding: 0.25rem 0.5rem;
  border-top: 1px solid #eee;
  cursor: pointer;
}
.linkblock a:hover {
  background: #f6f6f6;
}

@media screen and (min-width: 1200px) {
  .linkblock {
    -webkit-column-break-inside: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
  }
}

/*------------------------------------------------------------------------------
 * Company Categories
------------------------------------------------------------------------------*/

#company-categories {
}
@media screen and (min-width: 720px) {
  #company-categories {
    column-count: 2;
    -moz-column-count: 2;
    column-gap: 2rem;
    -moz-column-gap: 2rem;
    padding: 0 2rem;
  }
}

@media screen and (min-width: 1200px) {
  #company-categories {
    column-count: 3;
    -moz-column-count: 3;
    break-inside: avoid;
  }
}

/*------------------------------------------------------------------------------
 * Company Profile
------------------------------------------------------------------------------*/

#company-profile {
  max-width: 68rem;
  margin: 0 auto;
}
#cp-header {
  margin: 0 0 1rem;
  display: flex;
  align-items: center;
  margin-top:8px; /* to allow for two-line warn_div cases */
}
#cp-logo {
  width: 3rem;
  height: 3rem;
  /* background: #f6f6f6; */
}
#cp-title {
  margin-left: 0.75rem;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.25em;
}
#cp-description, #cp-summary {
  margin: 0 0 1.5rem;
  text-align:left;
}

@media screen and (min-width: 360px) {
  #cp-logo {
    width: 5rem;
    height: 5rem;
  }
}
@media screen and (min-width: 720px) {
  #cp-logo {
    width: 6rem;
    height: 6rem;
  }
  #cp-title {
    margin-left: 1rem;
  }
  /*
  #cp-infos,
 {
    display: flex;
  }
  #cp-infos .linkblock {
    flex: 1;
  }
  #cp-infos .linkblock:first-of-type {
    margin-right: 1em;
  }
  #cp-infos .linkblock:last-of-type {
    margin-left: 1em;
  }
  */
  /* .assetname div, th, td, h4, p {font-weight:200!important;color:#333!important;}
  */
  .cp-infos-asset {margin-top:0!important;padding: 20px 10px 8px 10px !important; border:1px solid #000 !important;  }
  .cp-infos-asset a {text-decoration:none!important;font-size:0.9em!important;border-bottom:1px solid!important;padding-bottom:6px!important;}
  .investorView .cp-infos-asset {margin-bottom:20px!important;}
  .investorView .cp-infos-asset th {border-bottom:1px solid #ccc!important;padding-bottom:12px!important}
  @media screen and (max-width:425px) {.cp-infos-asset a {line-height:2.5em!important;width:100%!important;display:block!important;} }
  .cp-description-asset { margin: 0px 0px 16px 0px; text-align:left!important;}
  .cp-summary-asset {margin:24px 0px 0px 0px !important;text-align:left!important;}

}

/*------------------------------------------------------------------------------
 * Back Button
------------------------------------------------------------------------------*/

.back-button {
  position: fixed;
  bottom: 1rem;
  right: 1rem;

  background: #f6f6f6;
  text-decoration: none;
  
  height: 3rem;
  width: 3rem;
  border-radius: 1.5rem;

  color: #000;
  line-height: 3rem;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;

  cursor: pointer;
  box-shadow: #eee 0 0 0 1px;
}

.back-button:hover {
  background: #000;
  color: #fff;
}
@media screen and (min-width: 960px) {
  .back-button {
    top: 5rem;
    left: 0rem;
  }
}


#warn_div {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  background: #fff;
  border-bottom: 1px solid #eee;
}

#warn_msg {
  padding: 0.75rem;
  line-height: 1.5rem;
  margin-left: 3rem;
}
#site-alert-icon {
  font-weight: bold;
  color: #999;
  background: #eee;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  text-align: center;
  float: left;
}
