/*
 Theme Name:   Redwire UnderStrap Child
 Theme URI:    https://www.understrap.com
 Description:  UnderStrap Child Theme
 Author:       BowStern
 Author URI:   http://www.bowstern.com
 Template:     understrap
 Version:      0.1
 

 
*/

/* Default highlight color */
::-moz-selection {
  color: #fff;
  background: #e41836;
}
::selection {
  color: #fff;
  background: #e41836;
}


.alignwide {
        margin-left  : -80px;
        margin-right : -80px;
    }
.alignfull {
        margin-left  : calc( -100vw / 2 + 100% / 2 );
        margin-right : calc( -100vw / 2 + 100% / 2 );
        max-width    : 100vw;
    }

a { color: #e41836; text-decoration: none; }
a:hover { color: #e41836; text-decoration: underline; }

*  {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
#page {
    color: #555;
}

strong { font-weight: 700; }


/* NAV */

.navbar-brand img { width: 170px; margin-top: -30px; }

@media (max-width: 768px) { 
.navbar-brand img { margin-top: 0px; }
}

#top-menu .bar { padding-right: 5px; border-right: 1px solid #7c8082; }

#top-nav .navbar-nav  { padding-top: 0!important;padding-bottom: 0!important; }
#top-menu li { line-height: 12px; font-size: 12px; padding-top: 0!important;padding-bottom: 0!important;  }


#top-menu a {
    color: #7c8082;
    font-size: 12px;
    text-transform: uppercase;
    padding-top: 2px!important;padding-bottom: 2px!important;
}

#top-menu .bar a { color:#e41836; }

#top-menu .dropdown-menu { background: #f0f0f0; border-radius: 0px; border: none; }
#top-menu .dropdown-menu a { color: #555; padding-top: 4px!important; padding-bottom: 4px!important; }
#top-menu .dropdown-menu a:hover {
    background: #fafafa; text-decoration: none;
    }

.fa-credit-card:before {
    content: "\f09d";
}

.fa {
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#main-menu a {
border-bottom: solid 2px transparent;
    color: #7c8082;
    font-weight: 200;
    text-transform: uppercase;
    padding-left: 20px; padding-right: 20px;
}

#main-menu a:hover, #main-menu .current_page_item a {
border-bottom: solid 2px #e41836;
text-decoration: none;
color:#e41836;
}

#main-menu { margin-top: 40px; }


#wrapper-topbar { border-bottom: 2px solid #f0f0f0; }

#main-menu .dropdown-menu { 
background: #fff; 
border-radius: 0px; 
border-top: 2px solid #e41836; 
border-bottom: 2px solid #555; 
padding-top: 0;
padding-bottom: 0;
margin-top: -2px;
}

#main-menu .dropdown-menu a { text-transform: none; font-size: 0.9rem; color: #555; border-bottom: 1px solid #ccc; }
#main-menu .dropdown-menu a:hover { background: #f0f0f0; border-bottom: 1px solid #ccc; }

/* FOOTER */

#wrapper-footer-full { background: #292929;  padding: 3rem 0 2rem; }

#wrapper-footer-full h2 { 
	font-size: 18px;
    font-weight: 200;
    margin: 0 0 -2px 0;
    padding-bottom: 5px;
    display: inline-block;
    border-bottom: 2px solid #e41836;
    color: #eee!important;
    }
    
#wrapper-footer-full p { color: #eee!important; }

.dotted { 
	margin: 10px 0 25px 0;
    border-bottom: 1px dotted #e4e9f0;
    }
    
#menu-footer { 
	padding-left: 0;
    list-style: none;
    }
    
#menu-footer li { 
	border-top: solid 1px #353535;
	background: url(/wp-content/themes/redwire/img/footarrow.png) 100% 50% no-repeat;
    }
    
.contact { 
	background: url(/wp-content/themes/redwire/img/mapimage.png) 100% 50% no-repeat;
    }
    
@media (max-width: 768px) { 

.contact { 
	background: url(/wp-content/themes/redwire/img/mapimage.png) 100% 100% no-repeat;
    }
    
}


    
#menu-footer li a   {
    color: #eee;
    font-size: 11px;
    padding: 6px 0px;
    display: inline-block;
    text-transform: uppercase;
}

#topcontrol {
    color: #fff;
    z-index: 99;
    width: 30px;
    height: 30px;
    font-size: 20px;
    background: #222;
    position: relative;
    right: 14px !important;
    bottom: 11px !important;
    border-radius: 3px !important;
    opacity: 1;
}

#topcontrol:after {
    top: -2px;
    left: 8.5px;
    content: "\f106";
    position: absolute;
    text-align: center;
    font-family: FontAwesome;
}
#topcontrol:hover {
    color: #fff;
    background: #e41836!important;
    opacity: 1!important;
}


#FloatingSocialLinks {
	position: fixed; 
	left: 0; 
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;  
	top: 75%;
}
#FloatingSocialLinks .floatingsociallink {
	height: 32px; 
	width: 32px; 
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s; 
}
#FloatingSocialLinks .floatingsociallink:hover {
	width: 52px;
}
#FloatingSocialLinks .instagram {
	background-color: #cd5959; 
}
#FloatingSocialLinks .facebook {
	background-color: #3b5998; 
}
#FloatingSocialLinks .pinterest {
	background-color: #cb211d; 
}
#FloatingSocialLinks .youtube {
	background-color: #c02b29; 
}
#FloatingSocialLinks .googleplus {
	background-color: #dd4b39; 
}
#FloatingSocialLinks .twitter {
	background-color: #56a3d9; 
}
#FloatingSocialLinks .yelp {
	background-color: #c41200; 
}
#FloatingSocialLinks .floatingsociallink a {
	display: block;
	height: 32px;
}
#FloatingSocialLinks .floatingsociallink a .inner-floatingsociallink {
	width: 32px;
	height: 100%;
	float: right;
}
#FloatingSocialLinks .floatingsociallink .fa {
	color: #fff;
	text-align: center;
	width: 100%;
	line-height: 34px;
	font-size: 21px;
}


h1 { color: #e41836; font-weight: 200; }

.nf-form-fields-required { font-size: 90%; margin-bottom: 20px; font-style: italic; }

.nf-field-element input[type="submit"] { font-size: 1.5rem; padding: 10px 25px;  color: #fff; border: none; border-radius: 0;  background: #e41836; }
.nf-field-element input[type="submit"]:hover { background: #f40826; }
.nf-field-element input { padding: 10px; }

h4.phone { font-weight: 200; font-size: 1.2rem; }
h4.phone:before {
    content: "\f095\0020";
    font: normal normal normal 14px / 1 FontAwesome;
}

h3 { font-weight: 200; text-transform: uppercase; }
ul.icons { padding: 0; }
li.phone { list-style: none; padding-left: 0; }
li.phone:before {
    content: "\f095\0020";
    font: normal normal normal 14px / 1 FontAwesome;
    display: inline-block;
    width: 25px;
}
li.email { list-style: none; padding-left: 0; }
li.email:before {
    content: "\f0e0\0020";
    font: normal normal normal 14px / 1 FontAwesome;
    display: inline-block;
    width: 25px;
}

.contactline { height: 1px; border-top: 1px solid; margin: 1.5rem 0 2rem; }

.wp-block-pullquote { background: #d9edf7 url(/wp-content/uploads/2025/06/promise.png) 30px 50% no-repeat; text-align: left; padding: 2rem 2rem 2rem 150px; font-size: 1.3rem; }
@media (max-width: 768px) { 
.wp-block-pullquote { background: #d9edf7 url(/wp-content/uploads/2025/06/promise.png) 50% 30px no-repeat; padding: 150px 2rem 2rem 2rem; }
}

.employ { color: #fff; text-transform: uppercase; font-size: 2rem; padding: 0 20%; }
.employ span { color: #e41836; }
.employ small { color: #999; font-size: 0.9rem; }
@media (max-width: 768px) { 
.employ { font-size: 1.2rem; padding: 0 10%;}
}

.wp-block-button__link { font-size: 1.2rem; text-transform: uppercase; padding: 10px 25px;  color: #fff; border: none; border-radius: 0;  background: #e41836;  }
.wp-block-button__link:hover { background: #555; color: #fff; text-decoration: none; }


.secondary { margin: 3rem 0; }
.secondary .wp-block-button__link { border-radius: 0; color: #555; border: 1px solid #555!important; background: #fff; font-weight: 400; font-size: 1.3rem; }
.secondary .wp-block-button__link:hover { background: #555; color: #fff; text-decoration: none; }

.page-id-20  .secondary .wp-block-button__link { font-size: 1rem; }

.red { color: #e41836; }
h2.red { font-weight: 200; font-size: 1.5rem; }



/* PEOPLE */

.offcanvas-person { width: 90%!important; padding: 3rem; }

.person { margin-bottom: 2rem; }
.person h3 { background: #555; color: #fff; font-size: 1.1rem; font-weight: 700; line-height: 1.2rem; margin: 0;padding-top: 0.5rem; }
.person h4 { background: #555; color: #fff; font-size: 0.9rem; line-height: 1rem; margin: 0; padding-bottom: 0.5rem; }
.person a:hover { opacity: 0.8; }

.bio { margin-bottom: 3rem; }
.bio h3 { font-size: 1.3rem; font-weight: 700; line-height: 1.4rem; margin: 0rem 0 0.2rem 0; }
.bio h4 { font-size: 1rem; line-height: 1.1rem; margin: 0.2rem 0; }
 h5.details { font-size: 1rem; font-weight: 200; }

#pagebanner { background-color: #fafafa; }

@media (max-width: 768px) {
#pagebanner { height: 70vh;}
#cta { padding: 4rem 0; }
}
.character { height: 500px; background-size: 1000px; background-repeat: norepeat; background-position: 50% 50%; }
.char-alt { background-size: 100%; height: 400px; }

@media (max-width: 768px) {
.character { height: 300px; background-size: 700px; }
.person h3 { font-size: 0.9rem; }
.person h4 { font-size: 0.7rem; }
.bio h3 { margin-top: 1rem; }
.char-alt { background-size: 300px; height: 400px; }
}


.bell { background-size: 30px; background-image: url(/wp-content/themes/redwire/img/icon-bell.png); background-position: 0 50%; background-repeat: no-repeat; padding: 10px 0 10px 40px;  }
.bell a {color: #555; text-decoration: none; font-size: 1.3rem; }
.bell:hover { background-image: url(/wp-content/themes/redwire/img/icon-bell-red.png); }
.bell a:hover { text-decoration: none; color: #e41836; }

.plus { background-size: 30px; background-image: url(/wp-content/themes/redwire/img/icon-plus.png); background-position: 0 50%; background-repeat: no-repeat; padding: 10px 0 10px 40px;  }
.plus a {color: #555; text-decoration: none; font-size: 1.3rem; }
.plus:hover { background-image: url(/wp-content/themes/redwire/img/icon-plus-red.png); }
.plus a:hover { text-decoration: none; color: #e41836; }

.warn { background-size: 30px; background-image: url(/wp-content/themes/redwire/img/icon-warn.png); background-position: 0 50%; background-repeat: no-repeat; padding: 10px 0 10px 40px;  }
.warn a {color: #555; text-decoration: none; font-size: 1.3rem; }
.warn:hover { background-image: url(/wp-content/themes/redwire/img/icon-warn-red.png); }
.warn a:hover { text-decoration: none; color: #e41836; }

figcaption { text-align: center; }


/*Image-hover*/
figure {
    margin: 0;
    position: relative;
}
figure img {
    z-index: 10;
    height: auto;
    max-width: 100%;
    text-align: center;
    position: relative;
    display: inline-block;
}
figure .img-hover {
    z-index: 5;
    display: block;
    position: absolute;
}
figure h1 {
    color: #e41836;
    font-size: 14px;
    font-weight: 600 !important;
	margin-top: 0%;
}

figure h1 p {
    color: #000000;
    font-size: 9px;
	margin-top: 0%;
}

.effect2 figure .img-hover {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 10px;
    line-height: 8.5em;
    text-align: center;
    background-color: transparent;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: rotateY(-180deg);
    -moz-transform: rotateY(-180deg);
    -ms-transform: rotateY(-180deg);
    -o-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
    -webkit-transition: all 1.0s;
    -moz-transition: all 1.0s;
    -ms-transition: all 1.0s;
    -o-transition: all 1.0s;
    transition: all 1.0s;
}
.effect2 figure .img-hover h1 {
  font-weight: 200;
  line-height: 24px;
  display: inline-block;
  vertical-align: middle;
  margin-top: -20%;
}

.effect2 figure .img-hover p {
  font-weight: 200;
  line-height: 20px;
  display: inline-block;
  vertical-align: middle;
  margin-top: -60%;
}

.effect2 figure img {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: all 1.0s;
    -moz-transition: all 1.0s;
    -ms-transition: all 1.0s;
    -o-transition: all 1.0s;
    transition: all 1.0s;
}
.no-touch .effect2 figure:hover img,
.effect2 figure.hover img {
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
    transform: rotateY(180deg);
}
.no-touch .effect2 figure:hover .img-hover,
.effect2 figure.hover .img-hover {
    -webkit-transform: rotateY(0);
    -moz-transform: rotateY(0);
    -ms-transform: rotateY(0);
    -o-transform: rotateY(0);
    transform: rotateY(0);
}


.departments { border: 1px solid #555; padding: 1.5rem 1rem; }
.departments h2 { font-weight: 200; font-size: 1.5rem; }
.departments .secondary { margin: 0; }
.departments .secondary .wp-block-button__link { font-size: 1rem; }


.whitefade { background: rgba(255,255,255,0.75); padding: 3rem;}
.whitefade h1 { color: #e41836; font-weight: 400; }
.whitefade p { line-height: 200%; }

.landhero { padding: 10rem 10% 5rem 10%; }
.landherox { padding: 0rem 10% 0rem 10%; }
.landherox .whitefade { margin-bottom: 0; }
.landherox { gap: 0!important; }
.landherox .is-layout-flex { gap: 0!important; }
.landherox .wp-block-columns { margin-bottom: 0!important; }

@media (max-width: 768px) {

.whitefade {  background: rgba(255,255,255,1); padding: 1rem;}
.landhero { padding: 0rem; gap: 0!important; }
.landhero .is-layout-flex { gap: 0!important; }
.landhero .wp-block-columns { margin-bottom: 0!important; }
.paddington { padding: 0 10%; }
}



.greyland { padding: 2rem 10%; }

.greyland h3 { position: relative; font-weight: 700; text-transform: uppercase; text-align: center; }

.greyland h3:after {
    content: "";
    display: block;
    width: 35px;
    border-bottom: 2px solid #c32032;
    margin: 20px auto 25px auto;
    z-index: 1;
    position: relative;
    box-sizing: border-box;
    text-align: center;
}

.greyland h3:before
 {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    border-bottom: 2px solid #eee;
    box-sizing: border-box;
}

.greyland h4 { position: relative; font-weight: 700; text-transform: uppercase; text-align: center; color: #fff; }

.greyland h4:after {
    content: "";
    display: block;
    width: 35px;
    border-bottom: 2px solid #c32032;
    margin: 20px auto 25px auto;
    z-index: 1;
    position: relative;
    box-sizing: border-box;
    text-align: center;
}

.greyland h4:before
 {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    border-bottom: 2px solid #eee;
    box-sizing: border-box;
}

.inaredbar { background: #e41836; color: #fff; padding: 1rem 0; }
.inaredbar a { color: #fff; text-decoration: none; font-size: 2rem; }

.page-template-landingpage  #full-width-page-wrapper { padding-top: 0!important; }

@media (min-width: 767px) {
.retired { margin-top: 6rem; }
}

.redstripe { padding: 0 10%; }
.redstripe p { color: #fff!important; }
.redstripe p a { background: #000; color: #fff!important; padding: 0 10px; text-decoration: none; }

@media (max-width: 767px) {
.redstripe p a { display: block; }
.redstripe p { margin-top: 1rem; }
}


.osano-cm-info-dialog__info { color: #fff; }

.osano-cm-widget {
        background-image: url(/wp-content/themes/redwire/img/privacy.svg);
        background-size: contain;
        border-radius: 100%;
        width: 40px;
        height: 40px;
        right: 1rem;
        bottom: 1rem;
        opacity: 0.9;
        transition-property: opacity, visibility, transform;
                        }
      .osano-cm-widget svg {
        display: none;
                        }
      .osano-cm-widget:focus,
      .osano-cm-widget:hover {
        opacity: 1;
        transform: none;
                        }
      .osano-cm-widget:active {
        transform: translateY(1px);
                        }