/*  
    base - slight modifications to override base Bootstrap
    these values are configurable using theme.yml > Theme Fonts area 
    or by editing base variables in cb.scss
*/

/* set up base variable to override from cb.scss */
$base-font-family: "" !default;
$base-font-size: "" !default;
$text-color: "" !default;
$link-color: "" !default;

/* smooth scroll for back to top, unless user opt out */
html {
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
}

/* set font base set in theme.yml */
body {
    @if $base-font-family != "" { font-family: $base-font-family; }
    @if $base-font-size != "" { font-size: $base-font-size; }
    @if $text-color != "" { color: $text-color; }
}
a {
    /* remove link underline */ 
    text-decoration: none;
    @if $link-color != "" { 
        color: $link-color; 
        &:hover {
            @if $text-color != "" { color: $text-color; }
        }
    }
}

/* skip nav for accessibility, based on https://webaim.org/techniques/skipnav/ */
#skip-to-content a {
	padding:6px;
	position: absolute;
	top:-100px;
	left:0px;
	color:white;
	border-right:1px solid white;
	border-bottom:1px solid white;
	border-bottom-right-radius:8px;
	background:#BF1722;
	-webkit-transition: top 1s ease-out;
    transition: top 1s ease-out;
    z-index: 100;
}
#skip-to-content a:focus {
	position:absolute;
	left:0px;
	top:0px;
	outline-color:transparent;	
	-webkit-transition: top .1s ease-in;
    transition: top .1s ease-in;
}

/* banner */
#home-banner-logo { 
    height: 40px; 
}

/* nav bar */
#mobile-nav-image {
    max-height: 1.5em;
}

/* footer */
#footer-logo {
    height: 50px;
}
#footer-credits {
    img { height: 40px; }
}

#footer-nav .nav-link.active, #footer-nav .show > .nav-link {
    color: #fff;
    border: solid white 1px;
    background: transparent;
  }

  #footer-nav .nav-link:hover {
    color: white;
    background: rgba(255,255,255,.10);
}

/* scroll to top */
#scroll-to-top {
    display: none; 
    position: fixed; 
    bottom: 20px; 
    right: 20px; 
    z-index: 99;
    font-size: 40px; 
}

/* feature include tweaks */
.feature-alert p:last-of-type { margin-bottom: 0; }
@media (min-width: 768px) {
    .feature-w-25 {
        width: 25%!important;
    }
    .feature-w-50 {
        width: 50%!important;
    }
    .feature-w-75 {
        width: 75%!important;
    }
    .feature-w-100 {
        width: 100%!important;
    }
    .feature-float-end {
        float: right!important;
    }
    .feature-float-start {
        float: left!important;
    } 
}

/* bootstrap icons tweaks */
.bi { 
    display: inline-block;
    fill: currentColor;
    vertical-align: text-bottom; 
    overflow: hidden;
}
.icon-sprite {
    width: 1em;
    height: 1em;
    vertical-align: -0.1em;
}
