/******************************************************************
Site Name:
Author:

Stylesheet: Main Stylesheet

Here's where the magic happens. Here, you'll see we are calling in
the separate media queries. The base mobile goes outside any query
and is called at the beginning, after that we call the rest
of the styles inside media queries.
******************************************************************/
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}
/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}
/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}
/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}
/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}
/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}
/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}
/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  margin: 0px;
  padding: 0px;
  border: 0px;
  background: transparent;
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}
/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}
/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/******************************************************************
CUSTOMIZED RESET VALUES
I added these extra styles as a more personalized reset. Feel free
to remove them if you like or add your own. If you want to update
the normalize styles, make sure to edit from this point up.
******************************************************************/
p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}
b,
strong,
.strong {
  font-weight: bold;
}
dfn,
em,
.em {
  font-style: italic;
}
small,
.small {
  font-size: 75%;
}
ul,
ol {
  padding: 0;
  list-style-type: none;
}
dd {
  margin: 0;
}
.sidebar ul,
.sidebar ol,
.commentlist {
  list-style: none;
}
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins & Constants Stylesheet

This is where you can take advantage of LESS' great features:
Mixins & Constants. I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques like box shadow and
border-radius.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

******************************************************************/
/*********************
CLEARFIXIN'
*********************/
.clearfix {
  zoom: 1;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
/*********************
TOOLS
*********************/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.image-replacement {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
/*********************
STATIC SIZES
*********************/
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
/*
Here's a great tutorial on how to
use color variables properly:
http://sachagreif.com/sass-color-variables/
*/
/*********************
TYPOGRAPHY
*********************/
/* 	To embed your own fonts, use this syntax
	and place your fonts inside the
	library/fonts folder. For more information
	on embedding fonts, go to:
	http://www.fontsquirrel.com/
	Be sure to remove the comment brackets.
*/
/*	@font-face {
    	font-family: 'Font Name';
    	src: url('../fonts/font-name.eot');
    	src: url('../fonts/font-name.eot?#iefix') format('embedded-opentype'),
             url('../fonts/font-name.woff') format('woff'),
             url('../fonts/font-name.ttf') format('truetype'),
             url('../fonts/font-name.svg#font-name') format('svg');
    	font-weight: normal;
    	font-style: normal;
	}
*/
/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp {
  font-family: Baskerville, 'Goudy Old Style', Palatino, 'Book Antiqua', serif;
  font-style: italic;
}
/* text alignment */
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.alert {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
}
.alert-help {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
  border-color: #e8dc59;
  background: #ebe16f;
}
.alert-info {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
  border-color: #bfe4f4;
  background: #d5edf8;
}
.alert-error {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
  border-color: #f8cdce;
  background: #fbe3e4;
}
.alert-success {
  margin: 10px;
  padding: 5px 18px;
  border: 1px solid;
  border-color: #deeaae;
  background: #e6efc2;
}
/*********************
Font Size REM / px
*********************/
/*********************
Line Height REM / px
*********************/
/*********************
IE9+ / FF / Chrome vertical centering
*********************/
/*********************
BORDER RADIUS
*********************/
/*
NOTE: For older browser support (and some mobile),
don't use the shorthand to define *different* corners.

USAGE: .border-radius(4px);

*/
/*********************
FLEX FUN
*********************/
/*********************
TRANSITION
*********************/
/* .transition(all,2s); */
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* .css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SHADOW
*********************/
/* .boxShadow(0,0,4px,0,#444); */
/* .boxShadow(none); */
/*********************
GRAY BACKGROUND
*********************/
.gray-background {
  background-image: url(../images/gray-bkgnd.jpg);
}
/*********************
BACKGROUND IMAGE
*********************/
/*********************
BUTTONS
*********************/
.button,
.button:visited {
  border: 1px solid #be0d37;
  border-top-color: #db0f3f;
  border-left-color: #db0f3f;
  padding: 4px 12px;
  color: #fff;
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  text-decoration: none;
  text-shadow: 0 1px rgba(0, 0, 0, 0.75);
  cursor: pointer;
  margin-bottom: 20px;
  line-height: 21px;
  -webkit-transition: all 0.2s ease-in-out 0s;
  -moz-transition: all 0.2s ease-in-out 0s;
  -ms-transition: all 0.2s ease-in-out 0s;
  -o-transition: all 0.2s ease-in-out 0s;
  transition: all 0.2s ease-in-out 0s;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  background-color: #e40f42;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f01d4f), to(#e40f42));
  background-image: -webkit-linear-gradient(top, #f01d4f, #e40f42);
  background-image: -moz-linear-gradient(top, #f01d4f, #e40f42);
  background-image: -o-linear-gradient(top, #f01d4f, #e40f42);
  background-image: linear-gradient(to bottom, #f01d4f, #e40f42);
}
.button:hover,
.button:visited:hover,
.button:focus,
.button:visited:focus {
  color: #fff;
  border: 1px solid #be0d37;
  border-top-color: #9d0a2d;
  border-left-color: #9d0a2d;
  background-color: #cc0e3b;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#e40f42), to(#cc0e3b));
  background-image: -webkit-linear-gradient(top, #e40f42, #cc0e3b);
  background-image: -moz-linear-gradient(top, #e40f42, #cc0e3b);
  background-image: -o-linear-gradient(top, #e40f42, #cc0e3b);
  background-image: linear-gradient(to bottom, #e40f42, #cc0e3b);
}
.button:active,
.button:visited:active {
  background-color: #f01d4f;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#e40f42), to(#f01d4f));
  background-image: -webkit-linear-gradient(top, #e40f42, #f01d4f);
  background-image: -moz-linear-gradient(top, #e40f42, #f01d4f);
  background-image: -o-linear-gradient(top, #e40f42, #f01d4f);
  background-image: linear-gradient(to bottom, #e40f42, #f01d4f);
}
.blue-button,
.blue-button:visited {
  border-color: #1472ad;
  text-shadow: 0 1px 1px #1472ad;
  background-color: #1681c4;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#1990db), to(#1681c4));
  background-image: -webkit-linear-gradient(top, #1990db, #1681c4);
  background-image: -moz-linear-gradient(top, #1990db, #1681c4);
  background-image: -o-linear-gradient(top, #1990db, #1681c4);
  background-image: linear-gradient(to bottom, #1990db, #1681c4);
  -webkit-box-shadow: inset 0 0 3px #59b3ec;
  -moz-box-shadow: inset 0 0 3px #59b3ec;
  box-shadow: inset 0 0 3px #59b3ec;
}
.blue-button:hover,
.blue-button:visited:hover,
.blue-button:focus,
.blue-button:visited:focus {
  border-color: #116396;
  background-color: #1472ad;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#1784c9), to(#1472ad));
  background-image: -webkit-linear-gradient(top, #1784c9, #1472ad);
  background-image: -moz-linear-gradient(top, #1784c9, #1472ad);
  background-image: -o-linear-gradient(top, #1784c9, #1472ad);
  background-image: linear-gradient(to bottom, #1784c9, #1472ad);
}
.blue-button:active,
.blue-button:visited:active {
  background-color: #1990db;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#1681c4), to(#1990db));
  background-image: -webkit-linear-gradient(top, #1681c4, #1990db);
  background-image: -moz-linear-gradient(top, #1681c4, #1990db);
  background-image: -o-linear-gradient(top, #1681c4, #1990db);
  background-image: linear-gradient(to bottom, #1681c4, #1990db);
}
.centered {
  display: table;
  width: 100%;
  height: 100%;
  text-align: center;
}
.centered > div {
  display: table-cell;
  vertical-align: middle;
}
b {
  font-family: "FuturaPT-Medium", "Gotham A", "Gotham B", "Georgia", Cambria, Times New Roman, Times, serif;
}
/*
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. If
you set a great foundation, you won't need to add too many styles in
the other stylesheets. Remember, keep it light: Speed is Important.
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Base Mobile Stylesheet

Be light and don't over style since everything here will be
loaded by mobile devices. You want to keep it as minimal as
possible. This is called at the top of the main stylsheet
and will be used across all viewports.

******************************************************************/
/*********************
01. GENERAL STYLES
*********************/
@font-face {
  font-family: 'FuturaBT-Book';
  src: url('../fonts/37FA5A_0_0.eot');
  src: url('../fonts/37FA5A_0_0.woff2') format('woff2'), url('../fonts/37FA5A_0_0.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'FuturaBT-Light';
  src: url('../fonts/37FA5A_1_0.eot');
  src: url('../fonts/37FA5A_1_0.woff2') format('woff2'), url('../fonts/37FA5A_1_0.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'FuturaBT-Medium';
  src: url('../fonts/37FA5A_2_0.eot');
  src: url('../fonts/37FA5A_2_0.woff2') format('woff2'), url('../fonts/37FA5A_2_0.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'FuturaPT-Book';
  src: url('../fonts/FuturaPTBook.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'FuturaPT-Light';
  src: url('../fonts/FuturaPTLight.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'FuturaPT-Medium';
  src: url('../fonts/FuturaPTMedium.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}
:root {
  --padding_top_full: 73px;
  --padding_top_mobile: 40px;
  --dfsRed: #aa2222;
}
body {
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  box-sizing: border-box;
  background-color: #FAF7F3;
}
body.modal-open {
  height: 100vh;
  overflow-y: hidden;
}
main {
  padding: 0 15px 32px 15px;
  background-color: #FAF7F3;
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
  position: relative;
  z-index: 2;
}
div {
  /* padding: 0px 30px; */
  box-sizing: border-box;
}
.big_text1s1,
.big_text1s2 {
  font-size: 40px;
  line-height: 40px;
  letter-spacing: -2.4px;
  text-transform: uppercase;
}
.big_text1s2 {
  padding-top: 88px;
}
.big_text2 {
  font-size: 24px;
  line-height: normal;
  letter-spacing: -0.5px;
  color: var(--dfsRed);
  text-transform: uppercase;
  padding-bottom: 15px;
}
.big_text3 {
  font-size: 18px;
  line-height: 16px;
  letter-spacing: -2%;
  text-transform: uppercase;
  padding-bottom: 15px;
}
.text14,
.text16 {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
}
.text14 {
  font-size: 14px;
  line-height: 19px;
}
.text16 {
  font-size: 16px;
  line-height: 18.08px;
  letter-spacing: 0.48px;
}
.power_collection_product,
.confidence_collection_product,
.premiere_collection_product {
  font-size: 16px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: -0.64px;
  padding-top: 10px;
  text-transform: uppercase;
}
.learn_more,
.power_collection_see_product,
.confidence_collection_see_product,
.premiere_collection_see_product {
    font-family: neue-haas-grotesk-display, sans-serif;
    font-size: 14px;
    font-weight: 450;
    line-height: 24px;
    letter-spacing: 3%;
    display: flex;
    align-items: center;
    padding-top: 8px;
    text-decoration: none;
}
    .learn_more::before,
    .power_collection_see_product::before,
    .confidence_collection_see_product::before,
    .premier_collection_see_product::before {
        background-image: url('../images/red_arrow.png');
        background-size: 16px 16px;
        background-repeat: no-repeat;
        display: inline-block;
        width: 22px;
        height: 16px;
        content: "";
    }
.learn_more {
  padding-top: 15px;
}
.dfs_red {
  color: var(--dfsRed);
}
.flex_container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
/* INFO BLOCKS */
.giving_tuesday {
  width: 305px;
  padding-top: var(--padding_top_mobile);
}
.premier_collection_info {
  min-height: 109px;
  padding-top: var(--padding_top_mobile);
  padding-bottom: 10px;
}
.confidence_collection_info,
.power_collection_info {
    min-height: 109px;
    padding-top: var(--padding_top_mobile);
    padding-bottom: 10px;
}
.featured_partners_info {
  padding-top: 70px;
}
.premier_collection_grid_item .donate-button.left,
.confidence_collection_grid_item .donate-button.left,
.power_collection_grid_item .donate-button.left {
    margin: 0;
    max-width: 110px;
    padding: 10px 16px;
}
.premier_collection_grid_item.expired a,
.confidence_collection_grid_item.expired a,
.power_collection_grid_item.expired a {
  pointer-events: none;
}
.premier_collection_grid_item.expired .hover-image-link,
.confidence_collection_grid_item.expired .hover-image-link,
.power_collection_grid_item.expired .hover-image-link {
    position: relative;
}
    .premier_collection_grid_item.expired .hover-image-link::after,
    .confidence_collection_grid_item.expired .hover-image-link::after,
    .power_collection_grid_item.expired .hover-image-link::after {
        content: 'Promotion Ended';
        position: absolute;
        color: #FAF7F3;
        text-align: center;
        left: 0;
        top: calc(50% - 24px);
        padding-top: 12px;
        width: 100%;
        height: 32px;
        background-color: #AA2222;
        z-index: 1;
    }
.premier_collection_grid_item.expired .power_collection_hover,
.confidence_collection_grid_item.expired .power_collection_hover,
.power_collection_grid_item.expired .power_collection_hover {
    display: none;
}
.premier_collection_grid_item.expired:hover img,
.confidence_collection_grid_item.expired:hover img,
.power_collection_grid_item.expired:hover img {
    transform: none;
}
.premier_collection_grid_item.expired img,
.confidence_collection_grid_item.expired img,
.power_collection_grid_item.expired img {
    filter: grayscale(1) blur(10px);
}
    .premier_collection_grid_item.expired img :hover,
    .confidence_collection_grid_item.expired img :hover,
    .power_collection_grid_item.expired img :hover {
        transform: none;
    }
/* PREMIER COLLECTION */
.flex_container_grid_premier {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0px;
    width: 100%;
}
#premier_collection {
  border-bottom: 1px solid rgba(38, 38, 38, 0.2);
  padding-bottom: 90px;
}
.premier_collection_grid_item {
  padding: 10px 0;
  min-width: 350px;
  flex: 100%;
  position: relative;
}
.premier_collection_grid_item .hover-image-link {
  display: inline-block;
  overflow: hidden;
}
.premier_collection_grid_item img {
  width: 100%;
  height: auto;
  transition: transform 1s;
}
.premier_collection_grid_item img:hover {
  transform: scale(1.2);
}
.premier_collection_partner {
  position: absolute;
  background-color: #FAF7F3;
  padding: 12px 15px;
  border-radius: 58px;
  top: 5%;
  left: 5%;
}
.premier_collection_partner a {
  color: #000;
  text-decoration: none;
}
/* CONFIDENCE COLLECTION */
.flex_container_grid_confidence {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0px;
    width: 100%;
}

.confidence_collection_grid_item {
    padding: 20px 10px 20px 10px;
    flex: 50%;
    display: flex;
    flex-direction: column;
}

    .confidence_collection_grid_item .hover-image-link {
        display: inline-block;
        overflow: hidden;
        position: relative;
    }

    .confidence_collection_grid_item .power_collection_hover {
        opacity: 0;
        transition: opacity 0.5s ease-in;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        display: flex;
        justify-content: center;
        align-items: center;
        text-transform: none;
    }

        .confidence_collection_grid_item .power_collection_hover::before {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.3);
        }

        .confidence_collection_grid_item .power_collection_hover span {
            color: #000;
            font-family: neue-haas-grotesk-display, sans-serif;
            font-size: 23px;
            font-weight: 450;
            line-height: 16px;
            letter-spacing: 0.13px;
            display: inline-block;
            padding: 10px 25px;
            border-radius: 50px;
            background-color: #FAF7F3;
        }

    .confidence_collection_grid_item img {
        width: 100%;
        height: auto;
        transition: transform 1s;
    }

    .confidence_collection_grid_item:hover img {
        transform: scale(1.2);
    }

    .confidence_collection_grid_item:hover .power_collection_hover {
        opacity: 1;
    }

/* POWER COLLECTION */
.flex_container_grid_power {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0px;
  width: 100%;
}
.power_collection_grid_item {
  padding: 20px 10px 20px 10px;
  flex: 50%;
  display: flex;
  flex-direction: column;
}
.power_collection_grid_item .hover-image-link {
  display: inline-block;
  overflow: hidden;
  position: relative;
}
.power_collection_grid_item .power_collection_hover {
  opacity: 0;
  transition: opacity 0.5s ease-in;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: none;
}
.power_collection_grid_item .power_collection_hover::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}
.power_collection_grid_item .power_collection_hover span {
  color: #000;
  font-family: neue-haas-grotesk-display, sans-serif;
  font-size: 23px;
  font-weight: 450;
  line-height: 16px;
  letter-spacing: 0.13px;
  display: inline-block;
  padding: 10px 25px;
  border-radius: 50px;
  background-color: #FAF7F3;
}
.power_collection_grid_item img {
  width: 100%;
  height: auto;
  transition: transform 1s;
}
.power_collection_grid_item:hover img {
  transform: scale(1.2);
}
.power_collection_grid_item:hover .power_collection_hover {
  opacity: 1;
}
.power_collection_description,
.confidence_collection_description,
.premier_collection_description {
    color: #000;
    font-family: neue-haas-grotesk-display, sans-serif;
    font-size: 13px;
    font-weight: 450;
    line-height: 16px;
    letter-spacing: 0.13px;
}
/* ABOUT PAGE */
.prefix {
  color: #000;
  font-size: 12px;
  line-height: 12px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
.about_section1 {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-bottom: 40px;
}
.about_section1_header {
  font-size: 32px;
  line-height: 32px;
  letter-spacing: -1.28px;
  text-transform: uppercase;
  padding-top: 16px;
  width: 100%;
  padding-bottom: 30px;
  font-weight: 400;
}
.about_section1_header br {
  display: none;
}
.about_section2 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  padding: 50px 0px;
}
.confidence {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 450;
  font-size: 24px;
  letter-spacing: 1%;
  line-height: 24px;
  color: var(--dfsRed);
  max-width: 100%;
}
.big_image {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.big_image img {
  width: auto;
  height: 100%;
  max-height: 540px;
  object-fit: cover;
  object-position: 100% 23%;
}
.big_image2 {
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  position: relative;
  padding: 20px 0px;
}
.big_image2 img {
  width: 100%;
  height: auto;
}
.big_image2 .button-container {
  text-align: center;
  color: #fff;
  margin-bottom: 35px;
  padding-top: 38px;
  position: absolute;
  bottom: 22%;
  margin: 0 auto;
  left: 0;
  right: 0;
}
.big_image2 .button-container button {
  transition: background-color 800ms ease;
}
.big_image2 .button-container button:hover {
  background-color: rgba(44, 44, 44, 0.8);
  mix-blend-mode: multiply;
}
.big_image2 .button-container button.round {
  border-radius: 50%;
  font-size: 0;
  line-height: 0;
  padding: 0;
}
.big_image2 .button-container .play {
  height: 15px;
  width: 15px;
  margin: 13px;
}
.big_image2 .button-container a.plain {
  display: inline-block;
  border: none;
  text-transform: none;
  font-size: 14px;
  line-height: 18px;
  margin-top: 17px;
}
.gaining_tools {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 0.56px;
  line-height: 29px;
  width: 100%;
}
.impact_header {
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-size: 40px;
  letter-spacing: -2%;
  line-height: 40px;
  color: var(--dfsRed);
  text-transform: uppercase;
  padding-bottom: 35px;
}
.impact_mobile_stats {
  display: inherit;
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 2%;
  line-height: 31px;
  padding-bottom: 35px;
}
.impact_item {
  width: 100%;
  border-top: 1px solid rgba(38, 38, 38, 0.2);
}
.impact_percentage {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 450;
  font-size: 40px;
  letter-spacing: 2%;
  line-height: 50px;
  color: var(--dfsRed);
  padding-top: 35px;
}
.impact_desc {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 2%;
  line-height: 31px;
  padding-bottom: 35px;
}
.ambassador_flex_container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: 100px;
}
.ambassador_info {
  display: flex;
  flex-direction: column;
  flex: 100%;
  padding: 0px 0px 50px 0px;
}
.ambassador_header {
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: -2%;
  line-height: 24px;
  color: var(--dfsRed);
  text-transform: uppercase;
  padding-bottom: 35px;
}
.ambassador_photo img {
  width: 100%;
  height: 100%;
  background-color: #f0e8dc;
  border-radius: 3px;
}
.ambassador_quote {
  font-family: futura-pt, sans-serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -2%;
  line-height: 22px;
  padding-top: 10px;
  padding-bottom: 30px;
  flex-grow: 1;
}
.ambassador_quote br {
  display: none;
}
#our_impact br {
  display: none;
}
.ambassador_name {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
  color: rgba(0, 0, 0, 0.5);
}
/* CURVED BOTTOM */
.curved_bottom_section {
  background-color: black;
  height: 32px;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  position: relative;
}
.curved_bottom {
  width: 100%;
  height: 100%;
  background-color: #faf7f3;
  border-radius: 0px 0px 32px 32px;
}
/* HEADER */
header {
  /*opacity: 0;
  transform: translateY(-100%);*/
  position: relative;
  width: 100%;
  z-index: 3;
  background-color: #FAF7F3;
  /*transition: transform 0.3s 0.5s ease-in-out, opacity 0.3s 0.5s ease-in-out;*/
}
header #main-navigation {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 20px 15px 43px 15px;
}
header .border {
  width: 1px;
  height: 18px;
  background-color: #000;
  margin: 0 12px;
}
header .dfs-logo {
  height: 18px;
}
header .dfs-logo img {
  height: 100%;
  width: auto;
  max-width: 400px;
}
header .power-piece {
  color: #000;
  font-size: 10px;
  letter-spacing: 0.187px;
}
header .hamburger {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 32px;
  height: 32px;
}
header .hamburger-lines {
  display: block;
  height: 26px;
  width: 26px;
  right: 0;
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
header .hamburger-lines .line {
  display: block;
  height: 3px;
  width: 100%;
  background: #000;
  transition: transform 0.3s ease-in-out;
}
header .hamburger-lines .line1 {
  transform-origin: 0% 0%;
  transform: translateY(250%);
}
header .hamburger-lines .line2 {
  transform-origin: 0% 100%;
  transform: translateY(-250%);
}
header .menu-checkbox {
  position: absolute;
  display: block;
  height: 32px;
  width: 32px;
  z-index: 5;
  opacity: 0;
  cursor: pointer;
}
header .menu-checkbox:checked ~ .hamburger-lines .line1 {
  transform: translateY(5px) rotate(45deg);
}
header .menu-checkbox:checked ~ .hamburger-lines .line2 {
  transform: rotate(-45deg);
}
header .nav-menu {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 50px;
  background-color: #FAF7F3;
  width: 100%;
  padding: 47px 0 200px 15px;
  align-items: center;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
}
header .nav-menu a {
  display: block;
  text-transform: uppercase;
  color: #000;
  font-size: 50px;
  text-decoration: none;
}
header .hamburger.open ~ .nav-menu {
  opacity: 1;
  pointer-events: all;
}
/* FOOTER */
footer:not(.modal-footer) {
  background-color: #000;
  padding: 113px 15px 0 15px;
  margin-top: -64px;
  position: relative;
  z-index: 1;
}
footer:not(.modal-footer) h2,
footer:not(.modal-footer) h3,
footer:not(.modal-footer) h4 {
  color: #FAF7F3;
  font-weight: 400;
  line-height: normal;
  letter-spacing: -0.48px;
  text-transform: uppercase;
}
footer:not(.modal-footer) h2,
footer:not(.modal-footer) h3 {
  font-size: 24px;
}
footer:not(.modal-footer) h4 {
  font-size: 18px;
  line-height: 36px;
}
footer:not(.modal-footer) input[type="text"] {
  border: solid 1px #FAF7F3;
  color: #FAF7F3;
  background-color: #000;
  width: 100%;
  padding: 16px 24px;
  border-radius: 74px;
}
footer:not(.modal-footer) p,
footer:not(.modal-footer) a {
  color: #FAF7F3;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  display: block;
}
footer:not(.modal-footer) .email-signup {
  margin-bottom: 60px;
  position: relative;
}
footer:not(.modal-footer) .links {
  display: flex;
  flex-direction: row;
}
footer:not(.modal-footer) .links > div {
  flex-basis: 50%;
  flex-grow: 0;
}
footer:not(.modal-footer) .links .social-links > div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 30px;
}
footer:not(.modal-footer) .links svg {
  fill: #FAF7F3;
  height: 20px;
  width: 20px;
}
footer:not(.modal-footer) .cc-text {
  text-align: center;
}
.marquee {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.marquee-container {
  width: 200%;
  display: flex;
}
#featured_partners_scroll2 .marquee-container {
  width: 300%;
}
.marquee-content {
  width: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  animation: scrolling 20s linear infinite;
}
.reverse .marquee-content {
  animation-direction: reverse;
}
.marquee-item {
  margin: 0 2vw;
}
#featured_partners_scroll1 .marquee-item {
  width: 25%;
}
.marquee-item img {
  display: block;
  width: 100%;
  height: auto;
}
#featured_partners_scroll2 .marquee-item img {
  width: 100%;
  height: auto;
  max-width: 250px;
}
@keyframes scrolling {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}
/* LEGACY DONATE STYLES */
.image-button {
  padding: 0;
  border: none;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.donate-button:not(.image-button) {
  color: #fff;
  background-color: #AA2222;
  padding: 10px 32px;
  font-size: 14px;
  font-weight: 450;
  letter-spacing: 0.72px;
  border-radius: 59px;
  border: 1px solid #AA2222;
}
.donate-button:not(.image-button):active {
  background-color: #000;
}
.donate-button:not(.image-button).large {
  padding: 26px 76px;
  font-size: 36px;
}
.grecaptcha-badge {
  width: 70px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  left: 4px !important;
}
.grecaptcha-badge:hover {
  width: 256px !important;
}
.modal {
  display: none;
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  background-color: #000000;
  background-color: rgba(0, 0, 0, 0.4);
  text-align: center;
}
.modal.video-modal .modal-header {
  background-color: inherit;
  width: inherit;
}
.modal.message .modal-content {
  max-width: 600px;
  overflow: hidden;
}
.modal.message .modal-content .modal-close {
  background-image: url('../images/hamburger-close.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  color: #aaa;
  font-size: 28px;
  font-weight: bold;
  position: absolute;
  top: 0px;
  right: -15px;
  border: none;
}
.modal.message .modal-content .message-modal-text {
  font-size: 20px;
}
.modal.donate {
  display: block;
  opacity: 0;
  height: 0;
  transition: opacity 0.3s ease-in;
}
.modal.show {
  opacity: 1;
  height: 100%;
}
.modal .modal-body {
  height: 100%;
}
.modal .modal-content-container h2 {
  margin: 30px 0;
}
.modal .modal-content {
  width: 90%;
  max-width: 1200px;
  height: auto;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: inline-block;
  padding: 15px;
  background-color: #fff;
  margin: 0 auto;
  text-align: center;
  border: 1px solid #aaa;
}
#donate-modal .modal-description {
  background-position: top center;
  background-color: #FAF7F3;
  padding: 0;
  position: absolute;
  z-index: 2;
  top: 35px;
  height: calc(100vh - 35px);
  transition: transform 0.3s ease-in-out;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
#donate-modal .modal-description .modal-description-content {
  padding: 10px 24px 16px 37px;
}
#donate-modal .modal-description img {
  width: 100%;
  height: auto;
}
#donate-modal .modal-description.dark {
  transform: translateX(-100%);
}
#donate-modal .modal-description .logo-header {
  position: relative;
  font-size: 20px;
  line-height: 18px;
  font-weight: 600;
  text-align: left;
  margin-bottom: 9px;
  margin-top: 0;
}
#donate-modal .modal-description p {
  font-size: 16px;
  line-height: 18px;
  text-align: left;
  font-weight: 400;
}
#donate-modal .modal-description p.bold {
  font-weight: 600;
}
#donate-modal .modal-description footer {
  display: none;
}
#donate-modal .modal-description footer a {
  color: #000;
  font-size: 14px;
  line-height: 18px;
  text-decoration: underline;
}
#donate-modal .modal-form {
  position: absolute;
  top: 35px;
  left: 0;
  width: 100%;
  height: calc(100vh - 35px);
  background: transparent;
  overflow: hidden;
}
#donate-modal .modal-form footer {
  position: absolute;
  bottom: 0;
  left: 45px;
  text-align: left;
  z-index: 10;
}
#donate-modal .modal-form footer a {
  color: #000;
  font-size: 14px;
  line-height: 18px;
  text-decoration: underline;
}
#donate-modal .mobile-affiliate-container {
  background-color: #e6e6e6;
  padding: 23px 45px 75px 45px;
  flex-grow: 1;
}
#donate-modal .mobile-affiliate-container p {
  margin-top: 0;
  margin-bottom: 11px;
}
#donate-modal .mobile-affiliate-container .affiliate-selector-container {
  margin-bottom: 11px;
}
#donate-modal .modal-pane {
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  height: calc(100% - 60px);
  background-color: #e6e6e6;
  padding: 22px 45px 0 45px;
  display: flex;
  flex-direction: column;
  z-index: 0;
  opacity: 0;
  transition: transform 0.3s ease-in;
}
#donate-modal .modal-pane.active {
  z-index: 1;
  opacity: 1;
}
#donate-modal .modal-pane.next,
#donate-modal .modal-pane.next.active {
  opacity: 1;
  z-index: 0;
}
#donate-modal .modal-pane.previous {
  transform: translateX(-100%);
}
#donate-modal .modal-pane.transition-in {
  opacity: 1;
  z-index: 1;
}
#donate-modal .modal-pane h3 {
  font-size: 18px;
  line-height: 18px;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
  position: relative;
}
#donate-modal .modal-pane h3 .btn-back {
  display: none;
  position: absolute;
  top: -5px;
  left: 0;
  padding: 6px;
  border-radius: 8px;
  transition: background-color 0.3s;
}
#donate-modal .modal-pane h3 .btn-back:hover {
  background-color: rgba(22, 28, 92, 0.1);
}
#donate-modal .modal-pane .btn-back {
  border: none;
  background: transparent;
  color: #000;
  line-height: 18px;
}
#donate-modal .modal-pane .btn-back img {
  height: 15px;
  width: auto;
}
#donate-modal .modal-pane p {
  font-size: 16px;
  line-height: 20px;
  text-align: left;
}
#donate-modal .modal-pane p.no-location {
  flex-grow: 1;
  display: grid;
  align-content: end;
}
#donate-modal select,
#donate-modal input[type="text"] {
  border: 1px solid #BDBDBD;
  border-radius: 8px;
  padding: 6px 20px;
  width: 100%;
  background-color: #fff;
}
#donate-modal .btn-continue {
  width: 100%;
  background-color: #AA2222;
  border-radius: 8px;
  border: none;
}
#donate-modal .btn-continue[disabled] {
  background-color: #BDBDBD;
}
#donate-modal .continue-button-container {
  display: block;
}
#donate-modal .continue-button-container .btn-back {
  display: flex;
  gap: 8px;
  align-items: center;
}
#donate-modal #card {
  gap: 34px;
}
#donate-modal .card-icon-grid {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
#donate-modal .card-icon-grid > div {
  display: inline-block;
  width: 52px;
  height: 34px;
}
#donate-modal .card-icon-grid .visa {
  background-image: url('../images/VISA-icon.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#donate-modal .card-icon-grid .amex {
  background-image: url('../images/AMEX-icon.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#donate-modal .card-icon-grid .mastercard {
  background-image: url('../images/Mastercard-icon.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#donate-modal .card-icon-grid .discover {
  background-image: url('../images/Discover-icon.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
#donate-modal .card-error {
  color: red;
  font-size: 16px;
  line-height: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
#donate-modal .card-error.show {
  opacity: 1;
}
#donate-modal .donation-grid,
#donate-modal .info-container,
#donate-modal .card-info-grid {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 30px;
}
#donate-modal .donation-grid input[type="radio"],
#donate-modal .info-container input[type="radio"],
#donate-modal .card-info-grid input[type="radio"] {
  opacity: 0;
  position: absolute;
}
#donate-modal .donation-grid input[type="radio"]:checked ~ label,
#donate-modal .info-container input[type="radio"]:checked ~ label,
#donate-modal .card-info-grid input[type="radio"]:checked ~ label {
  background: #6FAAAE;
  color: #fff;
}
#donate-modal .custom-amount {
  margin-bottom: 34px;
}
#donate-modal div.card-info-grid {
  flex-grow: 0;
  padding-top: 0;
}
#donate-modal .donation-grid {
  gap: 18px;
}
#donate-modal .info-container,
#donate-modal .card-info-grid {
  gap: 10px;
}
#donate-modal .info-container {
  padding: 30px 0;
}
#donate-modal .info-row,
#donate-modal .card-row {
  display: flex;
  gap: 8px;
}
#donate-modal .info-row.single input,
#donate-modal .card-row.single input {
  width: calc(50% - 5px);
}
#donate-modal .frequency {
  white-space: nowrap;
}
#donate-modal .frequency-option,
#donate-modal .amount-option {
  display: inline-block;
  width: 49%;
  white-space: normal;
}
#donate-modal .frequency-option:first-child label {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
#donate-modal .frequency-option:last-child {
  margin-left: -4px;
}
#donate-modal .frequency-option:last-child label {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-left: none;
}
#donate-modal .frequency label,
#donate-modal .amount-option label {
  border: 1px solid #52959A;
  font-size: 16px;
  line-height: 25px;
  text-align: center;
  padding: 8px 16px;
  cursor: pointer;
  width: 100%;
  display: block;
  background: #fff;
}
#donate-modal .amount-options {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px;
}
#donate-modal .amount-option {
  margin-top: 4px;
}
#donate-modal .amount-option label {
  border-radius: 8px;
}
#donate-modal .group-price-control {
  position: relative;
  display: flex;
  background: #fff;
  border-radius: 8px;
  padding-left: 14px;
  border: 1px solid #BDBDBD;
  justify-content: space-around;
}
#donate-modal .group-price-control.focus::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  border-radius: 8px;
  box-shadow: 0 0 0 4px rgba(51, 113, 230, 0.65) inset, 0 0 0 1px #aab1bc inset;
}
#donate-modal .group-price-control .currency-symbol {
  font-size: 16px;
  line-height: 24px;
  flex-shrink: 0;
  align-self: center;
  color: #656970;
  margin-right: 5px;
}
#donate-modal .group-price-control label {
  flex-grow: 0;
  display: inline-block;
  overflow: hidden;
}
#donate-modal .group-price-control input {
  display: block;
  padding: 10px 0;
  margin: 0;
  border: 0;
  font-size: 16px;
  line-height: 25px;
  max-width: 155px;
  height: 45px;
}
#donate-modal .group-price-control input:focus {
  outline: none;
}
#donate-modal .group-price-control .currency-select-container {
  display: flex;
  align-items: center;
}
#donate-modal .group-price-control .currency-select-container select {
  border: none;
  color: #000;
  padding: 0;
  font-size: 16px;
  line-height: 25px;
  height: 100%;
  background-color: #fff;
}
#donate-modal #donate-amount-other.larger {
  font-size: 30px;
  padding: 0;
}
#donate-modal .cover-cost-container {
  text-align: left;
  margin-top: 14px;
}
#donate-modal .cover-cost-container label {
  z-index: 2;
}
#donate-modal .cover-cost-container .cover-cost {
  transition: transform 0.3s ease-in-out, opacity 0.3s;
  opacity: 0;
  transform: translateY(-25%);
  z-index: 1;
  pointer-events: none;
}
#donate-modal .cover-cost-container.covering .cover-cost {
  opacity: 1;
  transform: translateY(0);
}
#donate-modal .cover-cost-container .cover-cost-row span:last-child {
  float: right;
}
#donate-modal .modal-container {
  display: block;
  position: relative;
}
#donate-modal .modal-header {
  position: absolute;
  top: 0;
  height: 35px;
  width: 100%;
  background-color: #AA2222;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
#donate-modal .modal-header .logo {
  background-image: url('../images/dfs-mobile-logo.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 20px;
  width: 146px;
  margin: 8px;
}
#donate-modal .modal-header .btn-close {
  background-image: url('../images/hamburger-close-white.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 12px;
  width: 17px;
  border: none;
  margin: 5px 0;
}
#donate-modal .close {
  opacity: 0;
  color: #aaa;
  font-size: 28px;
  font-weight: bold;
  position: absolute;
  top: -20px;
  right: -20px;
}
#donate-modal .close:hover,
#donate-modal .close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
@keyframes bounce {
  0% {
    transform: translateX(0);
  }
  12.5% {
    transform: translateX(-6px);
  }
  37.5% {
    transform: translateX(5px);
  }
  62.5% {
    transform: translateX(-3px);
  }
  87.5% {
    transform: translateX(2px);
  }
  to {
    transform: translateX(0);
  }
}
#donate-modal .shake-it {
  animation: bounce 0.4s ease-in-out;
}
#donate-modal input.validation-error {
  border: 1px solid #ec414b;
}
#donate-modal .agent-of-change {
  background-color: #fff;
  font-size: 20px;
  line-height: 18px;
  text-align: center;
  padding: 21px 0;
  position: absolute;
  top: 0;
  width: 100%;
}
#thankyou h3 {
  margin-top: 5px;
  position: relative;
}
#thankyou .btn-close {
  color: #000;
  border: none;
  padding: 0;
  position: absolute;
  top: -30px;
  right: -15px;
  font-size: 42px;
  transform: rotate(45deg);
}
#thankyou .thank-you-heart {
  background-image: url('../images/heart-icon.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 52px;
}
#thankyou p {
  margin-top: 24px;
  font-size: 16px;
  line-height: 25px;
}
#thankyou p .bold {
  font-weight: 700;
}
button,
.modal-content a {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  padding: 13px 30px;
  background-color: transparent;
  border: 2px solid white;
  margin: 0 auto;
}
button.red,
.modal-content a.red {
  border: solid 2px #b42c33;
  color: #b42c33;
}
button#give,
.modal-content a#give,
button#watch,
.modal-content a#watch {
  background-color: black;
  border: none;
}
button.button-outline,
.modal-content a.button-outline {
  background-color: transparent;
  border: 2px solid white;
}
.mobile {
  display: block;
}
.mobile-tablet {
  display: block;
}
.desktop,
.desktop-tablet,
.desktop-tablet-mobile,
.desktop-tablet-inline {
  display: none;
}
/* Thank you page */
.donate-thank-you .thank-you-logo {
  max-width: 600px;
  margin: 0 auto;
  width: 100%;
}
.donate-thank-you .bar-headline::after {
  width: 109%;
}
.donate-thank-you .thank-you-headline-row {
  margin: 0 auto;
}
.donate-thank-you .headline-container {
  padding: 50px 0;
}
.donate-thank-you .thank-you-logo {
  padding-bottom: 50px;
  margin: 0 auto;
}
.donate-thank-you .thank-you-logo img {
  max-width: 100%;
}
.donate-thank-you .blurb {
  margin: 0 auto;
}
.donate-thank-you .thank-you-social {
  padding-bottom: 50px;
}
.donate-thank-you .st-custom-button {
  display: inline-block;
  cursor: pointer;
  margin-top: 8px;
  margin-right: 15px;
}
.donate-thank-you .st-custom-button img {
  width: 31px;
  height: auto;
}
.donate-thank-you .st-custom-button:hover {
  opacity: 0.6;
}
.revealOnScroll {
  opacity: 0;
  transition: opacity 800ms cubic-bezier(0.4, 0, 0.2, 1), transform 800ms cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: 500ms;
  will-change: opacity, transform;
}
.revealOnScroll.animated {
  opacity: 1;
}
.revealOnScroll.animated.left,
.revealOnScroll.animated.right,
.revealOnScroll.animated.top,
.revealOnScroll.animated.bottom {
  transform: matrix(1, 0, 0, 1, 0, 0);
}
.revealOnScroll.animated.rotate {
  transform: rotate(0deg);
}
.revealOnScroll.rotate {
  transform: rotate(90deg);
}
.revealOnScroll.left {
  transform: matrix(1, 0, 0, 1, 40, 0);
}
.revealOnScroll.right {
  transform: matrix(1, 0, 0, 1, -40, 0);
}
.revealOnScroll.top {
  transform: matrix(1, 0, 0, 1, 0, -40);
}
.revealOnScroll.bottom {
  transform: matrix(1, 0, 0, 1, 0, 80);
}
.revealOnScroll.s2 {
  transition-delay: 0.2s;
}
.revealOnScroll.s3 {
  transition-delay: 0.3s;
}
.partner-piece {
  padding-bottom: 30px;
}
.partner3 {
  max-height: 35px;
}
.mt-3 {
  margin-bottom: 30px;
}
#pp1 {
  order: 1;
}
#pp2 {
  order: 2;
}
#pp3 {
  order: 3;
}
#pp4 {
  order: 4;
}
#pp5 {
  order: 5;
}
#pp6 {
  order: 6;
}
#pp7 {
  order: 7;
}
#pp8 {
  order: 8;
}
.donate-button-container {
  position: fixed;
  bottom: 14px;
  right: 0;
  border-bottom-left-radius: 8px;
  border-top-left-radius: 8px;
  background-color: #fff;
  box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.3);
  padding: 0 7px;
  z-index: 20;
  transform: translateX(110%);
  transition: transform 0.3s ease-out;
}
.donate-button-container.show {
  transform: translateX(0);
}
.donate-button-container button {
  border: none;
  color: #000;
  font-size: 12px;
  line-height: 23px;
  font-weight: 400;
  text-transform: none;
  padding: 0;
  white-space: normal;
  text-align: left;
  margin-top: 38px;
  position: relative;
}
.donate-button-container button::before {
  content: '';
  width: 52px;
  height: 52px;
  position: absolute;
  top: -40px;
  left: 50%;
  background-image: url('../images/heart-icon.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: translateX(-50%);
}
.donate-button-container button > span {
  display: none;
}
.email-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 500px;
}
#submitEmail {
  background-color: transparent;
  border: none;
  position: absolute;
  bottom: 5px;
  right: 5px;
  padding: 10px;
}
.video-container {
  position: relative;
  height: 56.25vh;
  overflow: hidden;
}
.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*/
@media only screen and (min-width: 30.063em) {
  /******************************************************************
Site Name:
Author:

Stylesheet: 481px and Up Stylesheet

This stylesheet is loaded for larger devices. It's set to
481px because at 480px it would load on a landscaped iPhone.
This isn't ideal because then you would be loading all those
extra styles on that same mobile connection.

A word of warning. This size COULD be a larger mobile device,
so you still want to keep it pretty light and simply expand
upon your base.less styles.

******************************************************************/
  header .dfs-logo {
    height: 21px;
  }
  header .border {
    height: 21px;
  }
}
/*
EVEN LARGER MOBILE DEVICES?
This is the breakpoint at which the pure grid is "small".  Adding this
so the breakpoints match the grid and the grid matches the hamburger.
*/
/*
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*/
@media only screen and (min-width: 48em) {
  /******************************************************************
Site Name:
Author:

Stylesheet: Tablet & Small Desktop Stylesheet

Here's where you can start getting into the good stuff.
This size will work on iPads, other tablets, and desktops.
So you can start working with more styles, background images,
and other resources. You'll also notice the grid starts to
come into play. Have fun!

******************************************************************/
  .big_text1s1,
  .big_text1s2 {
    font-size: 48px;
    line-height: 40px;
  }
  .big_text1s1 {
    padding-top: var(--padding_top_full);
  }
  .big_text1s2 {
    padding-top: 38px;
  }
  .big_text2 {
    font-size: 32px;
    line-height: 30px;
    letter-spacing: -0.64px;
    color: var(--dfsRed);
    text-transform: uppercase;
    padding-bottom: 25px;
  }
  .big_text3 {
    font-size: 24px;
    line-height: 16px;
    letter-spacing: -0.68px;
    padding-bottom: 25px;
  }
  .power_collection_product,
  .confidence_collection_product,
  .premier_collection_product {
    font-size: 24px;
    line-height: 22px;
    padding: 10px 0;
  }
  .learn_more {
    padding-top: 30px;
  }
  /* INFO BLOCKS */
  .giving_tuesday {
    padding-top: var(--padding_top_full);
    margin-right: 20px;
  }
  .premier_collection_info {
    width: 407px;
    min-height: 109px;
    padding-top: var(--padding_top_full);
    padding-bottom: 30px;
  }
  .confidence_collection_info,
  .power_collection_info {
    width: 400px;
    min-height: 109px;
    padding-top: var(--padding_top_full);
    float: left;
    padding-bottom: 30px;
  }
  .featured_partners_info {
    width: 407px;
    padding-top: 218px;
    padding-bottom: 75px;
  }
  /* GRIDS */
  /* PREMIER PARTNER */
  .flex_container_grid_premier {
    padding: 15px 0;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .power_collection_description,
  .confidence_collection_description,
  .premier_collection_description {
    font-size: 14px;
  }
  .premier_collection_grid_item {
    padding: 10px 10px;
    min-width: 300px;
    max-width: 500px;
    transition: all 1s;
    flex: 50%;
  }
  /* ABOUT */
  .about_section1_header {
    font-size: 48px;
    line-height: 40px;
  }
  .ambassador_flex_container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 300px;
  }
  .ambassador_info {
    display: flex;
    flex-direction: column;
    flex: 33%;
    padding: 10px;
  }
  .ambassador_header {
    font-size: 32px;
    line-height: 32px;
    padding-bottom: 35px;
  }
  .ambassador_photo img {
    width: 100%;
    height: 100%;
    background-color: #f0e8dc;
    border-radius: 3px;
  }
  .ambassador_quote {
    font-size: 24px;
    line-height: 26px;
    padding-top: 10px;
    padding-bottom: 30px;
    flex-grow: 1;
  }
  .ambassador_quote br {
    display: block;
  }
  .ambassador_name {
    font-size: 20px;
    line-height: 24px;
  }
  /* HEADER */
  header .power-piece {
    flex-grow: 1;
    font-size: 22px;
  }
  header .dfs-logo {
    width: auto;
    height: 48px;
  }
  header .border {
    height: 48px;
  }
  header .nav-menu {
    opacity: 1;
    pointer-events: all;
    position: relative;
    padding: 0;
    left: unset;
    top: unset;
    width: auto;
  }
  header .nav-menu a {
    display: inline-block;
    font-size: 18px;
    text-transform: none;
    padding-right: 28px;
  }
  header .hamburger {
    display: none;
  }
  footer .top-row {
    display: flex;
    flex-direction: row;
  }
  footer .top-row > div {
    flex-basis: 50%;
  }
  footer h2 {
    font-size: 32px;
  }
  footer .footer-links {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  footer .footer-links > div {
    flex-basis: 50%;
  }
  footer .footer-links .copyright {
    flex-basis: 100%;
  }
  footer .cc-text {
    width: 50%;
    margin-left: 50%;
  }
  #donation-modal .modal-dialog .modal-content {
    padding: 40px;
  }
  #donation-modal .modal-dialog .modal-content .map-container {
    display: block;
  }
  #donation-modal .modal-dialog .modal-content .affiliates-container .affiliate-selector-container {
    width: 66%;
  }
  .button-container {
    margin-bottom: 40px;
  }
}
/*
More overrides for the weird ass media queries from boostrap
*/
@media only screen and (min-width: 992px) {
  footer .cc-text {
    width: 25%;
    margin-left: 75%;
    margin-top: -20px;
    text-align: left;
  }
  #donation-form .other-amount-container .input-group {
    margin-top: 0;
  }
  .donate-button-container {
    bottom: 30px;
    right: -250px;
    transform: none;
    border-radius: 8px;
    padding: 14px 10px;
  }
  .donate-button-container.show {
    transform: translateX(-120%);
  }
  .donate-button-container button {
    font-size: 18px;
    width: 174px;
    margin-left: 52px;
    margin-top: 0;
  }
  .donate-button-container button::before {
    top: 0;
    left: -52px;
    transform: none;
  }
  .donate-button-container button > span {
    display: block;
  }
  #donate-modal .modal-form {
    width: 300px;
    height: 510px;
    position: relative;
    top: unset;
    left: unset;
  }
  #donate-modal .modal-form footer {
    display: none;
  }
  #donate-modal .modal-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #donate-modal .modal-description {
    width: 400px;
    border-radius: 8px;
    height: 510px;
    position: relative;
    top: unset;
  }
  #donate-modal .modal-description.dark {
    transform: none;
  }
  #donate-modal .modal-description.dark::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    z-index: 1;
    background: #000;
    opacity: 0.3;
    mix-blend-mode: multiply;
    pointer-events: none;
  }
  #donate-modal .modal-description footer {
    display: block;
  }
  #donate-modal .modal-description .logo-header {
    margin-top: 55px;
  }
  #donate-modal .modal-description .logo-header::before {
    content: '';
    position: absolute;
    top: -40px;
    left: 0;
    width: 129px;
    height: 33px;
    background-image: url('../images/DFS-2022.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  #donate-modal .modal-pane {
    top: 0;
    border-radius: 8px;
    padding: 30px;
    height: 100%;
  }
  #donate-modal .modal-pane h3 {
    font-size: 20px;
  }
  #donate-modal .modal-pane h3 .btn-back {
    display: inline-block;
  }
  #donate-modal .modal-pane .donation-grid,
  #donate-modal .modal-pane .info-container,
  #donate-modal .modal-pane .card-error {
    flex-grow: 1;
  }
  #donate-modal .mobile-affiliate-container {
    display: none;
  }
  #donate-modal .modal-header,
  #donate-modal .agent-of-change {
    display: none;
  }
  #donate-modal .continue-button-container {
    margin-bottom: 0;
  }
  #donate-modal .continue-button-container .btn-back {
    display: none;
  }
  #donate-modal .custom-amount {
    margin-bottom: 0;
  }
}
/*
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*/
@media only screen and (min-width: 64em) {
  /******************************************************************
Site Name:
Author:

Stylesheet: Desktop Stylsheet

This is the desktop size. It's larger than an iPad so it will only
be seen on the Desktop.

******************************************************************/
  main {
    padding: 0 26px 32px 26px;
  }
  header #main-navigation {
    padding: 20px 30px 43px 30px;
  }
  .big_text1s1,
  .big_text1s2 {
    font-size: 60px;
    line-height: 50px;
    max-width: 830px;
  }
  .big_text3 {
    font-size: 28px;
    line-height: 20px;
  }
  .text14,
  .text16 {
    font-size: 18px;
    line-height: 20px;
  }
  /* GRIDS */
  /* PREMIER PARTNER */
  .flex_container_grid_premier {
    flex-direction: row;
    flex-wrap: wrap;
  }
    /* CONFIDENCE COLLECTION */
    .flex_container_grid_confidence {
        flex-wrap: wrap;
    }
  /* POWER COLLECTION */
  .flex_container_grid_power {
    flex-wrap: wrap;
  }
  .power_collection_grid_item,
  .confidence_collection_grid_item,
  .premier_collection_grid_item {
    padding: 20px 10px 70px 10px;
    width: 100%;
    height: 100%;
    max-width: 32vw;
    transition: all 1s;
    flex: 33%;
    display: flex;
    flex-direction: column;
  }
  /* ABOUT PAGE */
  .prefix {
    padding-top: 56px;
  }
  .about_section1 {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    padding-bottom: 70px;
  }
  .about_section1_header {
    font-size: 60px;
    line-height: 50px;
    padding-top: 24px;
    flex-basis: 950px;
    padding-bottom: 0px;
    margin-bottom: 0;
  }
  .about_section2 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding: 100px 0px;
  }
  .confidence {
    font-weight: 450;
    font-size: 32px;
    line-height: 30px;
    max-width: 345px;
  }
  .big_image {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .big_image2 {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 100px;
  }
  .big_image img,
  .big_image2 img {
    width: 100%;
    height: 100%;
  }
  .gaining_tools {
    font-weight: 450;
    font-size: 28px;
    line-height: 33.6px;
    width: 655px;
    float: right;
  }
  .impact_header {
    font-size: 60px;
    line-height: 60px;
    padding-bottom: 35px;
  }
  .impact_mobile_stats {
    display: none;
  }
  .flex_column {
    flex-basis: 50%;
  }
  .impact_desktop_stats {
    display: flex;
    flex-direction: column;
  }
  .impact_item {
    width: 95%;
    margin-right: 15px;
    border-top: 1px solid rgba(38, 38, 38, 0.2);
  }
  .impact_percentage {
    font-weight: 400;
    font-size: 60px;
    letter-spacing: 5%;
    line-height: 70px;
    padding-top: 35px;
  }
  .impact_desc {
    font-size: 24px;
    line-height: 37px;
    padding-bottom: 35px;
    max-width: 650px;
  }
  .modal-content {
    height: auto;
  }
  #our_impact br {
    display: block;
  }
  .ambassador_info:nth-child(2) {
    transition-delay: 700ms;
  }
  .ambassador_info:nth-child(3) {
    transition-delay: 900ms;
  }
  .button-container button {
    border: 3px solid #fff;
    font-size: 28px;
    line-height: 37px;
  }
  .button-container a.plain {
    font-size: 20px;
    line-height: 26px;
  }
}
/*
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*/
@media only screen and (min-width: 77.5em) {
  /******************************************************************
Site Name:
Author:

Stylesheet: Super Large Monitor Stylesheet

You can add some advanced styles here if you like. This kicks in
on larger screens.

******************************************************************/
}
@media only screen and (min-width: 87.5em) {
  /******************************************************************
Site Name:
Author:

Stylesheet: Super Duper Large Monitor Stylesheet

You can add some advanced styles here if you like. This kicks in
on larger screens.

******************************************************************/
  section p {
    font-size: 24px;
  }
  .ambassador_quote br {
    display: none;
  }
  .about_section1_header br {
    display: block;
  }
}
/*
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
Site Name: 
Author: 

Stylesheet: Retina Screens & Devices Stylesheet

When handling retina screens you need to make adjustments, especially
if you're not using font icons. Here you can add them in one neat
place.

******************************************************************/
  /* 

EXAMPLE 
Let's say you have an image and you need to make sure it looks ok
on retina screens. Let's say we have an icon which dimension are
24px x 24px. In your regular stylesheets, it would look something
like this:

.icon {
	width: 24px;
	height: 24px;
	background: url(img/test.png) no-repeat;
}

For retina screens, we have to make some adjustments, so that image
doesn't look blurry. So, taking into account the image above and the
dimensions, this is what we would put in our retina stylesheet:

.icon {
	background: url(img/test@2x.png) no-repeat;
	background-size: 24px 24px;
}

So, you would create the same icon, but at double the resolution, meaning 
it would be 48px x 48px. You'd name it the same, but with a @2x at the end
(this is pretty standard practice). Set the background image so it matches
the original dimensions and you are good to go. 

*/
}
/*
iPHONE 5 MEDIA QUERY
Want to get fancy for no good reason? Knock yourself out.
*/
/*
PRINT STYLESHEET
Feel free to customize this. Remember to add things that won't make
sense to print at the bottom. Things like nav, ads, and forms should
be set to display none.
*/
@media print {
  /******************************************************************
Site Name:
Author:

Stylesheet: Print Stylesheet

This is the print stylesheet. There's probably not a lot
of reasons to edit this stylesheet. If you want to
though, go for it.

******************************************************************/
}
