/* GLOBAL CSS to handle overall structure / layout
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Table of contents
––––––––––––––––––––––––––––––––––––––––––––––––––
- Grid
- Base Styles
- Typography
- Links
- Buttons
- Forms
- Lists
- Code
- Tables
- Spacing
- Utilities
- Clearing
- Media Queries
*/


/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
  position: relative;
  width: 100%;
  max-width: 1950px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box; }

.column,
.columns {
  width: 100%;
  float: left;
  box-sizing: border-box; }

/* For devices larger than 400px */
@media (min-width: 400px) {
  .container {
    width: 95%;
    padding: 0; }
}

/* For devices larger than 670px */
@media (min-width: 670px) {
  .container {
    width: 89%; }
  .column,
  .columns {
    margin-left: 4%; }
  .column:first-child,
  .columns:first-child {
    margin-left: 0; }
  .unpadded-column.columns, .unpadded-column.column {
    margin-left: 0; }    

  .one.column,
  .one.columns                    { width: 4.66666666667%; }
  .two.columns                    { width: 13.3333333333%; }
  .three.columns                  { width: 22%;            }
  .four.columns                   { width: 30.6666666667%; }
  .five.columns                   { width: 39.3333333333%; }
  .six.columns                    { width: 48%;            }
  .seven.columns                  { width: 56.6666666667%; }
  .eight.columns                  { width: 65.3333333333%; }
  .nine.columns                   { width: 74.0%;          }
  .ten.columns                    { width: 82.6666666667%; }
  .eleven.columns                 { width: 91.3333333333%; }
  .twelve.columns                 { width: 100%; margin-left: 0; }

  .one-third.column               { width: 30.6666666667%; }
  .two-thirds.column              { width: 65.3333333333%; }

  .one-half.column                { width: 48%; }

  /* Offsets */
  .offset-by-one.column,
  .offset-by-one.columns          { margin-left: 8.66666666667%; }
  .offset-by-two.column,
  .offset-by-two.columns          { margin-left: 17.3333333333%; }
  .offset-by-three.column,
  .offset-by-three.columns        { margin-left: 26%;            }
  .offset-by-four.column,
  .offset-by-four.columns         { margin-left: 34.6666666667%; }
  .offset-by-five.column,
  .offset-by-five.columns         { margin-left: 43.3333333333%; }
  .offset-by-six.column,
  .offset-by-six.columns          { margin-left: 52%;            }
  .offset-by-seven.column,
  .offset-by-seven.columns        { margin-left: 60.6666666667%; }
  .offset-by-eight.column,
  .offset-by-eight.columns        { margin-left: 69.3333333333%; }
  .offset-by-nine.column,
  .offset-by-nine.columns         { margin-left: 78.0%;          }
  .offset-by-ten.column,
  .offset-by-ten.columns          { margin-left: 86.6666666667%; }
  .offset-by-eleven.column,
  .offset-by-eleven.columns       { margin-left: 95.3333333333%; }

  .offset-by-one-third.column,
  .offset-by-one-third.columns    { margin-left: 34.6666666667%; }
  .offset-by-two-thirds.column,
  .offset-by-two-thirds.columns   { margin-left: 69.3333333333%; }

  .offset-by-one-half.column,
  .offset-by-one-half.columns     { margin-left: 52%; }

}

@media (min-width: 670px) { #mm-0 { height: 100%; } } 


/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */

html {
  font-size: 62.5%; }
body {
    font-size: 1.6em;
    line-height: 1.7em;
    font-family: "Montserrat", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #455560;
}



/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– *//*
h1, h2, h3, h4, h5, h6 {
    font-family: "Montserrat", "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    margin-top: 0;
    margin-bottom: 2rem;
    font-weight: 300;
}

h1 {
    font-size: 50px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    color: #005595;
}

h2 {
    font-size: 35px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0;
    color: #005595;
}

h3 {
    font-family: "Montserrat", sans-serif;
    font-size: 25px;
    line-height: 1.3;
    letter-spacing: 0;
    text-transform: uppercase;
    font-weight: bold;
    color: #48545f;
}

h4 {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    line-height: 20px;
    line-height: 1.5;
    text-transform: uppercase;
    font-weight: bold;
    color: #005595;
}

h5 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    font-family: "Montserrat";
    text-transform: uppercase;
    color: #000;
}

h6 {
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 0;
    font-weight: 600;
}*/

h1, h2, h3, h4, h5, h6 {
	font-family: "Montserrat", "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; margin-top: 0;
	margin-bottom: 2rem;
	font-weight: 300;
}
h1 { font-size: 50px; font-weight: 400; line-height: 1.2;  letter-spacing: 0; color: #005595; }
h2 {
	font-size: 35px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0;
	color: #005595;
}
h3 { font-family: "Montserrat", sans-serif; font-size: 25px; line-height: 1.3;  letter-spacing: 0; text-transform: uppercase; font-weight: bold; color: #48545f;} 
h4 { font-family: "Montserrat", sans-serif ;font-size: 20px; line-height: 20px; line-height: 1.5; text-transform: uppercase; font-weight: bold; color: #005595; }
h5 { font-size: 20px; font-weight: bold; line-height: 1.5; font-family: "Montserrat"; text-transform: uppercase; color: #000; }
h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0;}

em, .em { font-style: italic; }
strong, .strong { font-weight: 600 !important;}
.underline { border-bottom: 1px solid; }

.upper { text-transform: uppercase; }

.navy-font { color: #005595; }
.grey-font { color: #7B9AA9; }
.white-font { color: #fff; }
.orange-font { color: #f58220; }
.green-font { color: #9ACA3C; }
.red-font { color: #ed1c24; }
.purple-font { color: #A23293; }
.condensed { font-family: "Roboto Condensed", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; }

.smallest { font-size: 60%; }
.smaller { font-size: 80%; }
.larger {
    font-family: "Montserrat", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 155%;
    line-height: 120%;
    vertical-align: middle;
    font-weight:bold;
}
.medium {
    font-family: "Montserrat", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 100%;
    line-height: 120%;
    vertical-align: middle;
}

.larger .button { font-family: "Montserrat", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; }

.less-line-height { line-height: 145%; }
.more-line-height { line-height: 165%; }

.faded { opacity: .55; }

.light { font-weight: 300; }

/* mobile */
@media (max-width: 670px) {
  h1 { font-size: 2.2em; }
  h2 { font-size: 1.9em; }
  h3 { font-size: 1.8em; }
  h4 { font-size: 1.7em; }
  h5 { font-size: 1.5em; }
  h6 { font-size: 1.5em; }
}

p {
  margin-top: 0; }


/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*a {
    color: #005492;
    text-decoration: none;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

    a:hover {
        border-bottom: 1px solid #005492;
    }*/
a {
    color: #b45ea9;
    text-decoration: none;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    color: #a23293;
    text-decoration: underline;
    font-weight: 700;
    cursor: pointer !important;
}

a.no-border:hover { border-bottom: 0px !important; }




/* #Trasitions
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.fade {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}



/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"],
.not-button,
select.button-blue {
    display: inline-block;
    height: 38px;
    padding: 0 30px;
    color: #005492;
    text-align: center;
    font-family: "Montserrat";
    font-size: 14px;
    font-weight: 700;
    line-height: 38px;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border-radius: 4px;
    border: 1px solid #005492;
    cursor: pointer;
    box-sizing: border-box;
}

    .button:hover,
    button:hover,
    input[type="submit"]:hover,
    input[type="reset"]:hover,
    input[type="button"]:hover,
    .button:focus,
    button:focus,
    input[type="submit"]:focus,
    input[type="reset"]:focus,
    input[type="button"]:focus {
        color: #004375;
        border-color: #004375;
        /*background-color: #004375;*/
        outline: 0;
    }

    .button.button-primary,
    button.button-primary,
    input[type="submit"].button-primary,
    input[type="reset"].button-primary,
    input[type="button"].button-primary {
        color: #FFF;
        background-color: #005492;
        border-color: #005492;
    }

        .button.button-primary:hover,
        button.button-primary:hover,
        input[type="submit"].button-primary:hover,
        input[type="reset"].button-primary:hover,
        input[type="button"].button-primary:hover,
        .button.button-primary:focus,
        button.button-primary:focus,
        input[type="submit"].button-primary:focus,
        input[type="reset"].button-primary:focus,
        input[type="button"].button-primary:focus {
            color: #FFF;
            background-color: #004375;
            outline: 0;
            /*-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    -khtml-opacity: 0.8;
    opacity: 0.8;*/
        }

.button-lg {
    height: 48px;
    font-size: 17px;
    line-height: 48px;
    padding: 0 42px;
}

.button-white {
    border-color: #fff;
    color: #fff !important;
}

.button-inactive, .button-inactive:hover,
.button.button-inactive, .button.button-inactive:hover,
button.button-inactive, button.button-inactive:hover,
input[type="submit"].button-inactive, input[type="submit"].button-inactive:hover,
input[type="reset"].button-inactive, input[type="reset"].button-inactive:hover,
input[type="button"].button-inactive, input[type="button"].button-inactive:hover {
    border-color: #b4c3ca;
    color: #FFF;
    cursor: default;
    background-color: #b4c3ca;
}

.button-primary.button-inactive,
.button-primary.button-inactive:hover {
    color: #FFF;
    background-color: #b4c3ca;
    border-color: #b4c3ca;
    cursor: default;
}

.button-blue,
select.button-blue {
    border-color: #005595;
    color: #005595 !important;
    width: auto;
}


    .button-blue:hover, .button-blue-selected, .button-blue:focus, input[type=radio].button-radio:checked + label {
        border-color: #005595;
        background-color: #005595;
        color: #ffffff !important;
    }

.tiny-button {
    height: 22px;
    line-height: 22px;
    padding: 0 10px;
    font-size: 10px;
}

.not-button, .not-button:hover {
    border: 0;
    padding: 0;
}

.not-button-grey {
    color: grey;
}

.add-button-pad, .add-button-pad:hover {
    padding: 0 20px;
}

/*.not-button.inline {
    line-height: 30px;
    height: 30px;
    padding: 0 20px;
}*/
input[type=radio].button-radio {
	position: absolute;
	width: 0; 
	height: 0;
	opacity: 0;
}
.h-spacer {
    position: relative;
    margin-left: 12px;
    display: inline;
}
input[type=radio].button-radio + label { margin: 0 !important;}

.tiny-button {
	height: 22px;
	line-height: 22px;
	padding: 0 10px;
	font-size: 10px;
}

.not-button, .not-button:hover { border: 0; padding: 0;}
.not-button-grey { color: grey; }
.not-button-white { color: #ffffff; }
.add-button-pad, .add-button-pad:hover { padding: 0 20px;}

@media (max-width: 1100px) { 
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"], 
	.button-lg, .add-button-pad, .add-button-pad:hover {
		padding: 0 10px;
	}

}


.extra-wide-input { width: 55.1%; }

.checkbox { display: inline; margin-left: 8px; font-weight: normal; }



/* form starting stylings ------------------------------- */
.group            { 
	position:relative; 
	margin: 18px 0 28px 0; 
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea           
{
	padding:10px 10px 10px 5px;
	display:block;
	width:100%;
	border:none;
	border-bottom:1px solid #7B9AA9;
}

textarea { border:1px solid #7B9AA9; }

select { 
	padding: 0px 5px;
	height: 40px;
	background-color: #fff;
	border-radius: 0px;
	width:100%;
	border:none;
	border-bottom:1px solid #7B9AA9;
	background-position: right 50%;
    background-repeat: no-repeat;
    background-image: url(data:image/png;base64,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);
}

select.not-full-width { width: auto; padding-right: 55px;}
input.not-full-width { width: auto; }
input.inline { display: inline !important;}

.select-lg { font-size: 1.35em;}

/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select   {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

select::-ms-expand {
    display: none;
}

input:focus         { outline:none; }

/* LABEL ======================================= */
.group label                {
  color:#666666; 
  font-weight:normal;
  position:absolute;
  pointer-events:none;
  left:5px;
  top:10px;
  transition:0.2s ease all; 
  -moz-transition:0.2s ease all; 
  -webkit-transition:0.2s ease all;
}

@media (min-width: 900px) and (max-width: 1120px) {
	.group label  {font-size: .7em;}
	
}

.claims-search.column { width: 22%; }
@media (min-width: 671px) and (max-width: 899px) {
	.claims-search.column  { width: 46%; margin:0 4% 0 0; }
	.group label  {font-size: .8em;}
}

@media (max-width: 671px) {
	.claims-search.column  { width: 100%; margin:0; }
	.group label  {font-size: 1em;}
}


/* active state */

input[type="email"]:focus ~ label,
input[type="number"]:focus ~ label,
input[type="search"]:focus ~ label,
input[type="text"]:focus ~ label,
input[type="tel"]:focus ~ label,
input[type="url"]:focus ~ label,
input[type="password"]:focus ~ label,
input[type="email"]:valid ~ label,
input[type="number"]:valid ~ label,
input[type="search"]:valid ~ label,
input[type="text"]:valid ~ label,
input[type="tel"]:valid ~ label,
input[type="url"]:valid ~ label,
input[type="password"]:valid ~ label,
select:focus ~ label,
select:valid ~ label {
    top: -22px;
    font-size: 12px;
    font-weight: 700;
}


input[type="email"].filled-input,
input[type="number"].filled-input,
input[type="search"].filled-input,
input[type="text"].filled-input,
input[type="tel"].filled-input,
input[type="url"].filled-input,
input[type="password"].filled-input {
background-color: #eeeef0 !important;}

input[type="email"]:focus ~ label,
input[type="number"]:focus ~ label,
input[type="search"]:focus ~ label,
input[type="text"]:focus ~ label,
input[type="tel"]:focus ~ label,
input[type="url"]:focus ~ label,
input[type="password"]:focus ~ label,
select:focus ~ label,
select:valid ~ label {
    color: #455560;
}

input.validfield ~ label  { color:#9ACA3C; }
input.invalidfield ~ label  { color:#ed1c24; }

input.validfield { border-bottom: 1px solid #9ACA3C;}
input.invalidfield { border-bottom: 1px solid #ed1c24;}



/* BOTTOM BARS ================================= */
.bar    { position:relative; display:block; width:100%; }
.bar:before, .bar:after     {
  content:'';
  top: -16px;
  height: 2px; 
  width:0;
  bottom:1px; 
  position:absolute;
  background:#005595; 
  transition:0.2s ease all; 
  -moz-transition:0.2s ease all; 
  -webkit-transition:0.2s ease all;
}
.bar:before {
  left:50%;
}
.bar:after {
  right:50%; 
}



/* active state */
input:focus ~ .bar:before, input:focus ~ .bar:after {
  width:50%;
}

/* valid states */
input.validfield:valid ~ .bar:before, input.validfield:valid ~ .bar:after{
  background: #9ACA3C !important;
}

/* valid states */
input.invalidfield:valid ~ .bar:before, input.invalidfield:valid ~ .bar:after{
  background: #ed1c24 !important;
}



/* HIGHLIGHTER ================================== */
.highlight {
  position:absolute;
  height:60%; 
  width:100px; 
  top:25%; 
  left:0;
  pointer-events:none;
  opacity:0.5;
} 

/* active state */
input:focus ~ .highlight {
  -webkit-animation:inputHighlighter 0.3s ease;
  -moz-animation:inputHighlighter 0.3s ease;
  animation:inputHighlighter 0.3s ease;
}

/* ANIMATIONS ================*/
@-webkit-keyframes inputHighlighter {
    from { background:#005595; }
  to    { width:0; background:transparent; }
}
@-moz-keyframes inputHighlighter {
    from { background:#005595; }
  to    { width:0; background:transparent; }
}
@keyframes inputHighlighter {
    from { background:#005595; }
  to    { width:0; background:transparent; }
}

select#secret { font-size: .7em; }
@media (max-width: 670px) { select#secret { font-size: 1em; } }

/*fancy checkboxes */

input[type="checkbox"],
input[type="radio"] {
  display: inline; }

label { margin-right: 35px;}

.checkbox-custom, .radio-custom {
    opacity: 0;
    position: absolute;   
}

.checkbox-custom, .checkbox-custom-label, .radio-custom, .radio-custom-label {
    display: inline-block;
    vertical-align: middle;
    margin: 5px 5px 5px 15px;
    cursor: pointer;
    color: #9e9e9e;
    text-decoration: none;
    font-size: 1em !important;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.checkbox-custom-label, .radio-custom-label {
    position: relative;
	top:0px;
	right: 15px;
}

.checkbox-custom + .checkbox-custom-label:before, .radio-custom + .radio-custom-label:before {
    content: '';
    background: #fff;
    border: 2px solid #ddd;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    width: 14px;
    height: 14px;
    padding: 2px;
    margin-right: 10px;
    margin-top: -3px;
    text-align: center;
    transition: all 250ms cubic-bezier(.4,.0,.23,1);
}

.checkbox-custom:checked + .checkbox-custom-label:before {
    content: "\02E9";
    background: #005595;
    border: 2px solid #005595 !important;
    border-radius: 50%;
    transition: background 250ms cubic-bezier(.4,.0,.23,1);
    color: #fff;
    display: inline-block;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    font-size: 14px;
    line-height: 15px;
}

.white-checkbox.checkbox-custom:checked + .white-checkbox.checkbox-custom-label:before {
    background: #fff !important;
    border: 2px solid #005595 !important;
    color: #005595;
}

.white-checkbox.checkbox-custom:checked + .white-checkbox.checkbox-custom-label { color: #fff;}

.checkbox-custom:checked + .checkbox-custom-label, .radio-custom:checked + .radio-custom-label { color: #005595;}


.radio-custom:checked + .radio-custom-label:before {
    background: #005595;
    border: 2px solid #005595;
}

.checkbox-custom-label span { display: block;color: darkgray; font-size: .8em; font-style: italic; letter-spacing: 0;}

.check-available .checkbox-custom-label { color: #455560; }
.check-available .checkbox-custom + .checkbox-custom-label:before { border: 2px solid #455560; }
.check-available .checkbox-custom-label:hover, .radio-custom-label:hover  { color: #005595; }
.check-available .checkbox-custom:hover + .checkbox-custom-label:before { border: 2px solid #005595; }

.radio-offset { margin-left: 38px;}





/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: circle outside; }
ol {
  list-style: decimal inside; }
ol, ul {
  padding-left: 0;
  margin-top: 0; }
ul ul,
ul ol,
ol ol,
ol ul {
  margin: 1.5rem 0 1.5rem 3rem;
  font-size: 90%; }
li {
  margin-bottom: 1.8rem; }

ul.simple { list-style-type: none; }

ul.disc { list-style-type: disc; margin-left: 35px; }

ul.tight li { margin-bottom: 0rem; }

ul.in-line { list-style-type: none; margin-bottom: 0;}
ul.in-line li { display: inline-block; margin-bottom: 0;}

ul.checklist { margin-top: 16px;}

ul.checklist li { 
    list-style-type: none; 
    line-height: 16px; 
    vertical-align: middle !important;
    background-size: 16px 16px;
    background-repeat: no-repeat;
    padding-left: 22px;
    background-image: url(../images/icons/utilities/checklist.png); 
    background-image: url("data:image/svg+xml;charset=UTF-8,<svg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 12.2'><title>checklist</title><polygon points='13.7 0 15 1.2 5.2 12.2 0 7 1.2 5.8 5 9.7 13.7 0' fill='#9ACA3C'/></svg>"), linear-gradient(transparent, transparent); 


}



/* Code
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
  padding: .2rem .5rem;
  margin: 0 .2rem;
  font-size: 90%;
  white-space: nowrap;
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 4px; }
pre > code {
  display: block;
  padding: 1rem 1.5rem;
  white-space: pre; }


/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #E1E1E1; }
th:first-child,
td:first-child {
  padding-left: 0; }
th:last-child,
td:last-child {
  padding-right: 0; }


/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
  margin-bottom: 1rem; }
input,
textarea,
select,
fieldset {
  margin-bottom: 1.5rem; }
pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
  margin-bottom: 2.5rem; }
  
.no-padding { padding: 0 !important; margin: 0 !important;}
.no-bottom { margin-bottom: 0; }
.less-bottom { margin-bottom: 20px; }
.no-top { margin-top: 0; }
.half-top { margin-top: 7px; }
.add-top { margin-top: 15px; }
.double-top { margin-top: 30px; }

.some-pad { padding: 10px; }
.add-pad { padding: 20px; }
.double-pad { padding: 40px; }

.half-spacer { height: 15px; }  
.spacer { height: 30px; }
.one-half-spacer { height: 45px; }
.double-spacer { height: 60px; }
.giant-spacer { height: 90px; }

.extra-left { margin-left: 10px; }
.extra-right { margin-right: 10px; }




@media (max-width: 670px) { 
	.mobile-add-top { margin-top: 17px !important; } 
	.mobile-remove-top { margin-top: -10px; }
    .add-top-mobile { margin-top: 30px; } 
    .double-top-mobile { margin-top: 60px; } 
    .add-bottom-mobile { margin-bottom: 30px; }
}



@media (max-width: 900px) { 
	.mobile-less-pad { padding: 15px; } 
	.mobile-shrink-font { font-size: 86.5%; }
}

@media (max-width: 1000px) { 
	.button,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"], 
	.button-lg {
		padding: 0 10px;
	}

}

/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
  width: 100%;
  box-sizing: border-box; }
.u-max-full-width {
  max-width: 100%;
  box-sizing: border-box; }
.u-pull-right {
  float: right; }
.u-pull-left {
  float: left; }
.u-top { vertical-align: top !important; }

.break-after:after { 
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

img.scale { max-width: 100%; height: auto; }
img.cover { width: 100%; height: auto; margin-bottom: -1px; }
img.cover-height { max-width: 100%;
    max-height: 100%;
    height: auto;
}

.right {text-align: right; }
img.right {float: right; }
img.left {float: left; }

.center {text-align: center; }

.inline { display: inline !important; white-space: nowrap; }
.inline-with-button {display: inline !important; white-space: nowrap; line-height: 2.4em !important; }
.inline-with-input { line-height: 3em !important; }
.inline-with-h2 { vertical-align: top; margin-top: 8px; }

.inline.right { float: right; }

.add-border { border: 1px solid #e1e1e1; }
.right-border { padding-right: 45px !important; border-right: 1px solid #e1e1e1; }
@media (max-width: 670px) { .right-border {border: none; } }
.clickable { cursor: pointer; }

/* mobile styles */
.mobile-hide { display: block;}
span.mobile-hide { display: inline-block;}
.mobile-show { display: none !important; }
.mobile-button-switch { float: right; }
.mobile-break, .tablet-break { display: none; }

@media (max-width: 670px) { 
	.mobile-hide { display: none !important; } 
	.mobile-show { display: block !important; } 
	.mobile-full-width { width: 100% !important; }
	.mobile-center, a.mobile-center { text-align: center !important; }
	.mobile-button-switch { float: none; }
	.mobile-break { display: block; }
    .remove-right-mobile { text-align: left; }
    .mobile-wrap { white-space: normal; }
}

.mobile-left { float: left; margin-left: 0;}
@media (min-width: 900px) { .mobile-left { float: right !important; margin-left: inherit; } }

/* tablet styles */
@media (min-width: 671px) and (max-width: 1000px) { 
	.tablet-hide { display: none; } 
	.tablet-shrink-button { padding: 3px; line-height: 32px; }
	.tablet-break { display:block; }
    .remove-left-tablet { margin-left: 0; }
    .tablet-left { float: left !important; }
    .tablet-shrink-font { font-size: 1.2em; }
}

/* device styles */
.device-show { display: none !important; }
@media (max-width: 1000px) {
	.device-hide { display: none!important;; }
    .device-show { display: block !important; } 
    .device-shrink-font { font-size: 1.2em; }
}

@media (min-width: 1000px) {
    .device-break { display:none; }
}


/* Panels & Borders
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.blue-grey-panel {
	background: #455560; 
	color: fff;
}

.blue-grey-panel a { color: #fff; }
/*.blue-grey-panel a:hover { border-bottom: 1px solid #fff; }*/

.navy-panel { background: #005595; }

.lt-grey-panel { background: #f4f7f9; }

/* Footer 
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.page-wrap {
  min-height: 100%;
  margin-bottom: -362px; 
}
.page-wrap:after {
  content: "";
  display: block;
}

.footer {
  height: 310px; 
}

.page-wrap:after {
  height: 370px; 
}

@media (max-width: 550px) {
	.footer, .page-wrap:after {  height: 530px; }
	.page-wrap { margin-bottom: -530px; }
}


#footer { margin-top: 60px; margin-bottom: -60px; }

img.footer-logo { max-width: 320px; height: 55px; margin-bottom: 10px; }

.footer-border {  position: relative; z-index: 10; border-top: 4px solid #7B9AA9; }
.footer-content { padding: 40px 0px 60px 0px; font-size: 80%; }

.facebook, .twitter, .linkedin {
  height: 35px;
  width: 35px;
  display:inline-block;
  background-repeat: no-repeat; 
  background-position: left center; 
  opacity: .5;
}

.facebook:hover, .twitter:hover, .linkedin:hover  { opacity: 1; }

.social-links a { border-bottom: 0px !important; }

.facebook { background-image: url(../images/icons/social/facebook.png); background-image: url(../images/icons/social/facebook.svg), linear-gradient(transparent, transparent); }
.twitter { background-image: url(../images/icons/social/twitter.png); background-image: url(../images/icons/social/twitter.svg), linear-gradient(transparent, transparent);}
.linkedin { background-image: url(../images/icons/social/linkedin.png); background-image: url(../images/icons/social/linkedin.svg), linear-gradient(transparent, transparent); }





/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 30px;
  margin-bottom: 35px;
  border-width: 0;
  border-top: 1px solid #E1E1E1; }
  
hr.short-hr {
  margin-top: 10px;
  margin-bottom: 25px;
  border-width: 0;
  border-top: 1px solid #E1E1E1; }

hr.no-pad {
  margin: 0;
  border-width: 0;
  border-top: 1px solid #E1E1E1; }

hr.bottomless {
  margin-top: 30px;
  margin-bottom: 0px;
  border-width: 0;
  border-top: 1px solid #E1E1E1; }

/* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Self Clearing Goodness */
.container:after,
.row:after,
.u-cf {
  content: "";
  display: table;
  clear: both; }



