@charset "utf-8";
/* CSS Document */


/**********************GENERIC**********************/

.text-center {
	margin-top: 50px;
}

.blue {
	color: #355E93!important;
}

.red {
	color: #AD061F!important;
}

.white {
	color: #828282!important;
}

.btn {
	transition: .5s;
	padding: 10px 15px!important;
	font-weight: 800!important;
	font-size: 15px!important;
}

.instructions a {
	text-decoration: none!important;
	text-transform: uppercase;
	transition: .5s;
}

.instructions a:hover {
	text-decoration: none;
	color: #000!important;
}


/**********************BANNER**********************/
.main-banner {
	background: url('/Portals/1/Interactive/2020/01-you-can-vote-from-anywhere/Images/flag-background.jpg');
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	height: 645px;
	position: relative;
}

.background-overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to bottom, rgba(255,255,255,0), transparent, #FFF);
    z-index: 0;
    width: 100%;
    height: 100%;
    opacity: .8;
}

.main-banner .subtitle p {
	width: 100%;
	text-align: center;
	font-family: 'Caveat';
    font-weight: 600;
    position: absolute;
    bottom: 30px;
    font-size: 50px;
    color: #355e93;
    text-shadow: 0 2px 5px #fff;
}

.bottom-bar {
	position: absolute;
	bottom: 0;
	background-color: #AD061F;
	width: 100%;
    height: 40px;
	padding: 8px 10px;
}

.bottom-bar .star-row {
	text-align: center;
}

.bottom-bar svg {
	height: 25px;
	width: auto;
	margin-bottom: 5px;
	padding: 0 15px 2px;
}


/**********************STAR**********************/
.bottom-bar .star {
	fill: #FFF;
}

.blue-star {
	fill: #355E93;
}

.red-star {
	fill: #AD061F;
}

.top-star-row {
	transition: .2s;
}

.top-star-row svg {
	height: 25px;
	width: auto;
	margin: 0 5px;
}

.top-star-row > svg:nth-child(3) {
	height: 40px;
}

.bottom-star-row {
	margin: 10px 0;
	display: inline-flex;
	vertical-align: top;
	transition: .2s;
}

.bottom-star-row svg {
	height: 25px;
	width: auto;
	margin: 0 5px;
}

.bottom-star-row > svg:nth-child(2) {
	height: 40px;
}


/**********************BUTTON**********************/
.main-button {
	height: 400px;
    width: 400px;
    background-color: #D5D5D5;
    z-index: 999;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    border-radius: 50%;
    top: 0;
    margin-top: 100px;
	box-shadow: inset 0px -4px 12px 0px rgba(0, 0, 0, 0.8), 0px 5px 10px 2px #606060;
	transition: .2s;
}

.main-button:hover {
	background: #FFF;
}

.main-button:hover .top-title,
.main-button:hover .bottom-title,
.main-button:hover .bottom-title::before,
.main-button:hover .top-star-row,
.main-button:hover .bottom-star-row {
	opacity: 0;
}

.main-button:hover .middle-title h1 {
	transform: scale(1.6);
}

.main-banner:hover .left-arrow,
.main-banner:hover .right-arrow {
	opacity: 1;
}

.left-arrow {
	opacity: 0;
	position: relative;
    top: 100px;
    z-index: 999;
    left: -250px;
    transform: rotate(-15deg);
	transition: .5s;
}

.left-arrow p {
	font-family: 'Caveat';
    color: #000;
    font-weight: 600;
    font-size: 25px;
    position: absolute;
    left: -80px;
    top: 15px;
    transform: rotate(7deg);
}

.right-arrow {
	opacity: 0;
	position: absolute;
    top: 140px;
    z-index: 999;
    right: -250px;
    transform: rotate(15deg);
	transition: .5s;
}

.right-arrow p {
	font-family: 'Caveat';
    color: #000;
    font-weight: 600;
    font-size: 25px;
    position: absolute;
    right: -80px;
    top: 15px;
    transform: rotate(-7deg);
}

.left-arrow p span,
.right-arrow p span {
	display: block;
}

.button-content {
	width: 100%;
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.main-button h1 {
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
}

.top-title,
.middle-title,
.bottom-title {
	position: relative;
	transition: .7s;
}

.top-title h1 {
	color: #AD061F;
	font-size: 56px;
	font-weight: 600;
	margin: 0;
}

.top-title h1::after {
	content: "";
	height: 4px;
	width: 145px;
	background-color: #AD061F;
	position: absolute;
	top: 70px;
	left: 50%;
	transform: translate(-50%, 0);
	border-radius: 10px;
}

.middle-title h1 {
	color: #355E93;
	font-size: 90px;
	font-weight: 600;
	margin: -5px 0 0 0;
	transition: .5s;
}

.bottom-title::before {
	content: "";
	height: 4px;
	width: 100px;
	background-color: #AD061F;
	position: absolute;
	top: -4px;
	left: 50%;
	transform: translate(-50%, 0);
	border-radius: 10px;
	margin: 5px 0;
	transition: .7s;
}

.bottom-title h1 {
	color: #FFF;
	font-size: 30px;
	padding: 5px 0 8px;
}


/**********************RIBBON**********************/
.ribbon-banner {
	position: relative;
	top: 15px;
  	margin: 0 auto;
  	width: 255px;
  	text-align: center;
  	color: #FFF;
  	background: #AD061F;
  	border-radius: 6px;
  	box-shadow: 0 0 30px rgba(0,0,0,.15) inset, 0 6px 10px rgba(0,0,0,.15);
}

.ribbon-banner::before,
.ribbon-banner::after {
	content: '';
  	position: absolute;
  	z-index: -1;
  	left: -30px;
  	top: -25px;
  	display: block;
  	width: 40px;
  	height: 0px;
  	border: 30px solid #AD061F;
  	border-right: 20px solid #48020C;
  	border-bottom-color: #AD061F;
  	border-left-color: transparent;
  	transform: rotate(5deg);
}

.ribbon-banner::after {
	left: auto;
  	right: -30px;
  	border-left: 20px solid #48020C;
  	border-right: 30px solid transparent;
  	transform: rotate(-5deg);
}


/**********************CONTENT**********************/
.absentee-button {
	text-align: center;
	margin: 75px 0 25px;
}

.absentee-button .btn {
	background: #AD061F;
	border: 2px solid #AD061F;
	transition: .5s;
}

.absentee-button .btn:hover {
	color: #AD061F;
	background: rgba(137, 54, 54, .1);
	border: 2px solid #AD061F;
	transition: .5s;
}

.instructions {
	margin: 0 2rem 2rem;
	padding-top: 2rem;
}

h2 {
	text-align: center;
	color: #355E93;
	font-size: 50px;
	font-family: 'Caveat';
}

.column .list {
	width: 350px;
	margin: 0 auto 20px;
	padding-left: 15px;
}

.column .list li,
.column p,
.article .right-side p {
	font-size: 18px;
	font-weight: 600;
	position: relative;
	line-height: 1.75;
}

.red-side .list {
	width: unset;
}

.blue-side .list li::before {
	content: "";
	width: 6px;
	height: 6px;
	position: absolute;
	top: 50%;
	left: -15px;
	background-color: #355E93;
	border-radius: 50px;
	transform: translate(0, -50%);
}

.white-side .list li::before {
	content: "";
	width: 6px;
	height: 6px;
	position: absolute;
	top: 11px;
	left: -15px;
	background-color: #828282;
	border-radius: 50px;
}

.column-title {
	margin: 25px 0;
	font-family: 'Oswald', sans-serif;
    font-size: 30px;
    text-align: center;
    text-transform: uppercase;
    font-weight: 600;
}

.box-arrow {
	text-align: center;
	margin: 0 auto 50px;
	position: relative;
}

.box-arrow p {
	color: #FFF;
	text-transform: uppercase;
	margin: 0 auto;
	padding: 15px;
	font-size: 26px;
	font-weight: 600;
}

.box-arrow span {
	display: block;
}

.blue-box::after {
	content: "";
	position: absolute;
	width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 30px solid #355E93;
	transform: translate(-50%, 0);
}

.red-box::after {
	content: "";
	position: absolute;
	width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 30px solid #AD061F;
	transform: translate(-50%, 0);
}

.white-box::after {
	content: "";
	position: absolute;
	width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 30px solid #828282;
	transform: translate(-50%, 0);
}

.blue-box {
	background-color: #355E93;
}

.red-box {
	background-color: #AD061F;
}

.white-box {
	background-color: #828282;
}

.blue-side .btn:hover {
	color: #FFF!important;
}

.red-side .btn {
	color: #AD061F;
	border: 2px solid #AD061F;
}

.red-side .btn:hover {
	color: #FFF!important;
	background-color: #AD061F;
}

.white-side .btn {
	color: #4D4D4D;
	border: 2px solid #828282;
	background-color: rgba(130, 130, 130, .2);
}

.white-side .btn:hover {
	color: #FFF!important;
	border: 2px solid #828282;
	background-color: #828282;
}

.state-options {
	text-align: center;
}

.state-options select {
	padding: 5px 10px;
	color: #355E93;
	font-weight: 600;
	font-size: 16px;
	background-color: rgba(53, 94, 147, 0.1);
	border: 2px solid #355E93;
	border-radius: 5px;
	cursor: pointer;
}

.state-options option {
	font-size: 16px;
    font-weight: 600;
}

.steps {
	margin-top: 10px;
}

.steps .dgov-col-3 {
	text-align: center;
}

.steps .left-side {
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	color: #AD061F;
	font-weight: 600;
	font-size: 28px;
	position: relative;
	top: 8px;
	text-align: center;
}

.steps .left-side-before {
	font-family: 'Oswald', sans-serif;
	font-size: 65px;
	font-weight: 600;
	color: rgba(173, 6, 31, .3);
	position: absolute;
	top: -18px;
	left: 50%;
	transform: translate(-50%, 0);
}

.red-side div:nth-child(5) .dgov-col-4.dgov-col-bleed .left-side {
	top: 5px;
}

.red-side div:nth-child(5) .dgov-col-4.dgov-col-bleed .left-side-before {
	top: -20px;
}

.red-side .red-info {
	padding: 0 1rem;
}

.steps .right-side p {
	font-style: italic;
	color: #AD061F;
	line-height: 1.5;
	margin-bottom: 10px;
}

.steps .right-side .list li::before {
	content: "";
	width: 6px;
	height: 6px;
	position: absolute;
	top: 12px;
	left: -15px;
	background-color: #AD061F;
	border-radius: 50px;
}

.steps .btn {
	font-size: 14px!important;
	padding: 2px 8px!important;
	border: none!important;
}

.steps .list .btn:hover {
	border: none;
}



/***MILITARY VOTING SERVICE***/
.military-voting {
	background-color: #D5D5D5;
	padding: 1rem 0;
}

.military-vote {
	text-align: center;
}

.military-vote a {
	text-decoration: none;
}

.seal {
	width: 200px;
}

.military-vote .seal-title {
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	margin-top: 25px;
	transition: .5s;
}

.military-vote img {
	border-radius: 50%;
	transition: .5s;
}

.military-vote a:hover img {
	box-shadow: 0 0 10px 5px #4B4B4B;
	transform: scale(1.1);
}

.military-vote a:hover .seal-title {
	font-size: 18px;
}


/**********QUESTIONS ARTICLE**********/
.article {
	margin-bottom: 4rem;
	padding: 2rem;
}

.article-box {
	background-color: rgba(53,94,147,0.1);
	padding: 1rem 2rem 2rem;
}

.article .box-arrow {
	height: 10px;
}

.article .column-title {
	margin-bottom: 10px;
}

.article .column-title span {
	display: inline-block;
}



/**********************RESPONSIVE**********************/
@media screen and (max-width: 1240px) {
	.left-arrow {
		left: -125px;
		width: 150px;
	}
	.right-arrow {
		top: 100px;
		right: -120px;
		width: 150px;
	}
}

@media screen and (min-width: 1200px) {
	.absentee-button {
		display: none;
	}
}

@media screen and (max-width: 1200px) {
	.column {
		margin-bottom: 5rem;
	}
	.column .list {
		width: unset;
	}
}

@media screen and (max-width: 991px) {
	.bottom-bar svg {
		padding: 3px 15px;
	}
	.left-arrow {
		top: 0;
		left: -60px;
		transform: rotate(-10deg);
	}
	.right-arrow {
		top: 0px;
		right: -75px;
		transform: rotate(10deg);
	}
}

@media screen and (max-width: 771px) {
	.main-banner {
		height: 615px;
	}
	.main-banner .subtitle p {
		bottom: 22px;
		font-size: 34px;
	}
	.left-arrow {
		display: none;
	}
	.right-arrow {
		top: unset;
		right: unset;
		bottom: -80px;
		left: 75px;
		transform: rotate(168deg);
		width: 150px;
	}
	.right-arrow p {
		transform: rotate(180deg);
	}
	.article-button {
		text-align: center;
	}
}

@media screen and (max-width: 768px) {
	.article .left-side {
		text-align: center;
	}
}

@media screen and (max-width: 700px) {
	.instructions h2 span {
		display: block;
	}
}

@media screen and (max-width: 576px) {
	.main-banner {
		height: 565px;
	}
	.main-banner .subtitle p {
		bottom: -15px;
		font-size: 36px;
		line-height: 1.15;
	}
	.main-banner .subtitle p span {
		display: block;
	}
	.main-button {
		background: #FFF;
		height: 350px;
		width: 350px;
	}
	.button-content {
		top: 52%;
	}
	.bottom-bar {
		background-color: unset;
		border-bottom: 6px solid #AD061F;
	}
	.bottom-bar .star-row {
		display: none;
	}
	.top-title h1 {
		font-size: 50px;
	}
	.top-title h1::after {
		width: 135px;
		top: 64px;
	}
	.middle-title h1 {
		font-size: 90px;
	}
	.middle-title h1::after {
		width: 90px;
		top: 105px;
	}
	.bottom-title h1 {
		color: #AD061F;
		font-size: 25px;
		padding: 0;
	}
	.ribbon-banner {
		background: unset;
		box-shadow: unset;
	}
	.ribbon-banner::before,
	.ribbon-banner::after {
		display: none;
	}
	.right-arrow {
		display: none;
	}
}

@media screen and (max-width: 540px) {
	.military-voting h2 span {
		display: block;
	}
}

@media screen and (max-width: 400px) {
	.main-banner .subtitle p {
		bottom: 0;
		font-size: 30px;
	}
	.instructions h2 {
		font-size: 38px;
	}
	.article h2 {
		font-size: 32px;
	}
}











