/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/** Lead In **/
section#leadIn { background-color:#f5f5f5; color:#072d3d; font-family: 'Open Sans', sans-serif; font-size:14px; height:100vh; overflow:hidden; position:relative; text-align:center; }
section#leadIn .sectionWrap { position:absolute; top:0; left:0; opacity:0; width:100%;
	-webkit-transform:translateY(-100%);
	-moz-transform:translateY(-100%);
	transform:translateY(-100%);
  -webkit-transition: all 0.5s ease-out; 
     -moz-transition: all 0.5s ease-out; 
       -o-transition: all 0.5s ease-out; 
          transition: all 0.5s ease-out; 
}
section#leadIn .sectionWrap.current { top:50%; opacity:1;
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	transform:translateY(-50%);
}
section#leadIn .sectionWrap.previous { top:100%; opacity:0;
	-webkit-transform:translateY(0);
	-moz-transform:translateY(0);
	transform:translateY(0);
}
section#leadIn .sectionWrap h2,
section#leadIn .sectionWrap h3 { font-size:2em; font-weight:800; line-height:1.3; margin:0 auto; max-width:900px; text-transform:uppercase; }
section#leadIn .sectionWrap h2 span { color:#ef483e; display:block; }

.buttonGroup { margin:2em auto 0; max-width:400px; } 
.buttonGroup.finalPhase { max-width:none; }
.buttonGroup .btn { border:3px solid #072d3d; border-radius:4px; color:#072d3d; display:block; float:left; font-size:1.75em; font-weight:800; line-height:1; padding:0.5em; text-decoration:none; text-transform:uppercase; width:50%;
  -webkit-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
     -moz-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
       -o-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
          transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
.buttonGroup .btn:hover { background-color:#072d3d; color:#fff; }
.buttonGroup.single .btn { background-color:#ef483e; border-color:#ef483e; color:#fff; float:none; margin:0 auto; }
.buttonGroup.single .btn.finalPhase { display:inline-block; width:auto; }
.buttonGroup.single .btn:hover { background-color:#d64038; border-color:#d64038; } 
.buttonGroup.answer .btn:nth-child(1) { border-radius:4px 0 0 4px; border-right:none; }
.buttonGroup.answer .btn:nth-child(2) { border-radius:0 4px 4px 0; }

/** Phases **/
section#phase { background-color:#f5f5f5; color:#072d3d; font-family: 'Open Sans', sans-serif; font-size:14px; /*min-height:100vh;*/ padding:2em 0; overflow:hidden; position:relative; }
section#phase h1 { font-size:2em; font-weight:800; line-height:1; margin-top:0; text-transform:uppercase; }
section#phase h1 small { color:#ef483e; display:block; font-size:0.5em; }
section#phase h2 { color:#072d3d; font-size:1.75em; line-height:1; margin-bottom:0; text-transform:uppercase;  }
section#phase h3 { color:#ef483e; font-size:1.25em; text-transform:uppercase;  }
section#phase p { font-weight:600; }

nav#phaseNav { background-color:#496d75; font-family: 'Open Sans', sans-serif; font-size:16px; position:relative; }
nav#phaseNav a { color:#fff; display:block; font-size:1.5em; font-weight:800; line-height:40px; padding:0.75em 1em; text-transform:uppercase; width:35%;
  -webkit-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
     -moz-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
       -o-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
          transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
nav#phaseNav a:hover { background-color:#39555c; text-decoration:none; }
nav#phaseNav a span.icon { background-color:transparent; border:3px solid #fff; border-radius:50%; color:#fff; display:block; font-size:0.75em; height:40px; line-height:34px; text-align:center; width:40px; z-index:10;}
nav#phaseNav a.prevPhase { float:left; text-align:left; }
nav#phaseNav a.prevPhase span.icon { float:left; margin-right:20px; text-indent:-1px; }
nav#phaseNav a.nextPhase { background-color:#ef483e; float:right; text-align:right; }
nav#phaseNav a.nextPhase span.icon { float:right; margin-left:20px; text-indent:1px; }
nav#phaseNav a.nextPhase:hover { background-color:#d64038; }
nav#phaseNav .counter { background-color:#082e3e; color:#fff; float:left; font-size:1.5em; font-weight:800; letter-spacing:0.25em; line-height:40px; padding:0.75em 0; position:absolute; top:0; left:50%; margin-left:-15%; text-transform:uppercase; text-align:center; width:30%; }

section#phase ol,
section#phase ul { font-size:1em; font-weight:600; padding-left:20px; }
section#phase ol li,
section#phase ul li { margin:0.5em 0; padding-left:20px; }
section#phase ol.alphabetical { list-style-type:lower-alpha; }

strong { font-weight:800; }

/** Accordions **/
.accordionContainer { padding-top:2em; position:relative; }
.accordionContainer .accordionPanelWrap { padding:0 0 20px 67px; width:100%;}
.accordionContainer .accordionPanelWrap .panelInfo { background-color:#74979b; border-radius:6px; color:#fff; padding:15px; }
.accordionContainer .accordionSection {  position:relative; z-index:5; }
.accordionContainer .accordionSection .verticalLine { background-color:#082e3e; position:absolute; top:20px; bottom:0; left:25px; margin-left:-1.5px; width:3px; z-index:-1; }
.accordionContainer .accordionSection a.panelIcon { background-color:#fff; background-size:contain; border:3px solid #082e3e; border-radius:50%; display:block; height:50px; position:absolute; top:0; left:0; width:50px;
  -webkit-transition: border-color 0.25s ease-out; 
     -moz-transition: border-color 0.25s ease-out; 
       -o-transition: border-color 0.25s ease-out; 
          transition: border-color 0.25s ease-out;
}
.accordionContainer .accordionSection#panel_01 a.panelIcon { background:#fff url(../img/phase-01/icon-01.jpg) no-repeat center center; }
.backgroundsize .accordionContainer .accordionSection#panel_01 a.panelIcon { background-image:url(../img/phase-01/icon-01@2x.jpg); background-size:contain; }
.accordionContainer .accordionSection#panel_02 a.panelIcon { background:#fff url(../img/phase-01/icon-02.jpg) no-repeat center center; }
.backgroundsize .accordionContainer .accordionSection#panel_02 a.panelIcon { background-image:url(../img/phase-01/icon-02@2x.jpg); background-size:contain; }
.accordionContainer .accordionSection#panel_03 a.panelIcon { background:#fff url(../img/phase-01/icon-03.jpg) no-repeat center center; }
.backgroundsize .accordionContainer .accordionSection#panel_03 a.panelIcon { background-image:url(../img/phase-01/icon-03@2x.jpg); background-size:contain; }
.accordionContainer .accordionSection#panel_04 a.panelIcon { background:#fff url(../img/phase-01/icon-04.jpg) no-repeat center center; }
.backgroundsize .accordionContainer .accordionSection#panel_04 a.panelIcon { background-image:url(../img/phase-01/icon-04@2x.jpg); background-size:contain; }
.accordionContainer .accordionSection#panel_05 a.panelIcon { background:#fff url(../img/phase-01/icon-05.jpg) no-repeat center center; }
.backgroundsize .accordionContainer .accordionSection#panel_05 a.panelIcon { background-image:url(../img/phase-01/icon-05@2x.jpg); background-size:contain; }
.accordionContainer .accordionSection#panel_06 a.panelIcon { background:#fff url(../img/phase-01/icon-06.jpg) no-repeat center center; }
.backgroundsize .accordionContainer .accordionSection#panel_06 a.panelIcon { background-image:url(../img/phase-01/icon-06@2x.jpg); background-size:contain; }
.accordionContainer .accordionSection#panel_07 a.panelIcon { background:#fff url(../img/phase-01/icon-07.jpg) no-repeat center center; }
.backgroundsize .accordionContainer .accordionSection#panel_07 a.panelIcon { background-image:url(../img/phase-01/icon-07@2x.jpg); background-size:contain; }
.accordionContainer .accordionSection#panel_08 a.panelIcon { background:#fff url(../img/phase-01/icon-08.jpg) no-repeat center center; }
.backgroundsize .accordionContainer .accordionSection#panel_08 a.panelIcon { background-image:url(../img/phase-01/icon-08@2x.jpg); background-size:contain; }

.accordionContainer .accordionPanelWrap .panelInfo {
  -webkit-transition: background-color 0.25s ease-out; 
     -moz-transition: background-color 0.25s ease-out; 
       -o-transition: background-color 0.25s ease-out; 
          transition: background-color 0.25s ease-out; 
}
.accordionContainer .accordionPanelWrap .panelInfo h4 { font-size:1.25em; line-height:1; margin:0; position:relative; }
.accordionContainer .accordionPanelWrap .panelInfo h4:hover { z-index:10; }
.accordionContainer .accordionPanelWrap .panelInfo h4 a { border:none; color:#fff; display:block; padding:0 40px 0 0; position:relative; text-transform:uppercase;
  -webkit-transition: all 0.25s ease-out; 
     -moz-transition: all 0.25s ease-out; 
       -o-transition: all 0.25s ease-out; 
          transition: all 0.25s ease-out;
}
.accordionContainer .accordionPanelWrap .panelInfo h4 a span { font-size:1em; font-weight:400; height:20px; line-height:20px; margin-top:-10px; position:absolute; top:50%; right:0; text-align:right; width:30px; }

.accordionContainer .accordionSection.closed .accordionPanelWrap .panelInfo h4 a:hover { color:#082e3e; }
.accordionContainer .accordionPanelWrap .panelInfo h4 a.active { color:#b72371; }

.accordionContainer .accordionPanelWrap .panelInfo .accordionPanel { display:block; overflow:hidden; padding:20px 0 0; }
.accordionContainer .accordionPanelWrap .panelInfo .accordionPanel p { margin:0; }

.accordionContainer .accordionSection.open a.panelIcon { border-color:#ef483e; }
.accordionContainer .accordionSection.open .accordionPanelWrap.right .panelInfo h4:before,
.accordionContainer .accordionSection.open .accordionPanelWrap.left .panelInfo h4:before { border-right-color:#ef483e; }
.accordionContainer .accordionSection.open .accordionPanelWrap.left .panelInfo h4:before { border-left-color:#ef483e; }
.accordionContainer .accordionSection.open .accordionPanelWrap .panelInfo { background-color:#ef483e; }

/*
 * Slider
 */
.sliderWrap { padding-top:2em; }
.sliderWrap ul.slides,
.sliderWrap ul.slides li { list-style:none; margin:0 !important; padding:0 !important; }
.sliderWrap ul,
.sliderWrap ul li { list-style:none; }
.sliderWrap ul li img { margin:0 auto; max-height:93vh; }
.sliderWrap .sliderControls { padding:0 0 2em; position:relative; }
.sliderWrap .sliderControls a { color:#082e3e; display:block; float:left; font-size:1.75em; font-weight:700; position:relative; text-transform:uppercase; text-align:center; width:33.33%; z-index:5; }
.sliderWrap .sliderControls a:hover { color:#ef483e; }
.sliderWrap .sliderControls a span.number { background-color:#fff; border:3px solid #082e3e; border-radius:50%; display:block; height:54px; line-height:48px; margin:0 auto 10px; text-align:center; width:54px; }
.sliderWrap .sliderControls a.flex-active { color:#ef483e; }
.sliderWrap .sliderControls a.flex-active span.number { background-color:#ef483e; border-color:#ef483e; color:#fff; }
.sliderWrap .sliderControls .horizontal_line { background-color:#082e3e; height:3px; position:absolute; left:17%; right:17%; top:25px; z-index:1; }

/** Slider Controls **/
.flex-direction-nav { display:none; height:0; list-style:none; margin:0; padding:0; position:absolute; top:50%; left:0; width:100%; }
.flex-direction-nav li { height:0; width:100%; } 
.flex-direction-nav li a { background-color:transparent; border:3px solid #082e3e; border-radius:50%; color:#082e3e; display:block; font-size:1.25em; height:54px; line-height:48px; outline:none !important; text-align:center; width:54px;
	position: absolute;
	top: 50%;
	margin-top: -27px;
	cursor: pointer;
	z-index: 10;
  -webkit-transition: color 0.15s ease-out, background-color 0.15s ease-out, border-color 0.15s ease-out; 
     -moz-transition: color 0.15s ease-out, background-color 0.15s ease-out, border-color 0.15s ease-out; 
       -o-transition: color 0.15s ease-out, background-color 0.15s ease-out, border-color 0.15s ease-out; 
          transition: color 0.15s ease-out, background-color 0.15s ease-out, border-color 0.15s ease-out;
}
.flex-direction-nav li a:hover { border-color:#ef483e; background-color:#ef483e; color:#fff; }
.flex-direction-nav li a.flex-next { right:-27px; text-indent:1px; }
.flex-direction-nav li a.flex-prev { left:-27px; text-indent:-1px; }
.flex-direction-nav li a.flex-disabled { display:none; }

/*
 * Grid
 */
.contentGrid { margin-left:-5px; margin-right:-5px; padding-top:2em; }
.contentGrid .gridItem { float:left; height:100px;padding:5px; width:100%; }
.contentGrid .gridItem .itemWrap { background-color:#74979b; border-radius:4px; color:#fff; display:table; height:100%; padding:0 20px 0 90px; position:relative; width:100%; }
.contentGrid .gridItem .itemWrap .number { background-color:#fff; border-radius:50%; color:#74979b; display:block; font-size:1.5em; font-weight:700; height:50px; line-height:50px; position:absolute; left:20px; top:50%; margin-top:-25px; text-align:center; width:50px; }
.contentGrid .gridItem .itemWrap p { display:table-cell; height:100%; vertical-align:middle; margin:0; line-height:1.2; }

.contentGrid .gridItem.item_01 .itemWrap { background-color:#74979b; }
.contentGrid .gridItem.item_01 .itemWrap .number { color:#74979b; }
.contentGrid .gridItem.item_02 .itemWrap { background-color:#6c8f94; }
.contentGrid .gridItem.item_02 .itemWrap .number { color:#6c8f94; }
.contentGrid .gridItem.item_03 .itemWrap { background-color:#61858b; }
.contentGrid .gridItem.item_03 .itemWrap .number { color:#61858b; }
.contentGrid .gridItem.item_04 .itemWrap { background-color:#547880; }
.contentGrid .gridItem.item_04 .itemWrap .number { color:#547880; }
.contentGrid .gridItem.item_05 .itemWrap { background-color:#375b66; }
.contentGrid .gridItem.item_05 .itemWrap .number { color:#375b66; }
.contentGrid .gridItem.item_06 .itemWrap { background-color:#284d5a; }
.contentGrid .gridItem.item_06 .itemWrap .number { color:#284d5a; }
.contentGrid .gridItem.item_07 .itemWrap { background-color:#1b404e; }
.contentGrid .gridItem.item_07 .itemWrap .number { color:#1b404e; }
.contentGrid .gridItem.item_08 .itemWrap { background-color:#103645; }
.contentGrid .gridItem.item_08 .itemWrap .number { color:#103645; }
.contentGrid .gridItem.item_09 .itemWrap { background-color:#082e3e; }
.contentGrid .gridItem.item_09 .itemWrap .number { color:#082e3e; }

/** Image Wrapper **/
.imageWrap { padding-top:2em; }
.imageWrap img { margin:0 auto; }

section#phase h3.phase2 { color:#082e3e; margin-bottom:0; }
section#phase p.phase2 { margin-top:0; }
.centered { text-align:center; }

/** Links **/
a:hover, a:focus { text-decoration:none;
  -webkit-transition: all 0.25s ease-out; 
     -moz-transition: all 0.25s ease-out; 
       -o-transition: all 0.25s ease-out; 
          transition: all 0.25s ease-out;
}

/** Footer **/
footer#bottomBar { background-color:#082e3e; color:#fff; font-family: 'Open Sans', sans-serif; padding:2em 0; text-align:center; }
footer#bottomBar a.ir { background:url(../img/logo.png) 0 0 no-repeat; display:block; height:78px; margin:0 auto; overflow:hidden; width:160px; }
.backgroundsize footer#bottomBar a.ir { background-image:url(../img/logo@2x.png); background-size:contain; }
footer#bottomBar h3 { margin:1.5em 0 0; font-size:1.25em; font-weight:400; letter-spacing:0.0725em; }
footer#bottomBar h3 a { color:#fff; }

/* ==========================================================================
   Forms
   ========================================================================== */
form { margin:3em 0; }
input, textarea, .formWrap select { background-color:#fff; border:3px solid #072d3d; border-width:3px !important; color:#072d3d; cursor:pointer; margin:0; padding:15px; outline:none; text-shadow:none; width:100%;
  -webkit-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
     -moz-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
       -o-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
          transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
-webkit-appearance: none;
    border-radius: 0;
}
textarea { height:130px; }
input:hover, textarea:hover, select:hover { border-color:#ef483e; }
input:focus, textarea:focus, select:focus { background-color:#072d3d; border-color:#072d3d; color:#fff; outline:none; }

::-webkit-input-placeholder { color: #072d3d; }
:-moz-placeholder { color: #072d3d; }
::-moz-placeholder { color: #072d3d; }
:-ms-input-placeholder { color: #072d3d; }

label { text-transform:uppercase; font-weight:700; }
.placeholder-support label { display:none; }

.formRow input.submit { background-color:#ef483e; border:3px solid #ef483e; border-radius:4px; color:#fff; display:inline-block; font-size:1.25em; font-weight:800; line-height:1; padding:0.75em 1.5em; text-decoration:none; text-transform:uppercase; width:auto;
  -webkit-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
     -moz-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
       -o-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
          transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
.formRow input.submit:hover { background-color:#d64038; border-color:#d64038; color:#fff; }

.formRow { margin-left:-5px; margin-right:-5px; margin-bottom:10px; }
.formRow .formWrap { float:left; padding:0 5px; width:50%; }
.formRow .formWrap .error { color:red; line-height:2.5; }

.formRow.centered { margin:20px 0 0; }


@media (orientation: portrait) {
	.flex-direction-nav { display:none; }
}
@media (orientation: landscape) {
	.flex-direction-nav { display:block; }
	.flex-direction-nav li a.flex-next { right:15px; }
	.flex-direction-nav li a.flex-prev { left:15px; }
}
@media (max-width: 767px) {
	.hidden_xs { display:none; }
	.accordionContainer .accordionPanelWrap.right .panelInfo h4:before,
.accordionContainer .accordionPanelWrap.left .panelInfo h4:before { border-top: 17px solid transparent; border-bottom: 17px solid transparent; border-right:17px solid #74979b; content:''; display:block; position:absolute; left:-32px; top:-8px;
  -webkit-transition: border-color 0.25s ease-out; 
     -moz-transition: border-color 0.25s ease-out; 
       -o-transition: border-color 0.25s ease-out; 
          transition: border-color 0.25s ease-out;
}
}

@media (min-width: 768px) {
	section#leadIn,
	section#phase { font-size:16px; }
	section#phase { padding:4em 0; }
	section#leadIn .sectionWrap h2 { font-size:3em; }
	section#leadIn .sectionWrap h3 { font-size:2.5em; }
	.buttonGroup .btn { font-size:2em; }
	section#phase h1 { font-size:3em; }
	section#phase h2 { font-size:2em;  }
	section#phase h3 { font-size:1.5em;  }
	section#phase p { font-size:1.125em; }
	section#phase ol,
	section#phase ul { font-size:1.125em; }
	
	nav#phaseNav a { width:45%; }
	nav#phaseNav .counter { margin-left:-5%; width:10%; }
	
	.contentGrid,
	.imageWrap,
	.sliderWrap,
	.accordionContainer { padding-top:4em; }
	.contentGrid .gridItem { height:140px; width:50%; }
	
	/** Accordions **/
	.accordionContainer { padding-top:2em; position:relative; }
	.accordionContainer .accordionPanelWrap { padding:20px 0 40px; }
	.accordionContainer .accordionPanelWrap.right { float:right; padding-left:66px; width:50%; }
	.accordionContainer .accordionPanelWrap.left { float:left; padding-right:66px; width:50%; }
	.accordionContainer .accordionPanelWrap .panelInfo { background-color:#74979b; border-radius:6px; color:#fff; padding:20px; }
	.accordionContainer .accordionSection {  position:relative; z-index:5; }
	.accordionContainer .accordionSection .verticalLine { background-color:#082e3e; position:absolute; top:20px; bottom:0; left:50%; margin-left:-1.5px; width:3px; z-index:-1; }
	.accordionContainer .accordionSection a.panelIcon { background-color:#fff; border:3px solid #082e3e; border-radius:50%; display:block; height:96px; margin-left:-48px; position:absolute; top:0; left:50%; width:96px;
	  -webkit-transition: border-color 0.25s ease-out; 
		 -moz-transition: border-color 0.25s ease-out; 
		   -o-transition: border-color 0.25s ease-out; 
			  transition: border-color 0.25s ease-out;
	}
	.accordionContainer .accordionPanelWrap.right .panelInfo h4:before { border-top: 17px solid transparent; border-bottom: 17px solid transparent; border-right:17px solid #74979b; content:''; display:block; position:absolute; left:-37px; top:-7px;
	  -webkit-transition: border-color 0.25s ease-out; 
		 -moz-transition: border-color 0.25s ease-out; 
		   -o-transition: border-color 0.25s ease-out; 
			  transition: border-color 0.25s ease-out;
	}
	.accordionContainer .accordionPanelWrap.left .panelInfo h4:before { border-top: 17px solid transparent; border-bottom: 17px solid transparent; border-left:17px solid #74979b; content:''; display:block; position:absolute; right:-37px; top:-7px;
	  -webkit-transition: border-color 0.25s ease-out; 
		 -moz-transition: border-color 0.25s ease-out; 
		   -o-transition: border-color 0.25s ease-out; 
			  transition: border-color 0.25s ease-out;
	}
}
@media (min-width: 992px) {
	.flex-direction-nav { display:block; }
	.sliderWrap ul li img { max-width:840px; margin:0 auto; }
	.flex-viewport { position:relative; }
	
	.contentGrid .gridItem { width:33.3333%; }
}
@media (min-width: 1200px) {
}
@media (min-width: 1272px) {
	.imageWrap.phase3 img { max-width:1272px; margin:0 auto; }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}