/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media screen {
	
	html {
		height:100%;
	}
	
	body {
		position:relative;
		margin:0;
		font-family:proxima-nova,sans-serif;
		font-size:16px;
		font-weight:500;
		line-height:130%;
		color:#222;
	}
	
	.site_maxwidth {
		position:relative;
		max-width:1920px;
		margin:0 auto;
	}
	
	.panel_maxwidth {
		width:90%;
		max-width:1600px;
		margin:0 auto;
	}
	
	.panel_padding {
		padding:32px 0;
	}
	
	p {
		margin:0.75em 0;
	}
	
	h1,h2,h3,h4 {
		line-height:105%;
		margin-top:1.25em;
		margin-bottom:0.75em;
	}
	
	h1 {
		font-size:2em;
	}
	
	h2 {
		font-size:1.8em;
	}
	
	h3 {
		font-size:1.6em;
	}
	
	h4 {
		font-size:1.2em;
	}
	
	a {
		color:#222;
	}
	
	p:first-child,
	h1:first-child,
	h2:first-child,
	h3:first-child,
	h4:first-child,
	h5:first-child {
		margin-top:0;
	}
	
	p:last-child,
	h1:last-child,
	h2:last-child,
	h3:last-child,
	h4:last-child,
	h5:last-child {
		margin-bottom:0;
	}
	
	.page_headline {
		font-size:2.2em;
	}
	
	.page_headline.not_in_banner {
		color:#0c3551;
	}
	
	.page_basic_content figure {
		margin:1em 0;
	}
	
	.page_basic_content figure img {
		width:auto;
		height:auto;
		max-width:100%;
		vertical-align:top;
	}
	
	.page_basic_content figcaption {
		padding:8px 0;
		border-bottom:1px solid #eee;
		color:#666;
		font-size:0.9em;
		line-height:110%;
	}
	
	.page_basic_content figure iframe {
		max-width:100%;
	}
	
	.page_basic_content ul,
	.page_basic_content ol {
		padding:0 0 0 16px;
	}
	
	.page_basic_content ul li,
	.page_basic_content ol li {
		margin:8px 0;
		line-height:120%;
	}
	
	.table_overflow_wrap {
		overflow-x:auto;
	}
	
	/* -------- forms -------- */
	
	.form * {
		box-sizing:border-box;
	}
	
	.form input[type='text'],
	.form input[type='number'],
	.form input[type='tel'],
	.form input[type='email'],
	.form input[type='search'],
	.form input[type='url'],
	.form input[type='password'] {
		width:100%;
		height:40px;
		padding:0 8px;
		border:1px solid #ccc;
		border-bottom-width:2px;
		background-color:#fff;
		color:#222;
	}
		
	.form input[type='text']:focus,
	.form input[type='number']:focus,
	.form input[type='tel']:focus,
	.form input[type='email']:focus,
	.form input[type='search']:focus,
	.form input[type='url']:focus,
	.form input[type='password']:focus {
		border-color:#666;
		outline:4px solid rgba(100,100,100,0.1);
		box-shadow:none;
	}
	
	.form input[type='text']:invalid:focus,
	.form input[type='number']:invalid:focus,
	.form input[type='tel']:invalid:focus,
	.form input[type='email']:invalid:focus,
	.form input[type='search']:invalid:focus,
	.form input[type='url']:invalid,
	.form input[type='password']:invalid:focus {
		border-bottom-color:#c00;
	}
	
	.form input[type='text'][readonly],
	.form input[type='number'][readonly],
	.form input[type='tel'][readonly],
	.form input[type='email'][readonly],
	.form input[type='search'][readonly],
	.form input[type='url'][readonly],
	.form input[type='password'][readonly] {
		border-color:#f5f5f5;
		color:#ccc;
		background-color:#f5f5f5;
	}
	
	.form textarea {
		width:100%;
		min-height:128px;
		border:1px solid #ccc;
		border-bottom-width:2px;
		background-color:#fff;
		padding:8px;
		color:#222;
	}
	
	.form textarea:focus {
		border-color:#666;
		outline:4px solid rgba(100,100,100,0.1);
		box-shadow:none;
	}
	
	.form textarea:invalid:focus {
		border-bottom-color:#c00;
	}
	
	.form .req {
		color:#2f8cb7;
	}
	
	.form .freeform-row,
	.form .row {
		display:flex;
		flex-direction:column;
		margin:0 -8px;
	}
	
	.form .freeform-row.hide,
	.form .row.hide {
		display:none;
	}
	
	.form .freeform-row .freeform-column,
	.form .row .col {
		flex:1 1 100%;
		margin:0 8px;
		padding:8px 0;
	}
	
	.form .freeform-row .freeform-column .freeform-label,
	.form label {
		font-weight:500;
		margin:0 0 4px 0;
	}
	
	.form .freeform-row .freeform-column label.checkbox_label,
	.form label.checkbox_label {
		display:flex;
		padding:12px;
		margin:2px 0;
		background-color:#fff;
		border:1px solid #fff;
		line-height:110%;
		cursor:pointer;
	}
	
	.form .freeform-row .freeform-column label.checkbox_label.checked,
	.form label.checkbox_label.checked {
		border-color:#2f8cb7;
	}
	
	.form .freeform-row .freeform-column label.checkbox_label input,
	.form label.checkbox_label input {
	    flex:0 0 16px;
	    width:16px;
	    height:16px;
		margin:0 8px 0 0;
	}
		
	input[type=number] {
		-moz-appearance:textfield;
	}
	
	input[type=number]::-webkit-inner-spin-button, 
	input[type=number]::-webkit-outer-spin-button { 
	  -webkit-appearance:none; 
	  margin:0; 
	}
	
	.form select {
		box-sizing:border-box;
		width:100%;
		height:40px;
		padding:0 8px;
		background-color:#fff;
		border:1px solid #ccc;
	}
	
	.form .freeform-alert {
		background-color:#f2da7a;
		padding:16px;
		font-weight:700;
	}
	
	.form .freeform-alert.freeform-alert-success {
		background-color:#6dd06a;
	}
	
	/* -------- buttons -------- */
	
	.inline_buttons {
		display:flex;
		flex-direction:column;
	}
	
	.inline_buttons .box_button {
		margin:4px 0 0 0;
	}
	
	.box_button {
		display:inline-flex;
		padding:12px 16px;
		font-weight:700;
		line-height:105%;
		background-color:#0c3551;
		color:#fff;
		border:none;
		cursor:pointer;
		text-decoration:none;
	}
	
	.box_button .icon {
		flex:0 0 auto;
		width:16px;
		margin:0 12px 0 0;
	}
	
	.box_button .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
	}
	
	.box_button.small {
		padding:8px 12px;
		font-size:0.9em;
	}
	
	.box_button.large {
		padding:16px 24px;
		font-size:1.1em;
	}
	
	.box_button[disabled] {
		opacity:0.25;
	}
	
	.box_button.darkblue {
		background-color:#0c3551;
	}
	
	.box_button.lightblue {
		background-color:#2f8cb7;
	}
	
	.box_button.lightgrey {
		background-color:#eee;
		color:#222;
	}
	
	.box_button.darkgrey {
		background-color:#999;
	}
	
	.box_button.outline {
		box-sizing:border-box;
		border:2px solid #0c3551;
		background-color:transparent;
		color:#0c3551;
	}
	
	.box_button.outline.grey {
		box-sizing:border-box;
		border:2px solid #999;
		background-color:transparent;
		color:#999;
	}
	
	.box_button.outline.white {
		border:2px solid #fff;
		color:#fff;
	}
	
	.line_button {
		display:inline-flex;
		padding:4px 0;
		line-height:100%;
		font-weight:700;
		color:#0c3551;
		border-bottom:2px solid #0c3551;
	}
	
	.line_button.light {
		color:#ddd;
		border-color:#ddd;
	}
	
	/* -------- page banners -------- */
	
	#page_banner {
		position:relative;
		
		color:#fff;
	}
	
	#page_banner .bg {
		position:absolute;
		z-index:5;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:#1d4a69;
		background-size:cover;
		background-position:center center;
	}
	
	#page_banner .overlay {
		position:absolute;
		z-index:10;
		top:0;
		right:0;
		bottom:0;
		left:0;
	}
	
	#page_banner .panel_maxwidth {
		position:relative;
		z-index:20;
	}
	
	#page_banner .page_headline {
		margin:0;
	}
	
	#page_banner .page_subline {
		font-size:1.2em;
		margin-top:8px;
	}
	
	/* -------- page flashes / notices -------- */
		
	#site_notices {
		position:relative;
		height:0;
		z-index:200;
	}
	
	#site_notices .panel_maxwidth {
		max-width:512px;
	}
	
	#site_notices .notice {
		display:flex;
		justify-content:center;
		align-items:center;
		background-color:#2f8cb7;
		color:#fff;
		text-align:center;
		padding:16px 0;
		margin:8px 0 0 0;
		opacity:0;
		visibility:hidden;
	}
	
	#site_notices .notice .icon {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		margin:0 8px 0 0;
	}
	
	#site_notices .notice.show {
		opacity:1;
		visibility:visible;
		transition:opacity 0.5s 0s, visibility 0s;
	}
	
	#site_notices .notice.hide {
		opacity:0;
		visibility:hidden;
		transition:opacity 0.5s 0s, visibility 0s 0.5s;
	}
	
	/* -------- commerce -------- */
	
	.panel_commerce {
		background-color:#f5f5f5;
	}
	
	.panel_commerce .panel_maxwidth {
		max-width:1024px;
	}
	
	.commerce_price {
		line-height:105%;
	}
	
	.commerce_price .currency {
		font-size:0.8em;
	}
	
	.commerce_price .number {
		font-size:1.4em;
	}
	
	.commerce_price .tax {
		font-size:0.8em;
	}
	
	.add_to_cart {
		display:flex;
	}
	
	.add_to_cart .qty {
		box-sizing:border-box;
		height:40px;
		padding:0 8px;
		width:56px;
		margin:0 4px 0 0;
		border:1px solid #999;
		text-align:center;
		font-size:1.2em;
	}
		
	.add_to_cart .submit {
		box-sizing:border-box;
		white-space:nowrap;
		padding:0 16px;
		border:none;
		background-color:#0c3551;
		color:#fff;
		font-weight:500;
		font-size:0.9em;
		cursor:pointer;
	}
	
	.donation_variants {
		display:flex;
		flex-wrap:wrap;
		margin:-4px;
	}
	
	.donation_variants .donation_variant {
		flex:0 0 auto;
		flex-basis:calc(50% - 8px);
		margin:4px;
	}
	
	.donation_variants .donation_variant .submit {
		box-sizing:border-box;
		height:48px;
		padding:0 12px;
		width:100%;
		text-align:left;
		font-size:1.2em;
		font-weight:700;
		line-height:100%;
	}
	
	#cart_sticky {
		position:fixed;
		right:0;
		bottom:0;
		display:flex;
		align-items:center;
		padding:12px;
		background-color:#fff;
		box-shadow:0 0 16px rgba(0,0,0,0.25);
		color:#222;
		text-decoration:none;
		z-index:900;
	}
	
	#cart_sticky .icon {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
		margin:0 8px 0 0;
	}
	
	#cart_sticky .text {
		font-weight:700;
	}
	
	#nav_cart {
		display:flex;
		justify-content:flex-end;
		align-items:center;
		color:#222;
		text-decoration:none;
		padding:4px;
	}
	
	/*
	#nav_cart .number {
		display:flex;
		justify-content:center;
		align-items:center;
		font-weight:700;
		width:20px;
		height:20px;
		border-radius:50%;
		background-color:#222;
		color:#fff;
		font-size:0.75em;
		line-height:100%;
	}
	*/
	
	#nav_cart .number {
		font-size:0.9em;
		line-height:100%;
		font-weight:500;
		margin:0 8px 0 0;
	}
	
	#nav_cart .icon {
		
	}
	
	#nav_cart .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
	}
	
	#nav_user {
		display:flex;
		align-items:center;
		padding:4px;
	}
	
	#nav_user .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
	}
	
	.commerce_nav {
		background-color:#eee;
		padding:16px 0;
	}
	
	.commerce_nav .panel_maxwidth {
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		max-width:1024px;
	}
	
	.commerce_nav .item {
		color:#222;
		text-decoration:none;
		font-size:1em;
		line-height:100%;
		padding:4px;
	}
	
	.commerce_nav .item.current {
		font-weight:700;
		color:#1d4a69;
	}
	
	.commerce_nav .item.disabled {
		color:#ccc;
	}
	
	.commerce_nav .divider {
		margin:0 8px;
		color:#ccc;
	}
	
	.commerce_box {
		position:relative;
		background-color:#fff;
		padding:16px;
		margin-top:16px;
		transition:opacity 0.3s;
	}
	
	.commerce_box:first-child {
		margin-top:0;
	}
	
	.commerce_box.disabled {
		opacity:0.25;
	}
	
	.commerce_box.disabled:after {
		display:block;
		position:absolute;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:100;
	}
	
	.commerce_box .section_headline {
		font-weight:500;
		line-height:110%;
		margin:0 0 8px 0;
		color:#2f8cb7;
	}
	
	.commerce_box label.checkbox_label {
		background-color:#f5f5f5;
		border:1px solid #f5f5f5;
	}
	
	.commerce_box label.checkbox_label.checked {
		background-color:#eee;
		color:#222;
		border:1px solid #ccc;
	}
	
	.cart_wrap {
		
	}
	
	.cart {
		width:100%;
		border-collapse:collapse;
		font-weight:500;
	}
	
	.cart th,
	.cart td {
		padding:8px;
	}
	
	.cart .row_lineitems_head {
		display:none;
	}
	
	.cart .row_lineitems_head th {
		text-align:left;
		font-weight:700;
		background-color:#1d4a69;
		color:#fff;
	}
	
	.cart .row_lineitems_head .head_product {
		width:100%;
	}
	
	.cart .row_lineitems_head .head_remove {
		text-align:right;
	}
	
	.cart .row_lineitems_head .head_subtotal {
		text-align:right;
	}
	
	.cart tbody {
		display:block;
	}
	
	.cart .row_lineitem {
		display:flex;
		justify-content:flex-end;
		align-items:center;
		flex-direction:row;
		flex-wrap:wrap;
		width:100%;
		border-bottom:1px solid #ddd;
		padding:16px 0;
	}
	
	.cart .lineitem_td {
		padding:0 8px;
	}
	
	.cart .lineitem_image {
		display:none;
		width:16px;
	}
		
	.cart .lineitem_image .icon {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
	}
	
	.cart .lineitem_name {
		flex:0 0 auto;
		flex-basis:calc(100% - 16px);
		margin:0 0 8px 0;
	}
	
	.cart .lineitem_description {
		font-weight:700;
	}
	
	.cart .lineitem_options {
		border-collapse:collapse;
		margin-top:12px;
		padding:12px;
		background-color:#f5f5f5;
	}
	
	.cart .lineitem_options .option {
		font-size:0.9em;
		line-height:100%;
		color:#666;
		vertical-align:top;
		margin:8px 0 0 0;
	}
	
	.cart .lineitem_options .option:first-child {
		margin:0;
	}
	
	.cart .lineitem_options .key {
		font-weight:700;
	}
	
	.cart .lineitem_options .val {
		
	}
	
	.cart .lineitem_options .val .empty {
		color:#ccc;
		font-style:italic;
	}
	
	.cart .lineitem_bundle_contents {
		margin:8px 0 0 0;
		font-size:0.9em;
		line-height:105%;
	}
	
	.cart .lineitem_bundle_contents ul {
		margin:0;
		padding:0 0 0 16px;
	}
	
	.cart .lineitem_bundle_contents ul li {
		margin:4px 0 0 0;
	}
	
	.cart .lineitem_remove {
		text-align:right;
	}
	
	.cart .lineitem_qty input {
		box-sizing:border-box;
		width:64px;
		height:40px;
		padding:0 8px;
		border:1px solid #999;
	}
	
	.cart .lineitem_qty input[readonly] {
		border-color:#fff;
		color:#999;
	}
	
	.cart .lineitem_subtotal {
		text-align:right;
	}
	
	.cart .lineitem_empty {
		font-size:1.2em;
		font-style:italic;
		font-weight:700;
		text-align:center;
		padding:32px;
	}
	
	.cart .row_update {
		
	}
	
	.cart .row_update td {
		
		background-color:#eee;
		border-top:1px solid #ccc;
		border-bottom:1px solid #ccc;
	}
	
	.cart .row_update .col_coupon {
		text-align:left;
		width:100%;
	}
	
	.cart .row_update .col_coupon input {
		max-width:128px;
	}
	
	.cart .row_update .col_submit {
		text-align:right;
	}
	
	.cart .row_update .submit {
		
	}
	
	.cart .row_modifier td {
		border-bottom:1px solid #ddd;
	}
	
	.cart .modifier_label {
		text-align:right;
	}
	
	.cart .modifier_value {
		text-align:right;
	}
	
	.cart .row_total td {
		border-top:1px solid #ccc;
		border-bottom:1px solid #ccc;
	}
	
	.cart .total_label {
		text-align:right;
		font-weight:700;
	}
	
	.cart .total_value {
		text-align:right;
		font-weight:700;
	}
		
	.checkout_actions {
		position:relative;
		margin:16px 0 0 0;
		padding:16px;
		display:flex;
		justify-content:flex-end;
		background-color:#fff;
		transition:opacity 0.3s;
	}
	
	.checkout_actions.disabled {
		opacity:0.25;
	}
	
	.checkout_actions.disabled:after {
		display:block;
		position:absolute;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:100;
	}
		
	.address_fields.billing_address.hide,
	.address_fields.shipping_address.hide {
		display:none;
	}
	
	.order_list_table {
		border-collapse:collapse;
		width:100%;
	}
	
	.order_list_table th,
	.order_list_table td {
		padding:12px;
	}
	
	.order_list_table th {
		background-color:#1d4a69;
		color:#fff;
		text-align:left;
	}
	
	.order_list_table td {
		border-bottom:1px solid #ddd;
	}
	
	.order_list_table td.order_button {
		text-align:right;
	}
	
	.order_details_table {
		width:100%;
		border-collapse:collapse;
	}
	
	.order_details_table td {
		border-bottom:1px solid #ddd;
		padding:12px;
	}
	
	.order_details_table .row_total .total_label {
		font-weight:700;
	}
	
	.order_details_table .row_total .total_number {
		text-align:right;
	}
	
	.order_details_table .lineitem .item_name {
		
	}
	
	.order_details_table .lineitem .item_cost {
		text-align:right;
	}
	
	.form .commerce_address_lines input {
		margin-bottom:4px;
	}
	
	.cc_icons {
		display:flex;
		margin:0 0 16px 0;
	}
	
	.cc_icons .icon {
		margin:0 12px 0 0;
	}
	
	.cc_icons .icon img {
		width:auto;
		height:24px;
		vertical-align:top;
	}
	
	.commerce_box .checkbox_label.foreign_donor_checkbox {
		border-color:#2f8cb7;
	}
	
	.donation_disclosure {
		font-size:0.75em;
		line-height:120%;
	}
	
	.form_errors {
		background-color:#ffdfdf;
		border:1px solid #d53131;
		padding:16px;
	}
	
	.form_errors p {
		margin:0 0 8px 0;
		font-weight:700;
	}
	
	.form_errors ul {
		margin:8px 0 0 0;
		padding:0 0 0 16px;
	}
	
	.field_errors {
		background-color:#ffdfdf;
		border:1px solid #d53131;
		padding:16px;
	}
	
	/* -------- account -------- */
	
	.panel_account {
		background-color:#f5f5f5;
		min-height:100vh;
	}
	
	.panel_account .panel_maxwidth {
		max-width:1024px;
	}
	
	.account_headline {
		display:flex;
		flex-direction:column;
		margin:0 0 16px 0;
	}
	
	.account_headline .text {
		
	}
	
	.account_headline .page_headline {
		color:#1d4a69;
		margin:0;
	}
	
	.account_headline .actions {
		display:flex;
		align-items:center;
		margin:12px 0 0 0;
		font-size:0.9em;
		line-height:100%;
	}
	
	.account_headline .actions .action_user {
		display:flex;
		text-decoration:none;
		font-weight:700;
	}
	
	.account_headline .actions .action_user .icon {
		margin:0 8px 0 0;
	}
	
	.account_headline .actions .action_user .icon img {
		width:auto;
		height:auto;
		max-width:12px;
		max-height:12px;
		vertical-align:top;
	}
	
	.account_headline .actions .action_login {
		color:#999;
		text-decoration:none;
	}
	
	.account_headline .actions .divider {
		color:#ccc;
		margin:0 12px;
	}
	
	.panel_account .page_intro {
		margin:16px 0;
	}
	
	.account_nav {
		margin:12px 0 0 0;
		padding:0;
		max-width:384px;
	}
	
	.account_nav li {
		list-style:none;
		margin:4px 0 0 0;
	}
	
	.account_nav .nav_item {
		display:flex;
		align-items:center;
		padding:12px;
		text-decoration:none;
		background-color:#f5f5f5;
		border:1px solid #ddd;
	}
	
	.account_nav .nav_item .icon {
		flex:0 0 16px;
		margin:0 8px 0 0;
	}
	
	.account_nav .nav_item .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
	}
	
	.account_update_form .reset {
		display:inline-block;
		margin:0 0 0 8px;
		color:#666;
	}
		
	/* -------- global pages - generic -------- */
	
	body[data-type-id='1'] #page_banner .panel_maxwidth,
	body[data-type-id='1'] .panel_page_generic .panel_maxwidth {
		max-width:768px;
	}
	
	/* -------- global pages - form page -------- */
	
	#form_page {
		position:relative;
		background-color:#ccc;
	}
	
	#form_page .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:10;
		background-size:cover;
		background-position:center center;
	}
	
	#form_page .fg {
		position:relative;
		z-index:20;
	}
	
	#form_page .form_box {
		background-color:#f5f5f5;
		box-shadow:4px 4px 16px rgba(0,0,0,0.25);
		max-width:920px;
		margin:0 auto 0 0;
	}
	
	#form_page .form_box .banner {
		padding:24px;
		color:#fff;
		background-color:#2f8cb7;
	}
	
	#form_page .form_box .banner .page_headline {
		margin:0;
	}
	
	#form_page .form_box .banner .page_subline {
		font-size:1.2em;
		line-height:120%;
		margin:16px 0 0 0;
	}
	
	#form_page .form_box .intro {
		padding:24px;
		border-bottom:1px solid #ccc;
	}
	
	#form_page .form_box .form {
		padding:24px;
	}
	
	/* -------- team list -------- */
		
	body[data-type-id='6'] #page_banner .panel_maxwidth {
		max-width:1280px;
	}
	
	.panel_team_subnav {
		background-color:#0c3551;
		color:#fff;
	}
	
	.panel_team_subnav .panel_maxwidth {
		max-width:1280px;
		padding:24px 0;
	}
	
	.team_subnav {
		display:flex;
		flex-direction:column;
		margin:-4px;
	}
	
	.team_subnav .item {
		color:#fff;
		text-decoration:none;
		padding:8px 12px;
		margin:4px;
		border:1px solid #597689;
		border-radius:8px;
		line-height:100%;
		white-space:nowrap;
	}
	
	.team_subnav .item.active {
		background-color:#597689;
		color:#0c3551;
	}
	
	.team_subnav .item[data-slug='state-cabinet']:before,
	.team_subnav .item[data-slug='state-house-of-assembly']:before,
	.team_subnav .item[data-slug='state-legislative-council']:before {
		display:inline-block;
		content:'';
		width:8px;
		height:8px;
		margin-right:4px;
		border-radius:50%;
	}
	
	.team_subnav .item[data-slug='state-cabinet'].active:before,
	.team_subnav .item[data-slug='state-house-of-assembly'].active:before,
	.team_subnav .item[data-slug='state-legislative-council'].active:before {
		background-color:#0c3551;
	}
	
	.team_subnav .item[data-slug='state-cabinet'] {
		border-color:#7396b2;
	}
		
	.team_subnav .item[data-slug='state-cabinet']:before {
		background-color:#7396b2;
	}
	
	.team_subnav .item[data-slug='state-cabinet'].active {
		background-color:#7396b2;
	}
		
	.team_subnav .item[data-slug='state-house-of-assembly'] {
		border-color:#8daf7a;
	}
	
	.team_subnav .item[data-slug='state-house-of-assembly']:before {
		background-color:#8daf7a;
	}
	
	.team_subnav .item[data-slug='state-house-of-assembly'].active {
		background-color:#8daf7a;
	}
	
	.team_subnav .item[data-slug='state-legislative-council'] {
		border-color:#ba807d;
	}
	
	.team_subnav .item[data-slug='state-legislative-council']:before {
		background-color:#ba807d;
	}
	
	.team_subnav .item[data-slug='state-legislative-council'].active {
		background-color:#ba807d;
	}
	
	.panel_team_list {
		background-color:#eee;
	}
	
	.panel_team_list .panel_maxwidth {
		max-width:1280px;
	}
	
	.team_list {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.team_list .person {
		position:relative;
		display:flex;
		flex-direction:column;
		margin:8px;
		background-color:#fff;
		text-decoration:none;
		color:#222;
	}
	
	.team_list .person .image {
		position:relative;
		padding-top:90%;
		background-color:#ddd;
		texgt-decoration:none;
	}
	
	.team_list .person .image .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:10;
		background-color:#738ea1;
		background:radial-gradient(circle, #91abbd 0%, #486479 100%);
		background-size:cover;
		background-position:center center;
	}
		
	.team_list .person .image .fg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:30;
		overflow:hidden;
	}
	
	.team_list .person .image .fg .headshot {
		position:relative;
		width:100%;
		height:100%;
		object-fit:contain;
		object-position:center bottom;
		color:rgba(255,255,255,0.1);
		z-index:10;
	}
	
	.team_list .person .image .fg .dots {
		position:absolute;
		display:flex;
		flex-direction:column;
		align-items:flex-end;
		top:8px;
		right:8px;
		z-index:20;
	}
	
	.team_list .person .image .fg .dots .dot {
		width:12px;
		height:12px;
		background-color:#fff;
		border-radius:50%;
		margin-bottom:4px;
	}
	
	.team_list .person .image .fg .dots .dot.blue {
		background-color:#7396b2;
	}
	
	.team_list .person .image .fg .dots .dot.green {
		background-color:#8daf7a;
	}
	
	.team_list .person .image .fg .dots .dot.red {
		background-color:#ba807d;
	}
	
	.team_list .person .image:after {
		position:absolute;
		display:block;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:20;
		background-color:#fff;
		background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
		opacity:0;
		mix-blend-mode:overlay;
	}
	
	.team_list .person .text {
		display:flex;
		flex:1 1 auto;
		flex-direction:column;
		justify-content:space-between;
		padding:16px;
	}
	
	.team_list .person .text .row_details {
		flex:1 1 auto;
	}
	
	.team_list .person .long_name {
		color:#0c3551;
		font-size:1.2em;
		font-weight:500;
		line-height:110%;
		margin:0;
	}
	
	.team_list .person .long_name a {
		text-decoration:none;
		color:#0c3551;
	}
	
	.team_list .person .long_name strong {
		font-weight:700;
	}
	
	.team_list .person .roles {
		margin:12px 0 0 0;
		padding:0;
	}
	
	.team_list .person .roles .role {
		list-style:none;
		color:#666;
		line-height:110%;
		margin:6px 0 0 0;
	}
	
	.team_list .person .row_actions {
		margin:16px 0 0 0;
	}
	
	.team_list .person .readmore {
		font-size:0.9em;
		text-transform:uppercase;
		color:#51aee6;
	}
	
	/* -------- team profile page -------- */
	
	.panel_team_profile {
		background-color:#eee;
	}
	
	.panel_team_profile .panel_maxwidth {
		max-width:1280px;
	}
	
	.panel_team_profile .cols {
		display:flex;
		flex-direction:column;
	}
	
	.panel_team_profile .col_headshot {
		margin:0 0 8px 0;
	}
	
	.panel_team_profile .col_headshot .box {
		position:relative;
		padding-top:90%;
	}
	
	.panel_team_profile .col_headshot .box .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:#738ea1;
		background:radial-gradient(circle, #91abbd 0%, #486479 100%);
		z-index:10;
	}
	
	.panel_team_profile .col_headshot .box .fg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:10;
	}
	
	.panel_team_profile .col_headshot .box .fg .headshot {
		position:relative;
		width:100%;
		height:100%;
		object-fit:contain;
		object-position:center bottom;
		color:rgba(255,255,255,0.1);
		z-index:10;
	}
	
	.panel_team_profile .col_main {
		
	}
	
	.panel_team_profile .row_intro {
		background-color:#1d4a69;
		color:#fff;
		padding:16px;
		margin:0 0 8px 0;
	}
	
	.panel_team_profile .row_intro .page_headline {
		font-size:1.6em;
		font-weight:500;
		line-height:110%;
		margin:0 0 8px 0;
	}
	
	.panel_team_profile .row_intro .page_headline strong {
		font-weight:700;
	}
	
	.panel_team_profile .row_intro .roles {
		margin:16px 0 0 0;
		padding:0;
	}
	
	.panel_team_profile .row_intro .roles .role {
		display:flex;
		align-items:center;
		list-style:none;
		margin:8px 0 0 0;
		line-height:105%;
	}
	
	.panel_team_profile .row_intro .roles .role:before {
		content:'';
		width:8px;
		height:8px;
		border-radius:50%;
		background-color:#456a84;
		margin:0 6px 0 0;
	}
	
	.panel_team_profile .row_intro .responsibilities {
		margin:16px 0 0 0;
	}
	
	.panel_team_profile .row_intro .responsibilities .headline {
		line-height:110%;
		font-weight:700;
		margin:0 0 4px 0;
		color:#c7d7e3;
	}
	
	.panel_team_profile .row_intro .responsibilities .items {
		display:flex;
		flex-wrap:wrap;
		margin:-4px;
		padding:4px 0 0 0;
	}
	
	.panel_team_profile .row_intro .responsibilities .items .item {
		display:flex;
		line-height:105%;
		margin:4px;
		color:#adc4d5;
	}
	
	.panel_team_profile .row_intro .responsibilities .items .item:before {
		content:'•';
		color:#7791a4;
		margin:0 8px 0 0;
	}
	
	.panel_team_profile .row_intro .actions {
		margin:24px 0 0 0;
	}
	
	.panel_team_profile .row_details {
		padding:16px;
		background-color:#fff;
	}
	
	.panel_team_profile .section_headline {
		font-size:1.4em;
		line-height:110%;
		color:#1d4a69;
		margin:0 0 12px 0;
	}
	
	.panel_team_profile .contact_details {
		margin:0 0 16px 0;
		padding:0 0 16px 0;
		border-bottom:1px solid #ddd;
	}
	
	.panel_team_profile .offices {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.panel_team_profile .offices .office {
		margin:8px;
	}
	
	.panel_team_profile .social_links {
		margin:0 0 16px 0;
		padding:0 0 16px 0;
		border-bottom:1px solid #ddd;
	}
	
	.panel_team_profile .social_links .inner {
		display:flex;
		flex-wrap:wrap;
		margin:-4px -8px;
	}
	
	.panel_team_profile .social_links .social_link {
		display:flex;
		align-items:center;
		margin:4px 8px;
		text-decoration:none;
	}
	
	.panel_team_profile .social_links .social_link img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		margin:0 8px 0 0;
	}
	
	.panel_team_profile .biography {
		
	}
	
	/* -------- office details -------- */
	
	.office_details {
		
	}
	
	.office_details.reversed {
		color:#fff;
	}
	
	.office_details .top {
		margin:0;
	}
	
	.office_details .headline {
		color:#0c3551;
		font-size:1.1em;
		line-height:110%;
		margin:0;
	}
	
	.office_details.reversed .headline {
		color:#fff;
	}
	
	.office_details .subline {
		line-height:110%;
		margin:4px 0 0 0;
		color:#666;
	}
	
	.office_details .availability {
		line-height:110%;
		margin:4px 0 0 0;
		font-style:italic;
		color:#999;
	}
	
	.office_details .bot {
		margin:12px 0 0 0;
	}
	
	.office_details .item_with_icon {
		margin:8px 0 0 0;
		font-size:0.9em;
		line-height:110%;
	}
	
	.office_details .item_with_icon .inner {
		display:flex;
		text-decoration:none;
	}
	
	.office_details .item_with_icon .icon {
		flex:0 0 16px;
		margin:0 8px 0 0;
		text-align:center;
	}
	
	.office_details .item_with_icon .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:top;
	}
	
	.office_details .item_with_icon .label {
		flex:1 1 auto;
	}
	
	/* -------- downloads page -------- */
	
	body[data-type-id='10'] #page_banner .panel_maxwidth {
		max-width:1024px;
	}
	
	.panel_page_downloads {
		background-color:#eee;
	}
	
	.panel_page_downloads .panel_maxwidth {
		max-width:1024px;
	}
	
	.download_list {
		display:flex;
		flex-direction:column;
		margin:-8px;
		padding:32px 0;
	}
	
	.download_list .row_subheading {
		margin:8px;
		padding:16px 0 0 0;
	}
	
	.download_list .row_subheading .subheading {
		font-size:1.6em;
		line-height:110%;
		color:#1d4a69;
		margin:0;
	}
	
	.download_list .row_subheading .subline {
		color:#666;
		margin:8px 0 0 0;
		line-height:120%;
	}
	
	.download_list .row_item {
		display:flex;
		background-color:#f9f9f9;
		padding:16px;
		text-decoration:none;
		color:#222;
		margin:8px;
		
	}
	
	.download_list .row_item .icon {
		flex:0 0 16px;
		margin:0 12px 0 0;
		padding:4px 0;
	}
	
	.download_list .row_item .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
	}
	
	.download_list .row_item .text {
		
	}
	
	.download_list .row_item .text .name {
		color:#1d4a69;
		font-size:1.2em;
		font-weight:700;
		line-height:110%;
		margin:0;
	}
	
	.download_list .row_item .text .description {
		color:#666;
		font-size:1em;
		line-height:110%;
		margin:4px 0 0 0;
	}
	
	.download_list .row_item .text .last_updated {
		color:#999;
		font-size:0.9em;
		line-height:110%;
		margin:8px 0 0 0;
	}
	
	/* -------- events -------- */
	
	.panel_event {
		position:relative;
		background-color:#eee;
		overflow:hidden;
	}
	
	.panel_event .bg {
		position:absolute;
		top:0;
		right:0;
		left:0;
		overflow:hidden;
		z-index:10;
	}
	
	.panel_event .bg .bg_img {
		position:relative;
		top:0;
		left:0;
		width:100%;
		height:auto;
		vertical-align:top;
		z-index:10;
	}
	
	.panel_event .bg .fade {
		position:absolute;
		right:0;
		bottom:0;
		left:0;
		height:30vh;
		background:linear-gradient(180deg, rgba(238,238,238,0) 0%, rgba(238,238,238,1) 100%);
		z-index:20;
	}
	
	.panel_event .panel_maxwidth {
		position:relative;
		max-width:1280px;
		z-index:20;
	}
	
	.panel_event .cols {
		display:flex;
		flex-direction:column;
	}
	
	.panel_event .col_image {
		margin:0 0 16px 0;
	}
	
	.panel_event .col_image img {
		width:100%;
		height:auto;
		vertical-align:top;
	}
	
	.panel_event .col_content {
		
	}
	
	.panel_event .event_box {
		background-color:#fff;
		padding:16px;
		margin:0 0 16px 0;
	}
	
	.panel_event .page_headline {
		color:#1d4a69;
		margin:0 0 8px 0;
		font-size:2em;
		line-height:110%;
	}
	
	.panel_event .page_subline {
		font-size:1.1em;
		color:#666;
	}
	
	.panel_event .event_meta {
		width:100%;
		border-collapse:collapse;
	}
	
	.panel_event .event_meta td {
		font-size:1em;
		line-height:120%;
		vertical-align:top;
		padding:8px;
		border-bottom:1px solid #ddd;
	}
	
	.panel_event .event_meta .left {
		font-weight:700;
	}
	
	.panel_event .event_meta .right {
		width:100%;
	}
	
	.panel_event .page_intro_content {
		margin:16px 0 0 0;
	}
	
	.panel_event .page_intro_content p {
		font-size:1.1em;
		line-height:130%;
		font-weight:500;
	}
	
	.panel_event .page_basic_content {
		margin:16px 0 0 0;
	}
	
	.panel_event .page_basic_content p,
	.panel_event .page_basic_content li {
		font-size:1em;
		line-height:130%;
	}
	
	.panel_event .box_product .product_top {
		margin:0 0 16px 0;
	}
	
	.panel_event .box_product .product_headline {
		font-size:1.6em;
		line-height:110%;
		color:#1d4a69;
		margin:0 0 8px 0;
	}
	
	.panel_event .box_product .product_description {
		margin:8px 0 0 0;
		line-height:120%;
		color:#666;
	}
	
	.panel_event .box_product .ticket_counter {
		color:#666;
		line-height:110%;
	}
	
	.panel_event .box_product .variants {
		
	}
	
	.panel_event .box_product .variant {
		padding:16px;
		border:1px solid #ccc;
		margin:12px 0 0 0;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
	}
	
	.panel_event .box_product .variant_top {
		margin:0 0 8px 0;
	}
	
	.panel_event .box_product .variant_headline {
		font-size:1.4em;
		line-height:110%;
		color:#0c3551;
		margin:0 0 4px 0;
	}
	
	.panel_event .box_product .variant_description {
		margin:4px 0 0 0;
		line-height:120%;
		color:#666;
	}
	
	.panel_event .box_product .bundle_contents {
		color:#666;
	}
	
	.panel_event .box_product .variant_in_cart {
		color:#72BF44;
	}
	
	.panel_event .box_product .variant_in_cart .tick {
		
	}
	
	.panel_event .box_product .variant_in_cart .tick img {
		width:auto;
		height:auto;
		max-width:12px;
		max-height:12px;
	}
	
	.panel_event .box_product .variant_in_cart .link {
		color:#72BF44;
	}
	
	.panel_event .box_product .variant_bot {
		display:flex;
		flex-direction:column;
		margin:12px 0 0 0;
	}
	
	.panel_event .box_product .col_actions {
		margin:8px 0 0 0;
	}
	
	.panel_event .box_product .small_print {
		margin:16px 0 0 0;
		font-size:0.75em;
		line-height:110%;
		color:#666;
	}
	
	#event_attendees_popup {
		max-width:768px;
		background-color:#f5f5f5;
		padding:0;
	}
	
	#event_attendees_popup .inner {
		padding:16px;
	}
	
	#event_attendees_popup .popup_top {
		margin:0 0 16px 0;
	}
	
	#event_attendees_popup .popup_headline {
		margin:0;
		font-size:1.8em;
		line-height:110%;
		color:#1d4a69;
	}
	
	#event_attendees_popup .attendees {
		
	}
	
	#event_attendees_popup .attendee {
		padding:16px;
		border:1px solid #ccc;
		margin:16px 0 0 0;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
		background-color:#fff;
	}
	
	#event_attendees_popup .attendee .attendee_headline {
		font-size:1.4em;
		line-height:110%;
		font-weight:500;
		margin:0 0 8px 0;
	}
	
	#event_attendees_popup .actions {
		position:fixed;
		right:0;
		bottom:0;
		left:0;
		padding:8px;
		text-align:center;
		margin:16px 0 0 0;
		background-color:#f5f5f5;
	}
	
	/* -------- news list -------- */
	
	.panel_page_news_list {
		background-color:#eee;
	}
	
	.news_list {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.news_list .news_item {
		position:relative;
		display:flex;
		flex-direction:column;
		background-color:#fff;
		margin:8px;
	}
	
	.news_list .news_item .col_image {
		position:relative;
		background-color:#ccc;
		color:#ccc;
		flex:0 0 192px;
	}
	
	.news_list .news_item .col_image .thumbnail {
		position:relative;
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	.news_list .news_item .col_image:after {
		position:absolute;
		display:block;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:rgba(255,255,255,0.1);
		opacity:0;
	}
	
	.news_list .news_item .col_text {
		padding:16px;
	}
	
	.news_list .news_item .headline {
		font-size:1.4em;
		line-height:105%;
		margin:0 0 8px 0;
	}
	
	.news_list .news_item .headline a {
		color:#1d4a69;
		text-decoration:none;
	}
	
	.news_list .news_item .subline {
		font-size:0.9em;
		line-height:110%;
		margin:8px 0 0 0;
		color:#999;
	}
	
	.news_list .news_item .excerpt {
		line-height:120%;
		margin:12px 0 0 0;
	}
	
	.news_list .news_item .actions {
		margin:12px 0 0 0;
		line-height:110%;
	}
	
	.news_list .news_item .actions .readmore {
		display:inline-block;
		font-weight:700;
		color:#1d4a69;
		text-decoration:none;
	}
	
	/* -------- event list -------- */
	
	.panel_page_event_list {
		background-color:#eee;
	}
	
	.event_list {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.event_list .event_item {
		display:flex;
		flex-direction:column;
		margin:8px;
		background-color:#fff;
	}
	
	.event_list .event_item .col_image {
		position:relative;
		background-color:#ccc;
		color:#ccc;
		flex:0 0 192px;
	}
	
	.event_list .event_item .col_image .thumbnail {
		position:relative;
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	.event_list .event_item .col_image:after {
		position:absolute;
		display:block;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:rgba(255,255,255,0.1);
		opacity:0;
	}
	
	.event_list .event_item .col_text {
		padding:16px;
	}
	
	.event_list .event_item .headline {
		font-size:1.4em;
		line-height:105%;
		margin:0 0 8px 0;
	}
	
	.event_list .event_item .headline a {
		color:#1d4a69;
		text-decoration:none;
	}
	
	.event_list .event_item .subline {
		font-size:0.9em;
		line-height:110%;
		margin:8px 0 0 0;
		color:#999;
	}
	
	.event_list .event_item .event_date {
		color:#666;
		font-weight:700;
		line-height:110%;
		margin:8px 0 0 0;
		
	}
	
	.event_list .event_item .event_venue {
		color:#999;
		font-size:0.9em;
		line-height:110%;
		margin:4px 0 0 0;
	}
	
	.event_list .event_item .excerpt {
		line-height:120%;
		margin:12px 0 0 0;
	}
	
	.event_list .event_item .actions {
		margin:12px 0 0 0;
		line-height:110%;
	}
	
	.event_list .event_item .actions .readmore {
		display:inline-block;
		font-weight:700;
		color:#1d4a69;
		text-decoration:none;
	}
	
	/* -------- pagination -------- */
	
	.pagination {
		display:flex;
		margin:16px 0 0 0;
	}
	
	.pagination .item {
		display:flex;
		justify-content:center;
		align-items:center;
		width:auto;
		min-width:48px;
		height:48px;
		background-color:#fcfcfc;
		margin:4px 4px 0 0;
		color:#0c3551;
		text-decoration:none;
	}
	
	.pagination .item.disabled {
		background-color:#f5f5f5;
	}
	
	.pagination .item.current {
		background-color:#fff;
		font-weight:700;
	}
	
	/* -------- candidate campaign -------- */
	
	body[data-section-id='5'] #header {
		display:none;
	}
	
	body[data-section-id='5'] #footer {
		display:none;
	}
	
	.candidate_campaign {
		position:relative;
	}
	
	.candidate_campaign .line_button.medium {
		color:#2c7c9f;
		border-color:#2c7c9f;
	}
	
	.candidate_campaign .line_button.light {
		color:#97d7f3;
		border-color:#97d7f3;
	}
	
	.candidate_campaign .box_button {
		position:relative;
		background-color:#0c3551;
		color:#fff;
		border-radius:4px;
	}
	
	.candidate_campaign .box_button.medium {
		background-color:#2c7c9f;
		color:#fff;
	}
	
	.candidate_campaign .box_button.light {
		background-color:#97d7f3;
		color:#102b3c;
	}
	
	.candidate_campaign .box_button:before {
		position:absolute;
		display:block;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		opacity:0;
		background-color:rgba(255,255,255,0.1);
		mix-blend-mode:overlay;
	}
	
	.candidate_campaign .box_button.light:before {
		background-color:rgba(255,255,255,0.2);
	}
	
	.candidate_feature {
		position:relative;
		background-color:#0c3551;
		background:linear-gradient(180deg, #0c3551 0%, #1d5479 100%);
		color:#fff;
	}
	
	.candidate_feature .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:10;
		mix-blend-mode:luminosity;
		opacity:0.1;
	}
	
	.candidate_feature .bg img {
		position:relative;
		object-fit:cover;
		width:100%;
		height:100%;
		z-index:20;
	}
	
	.candidate_feature .bg .bg_overlay {
		position:absolute;
		top:0;
		right:0;
		left:0;
		height:256px;
		background:linear-gradient(180deg, rgba(12,53,81,0.75) 0%, rgba(12,53,81,0) 100%);
		z-index:30;
	}
	
	.candidate_feature .row_nav {
		position:relative;
		padding:16px 0;
		z-index:30;
	}
	
	.candidate_feature .row_nav .panel_maxwidth {
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	
	.candidate_feature .row_nav .col_left {
		margin:0 32px 0 0;
	}
	
	.candidate_feature .row_nav .col_right {
		
	}
	
	.candidate_feature .row_nav .lib_logo img {
		width:40px;
		height:auto;
		vertical-align:middle;
	}
	
	.candidate_feature .row_nav .candidate_logo {
		text-align:center;
	}
	
	.candidate_feature .row_nav .candidate_logo .name {
		font-size:1.3em;
		font-weight:700;
		line-height:100%;
		text-transform:uppercase;
		letter-spacing:0.1em;
		padding:0 0 4px 0;
		border-bottom:1px solid #97d7f3;
		color:#97d7f3;
	}
	
	.candidate_feature .row_nav .candidate_logo .role {
		font-size:0.8em;
		line-height:100%;
		padding:4px 0 0 0;
	}
	
	.candidate_feature .row_top {
		position:relative;
		z-index:30;
	}
	
	.candidate_feature .row_top .panel_maxwidth {
		display:flex;
		justify-content:flex-end;
	}
	
	.candidate_feature .row_top .col_right {
		display:flex;
		align-items:center;
		flex:0 0 70%;
		min-height:256px;
	}
	
	.candidate_feature .row_top .col_right .inner {
		padding:32px 0;
	}
	
	.candidate_feature .row_top .page_headline {
		color:#fff;
		margin:0 0 8px 0;
		font-size:1.6em;
		line-height:110%;
	}
	
	.candidate_feature .row_top .actions {
		margin:16px 0 0 0;
	}
	
	.candidate_feature .row_top .actions .box_button {
		margin:8px 8px 0 0;
	}
	
	.candidate_feature .row_bot {
		position:relative;
		z-index:30;
		background-color:#102b3c;
	}
	
	.candidate_feature .row_bot .panel_maxwidth {
		display:flex;
		justify-content:flex-end;
	}
	
	.candidate_feature .row_bot .col_right {
		display:flex;
		justify-content:flex-end;
		flex:0 0 70%;
		height:48px;
	}
	
	.candidate_feature .row_bot .buttons {
		display:flex;
	}
	
	.candidate_feature .row_bot .buttons .button {
		position:relative;
		display:flex;
		align-items:center;
		padding:0 12px;
		color:#fff;
		text-decoration:none;
		font-size:0.9em;
		line-height:105%;
	}
	
	.candidate_feature .row_bot .buttons .button:before {
		position:absolute;
		display:block;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:rgba(255,255,255,0.2);
		opacity:0;
		mix-blend-mode:overlay;
	}
	
	.candidate_feature .row_bot .buttons .button .icon {
		text-align:center;
	}
	
	.candidate_feature .row_bot .buttons .button .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
	}
	
	.candidate_feature .row_bot .buttons .button .label {
		display:none;
		white-space:nowrap;
		margin:0 0 0 8px;
	}
	
	.candidate_feature .row_bot .social_icons {
		display:flex;
	}
	
	.candidate_feature .row_bot .social_icons .social_icon {
		position:relative;
		display:flex;
		justify-content:center;
		align-items:center;
		padding:0 12px;
		color:#fff;
		text-decoration:none;
	}
	
	.candidate_feature .row_bot .social_icons .social_icon:before {
		position:absolute;
		display:block;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:rgba(255,255,255,0.2);
		opacity:0;
		mix-blend-mode:overlay;
	}
		
	.candidate_feature .row_bot .social_icons .social_icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
	}
	
	.candidate_feature .row_headshot {
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		width:30%;
		z-index:20;
	}
	
	.candidate_feature .row_headshot .headshot {
		position:absolute;
		bottom:0;
		left:0;
		height:80%;
		transform:translateX(-40%);
	}
	
	.candidate_main {
		position:relative;
		background-color:#eee;
		padding:24px 0;
	}
	
	.candidate_alerts {
		margin:0 0 16px 0;
	}
	
	.candidate_alerts .alert {
		display:flex;
		flex-direction:column;
		color:#102b3c;
		text-decoration:none;
		padding:16px;
		background-color:#97d7f3;
		background:linear-gradient(69deg, #97d7f3 0%, #a9f3e2 100%); 
		border-radius:8px;
		margin:0 0 8px 0;
	}
	
	.candidate_alerts .alert .col_text {
		display:flex;
		align-items:center;
	}
		
	.candidate_alerts .alert .icon {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		margin:0 12px 0 0;
	}
	
	.candidate_alerts .alert .message {
		line-height:120%;
		font-size:1.1em;
	}
	
	.candidate_alerts .alert .col_actions {
		margin:12px 0 0 0;
		text-align:right;
	}
	
	.candidate_key_items_1 {
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.candidate_key_items_1 .item {
		position:relative;
		margin:8px;
		background-color:#1a4e72;
		color:#fff;
		border-radius:8px;
		overflow:hidden;
		min-height:256px;
	}
	
	.candidate_key_items_1 .item .headline {
		font-size:1.6em;
		line-height:105%;
		margin:0;
	}
	
	.candidate_key_items_1 .item .subline {
		margin:8px 0 0 0;
		line-height:105%;
		font-style:italic;
		color:#97d7f3;
	}
	
	.candidate_key_items_1 .item_flagship {
		display:flex;
		align-items:flex-end;
		text-decoration:none;
	}
	
	.candidate_key_items_1 .item_flagship .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-inde:10;
	}
	
	.candidate_key_items_1 .item_flagship .bg .bg_img {
		position:relative;
		object-fit:cover;
		width:100%;
		height:100%;
		z-index:10;
	}
	
	.candidate_key_items_1 .item_flagship .bg .bg_overlay {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:20;
		background-color:rgba(255,255,255,0.1);
		opacity:0;
		mix-blend-mode:overlay;
	}
	
	.candidate_key_items_1 .item_flagship .fg {
		position:relative;
		z-index:20;
		padding:24px;
		flex:1 1 100%;
	}
	
	.candidate_key_items_1 .item_flagship .fg .fg_overlay {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:10;
		background-color:rgba(16,43,60,0.1);
		background: linear-gradient(180deg, rgba(16,43,60,0) 0%, rgba(16,43,60,0.9) 100%); 
	}
	
	.candidate_key_items_1 .item_flagship .headline {
		position:relative;
		z-index:20;
	}
	
	.candidate_key_items_1 .item_flagship .actions {
		position:relative;
		z-index:20;
		margin:8px 0 0 0;
	}
	
	.candidate_key_items_1 .item_actions {
		display:flex;
		justify-content:center;
		align-items:center;
		background-color:#2c7c9f;
		background:linear-gradient(69deg, rgba(44,124,159,1) 0%, rgba(56,144,182,1) 100%);
	}
	
	.candidate_key_items_1 .item_actions .inner {
		padding:24px;
		flex:1 1 auto;
		max-width:512px;
	}
	
	.candidate_key_items_1 .item_actions .row_top {
		
	}
	
	.candidate_key_items_1 .item_actions .row_actions {
		display:flex;
		flex-direction:column;
		margin:12px 0 0 0;
	}
	
	.candidate_key_items_1 .item_actions .action {
		position:relative;
		display:flex;
		align-items:center;
		padding:12px;
		background-color:#1d4a69;
		margin:4px 0 0 0;
		border-radius:4px;
		text-decoration:none;
		color:#fff;
		line-height:105%;
	}
	
	.candidate_key_items_1 .item_actions .action.light {
		background-color:#f5f5f5;
		color:#102b3c;
	}
	
	.candidate_key_items_1 .item_actions .action:before {
		position:absolute;
		display:block;
		content:'';
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:rgba(255,255,255,0.1);
		opacity:0;
		mix-blend-mode:overlay;
		z-index:10;
	}
	
	.candidate_key_items_1 .item_actions .action.light:before {
		background-color:rgba(255,255,255,0.5);
	}
	
	.candidate_key_items_1 .item_actions .action .icon {
		position:relative;
		flex:0 0 12px;
		margin:0 12px 0 0;
		text-align:center;
		z-index:20;
	}
	
	.candidate_key_items_1 .item_actions .action .icon img {
		width:auto;
		height:auto;
		max-width:12px;
		max-height:12px;
		vertical-align:middle;
	}
	
	.candidate_key_items_1 .item_actions .action .label {
		position:relative;
		z-index:20;
	}
	
	.candidate_key_items_2 {
		display:flex;
		flex-direction:column;
		margin:8px -8px -8px -8px;
	}
	
	.candidate_key_items_2 .item {
		position:relative;
		display:flex;
		align-items:flex-end;
		margin:8px;
		text-decoration:none;
		background-color:#1a4e72;
		color:#fff;
		border-radius:8px;
		overflow:hidden;
		min-height:256px;
	}
		
	.candidate_key_items_2 .item .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-inde:10;
	}
	
	.candidate_key_items_2 .item .bg .bg_img {
		position:relative;
		object-fit:cover;
		width:100%;
		height:100%;
		z-index:10;
	}
	
	.candidate_key_items_2 .item .bg .bg_overlay {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:20;
		background-color:rgba(255,255,255,0.1);
		opacity:0;
		mix-blend-mode:overlay;
	}
	
	.candidate_key_items_2 .item .fg {
		position:relative;
		z-index:20;
		padding:24px;
		flex:1 1 100%;
	}
	
	.candidate_key_items_2 .item .fg .fg_overlay {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:10;
		background-color:rgba(16,43,60,0.1);
		background: linear-gradient(180deg, rgba(16,43,60,0) 0%, rgba(16,43,60,0.9) 100%); 
	}
	
	.candidate_key_items_2 .item .headline {
		position:relative;
		z-index:20;
		font-size:1.6em;
		line-height:105%;
		margin:0;
	}
	
	.candidate_key_items_2 .item .actions {
		position:relative;
		z-index:20;
		margin:8px 0 0 0;
	}
	
	.candidate_about {
		display:flex;
		flex-direction:column;
		background-color:#fff;
		border-radius:8px;
		margin:24px 0 0 0;
		padding:24px;
	}
	
	.candidate_about .headline {
		color:#1d4a69;
		margin:0 0 8px 0;
		line-height:105%;
	}
	
	.candidate_about .col_bio {
		
	}
	
	.candidate_about .col_bio .bio {
		margin:12px 0 0 0;
		line-height:120%;
		color:#444;
	}
	
	.candidate_about .col_deliver {
		margin:24px 0 0 0;
		padding:24px 0 0 0;
		border-top:1px solid #ddd;
	}
	
	.candidate_about .col_deliver .subline {
		margin:12px 0 0 0;
		color:#666;
		font-size:1.2em;
		line-height:120%;
	}
	
	.candidate_about .col_deliver .items {
		padding:0;
		margin:16px 0 0 0;
	}
	
	.candidate_about .col_deliver .items .item {
		list-style:none;
		margin:8px 0 0 0;
		line-height:120%;
	}
	
	.candidate_about .col_deliver .items .item .inner {
		display:flex;
	}
	
	.candidate_about .col_deliver .items .item .icon {
		flex:0 0 16px;
		margin:0 8px 0 0;
	}
	
	.candidate_about .col_deliver .items .item .icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:middle;
	}
	
	.candidate_social_feed {
		position:relative;
		margin:24px 0 0 0;
	}
	
	.candidate_news {
		margin:24px 0 0 0;
	}
	
	.candidate_news .news_list .news_item {
		border-radius:8px;
		overflow:hidden;
	}
	
	.campaign_footer {
		background-color:#0c3551;
		color:#fff;
	}
	
	.campaign_footer a {
		color:#fff;
	}
	
	.campaign_footer .footer_top {
		
	}
	
	.campaign_footer .footer_top .cols {
		display:flex;
		flex-direction:column;
		margin:-12px;
	}
	
	.campaign_footer .footer_top .cols .col {
		margin:12px;
	}
	
	.campaign_footer .footer_top .lib_logo img {
		width:64px;
		height:auto;
		vertical-align:top;
	}
	
	.campaign_footer .footer_top .name {
		font-size:1.4em;
		line-height:110%;
		font-weight:700;
	}
	
	.campaign_footer .footer_top .role {
		color:#97d7f3;
		line-height:110%;
		font-style:italic;
	}
	
	.campaign_footer .footer_top .social_icons {
		display:flex;
		margin:8px 0 0 0;
	}
	
	.campaign_footer .footer_top .social_icons .social_icon {
		display:flex;
		justify-content:center;
		align-items:center;
		margin:0 8px 0 0;
	}
	
	.campaign_footer .footer_top .social_icons .social_icon img {
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
	}
	
	.campaign_footer .footer_bot {
		background-color:#102b3c;
		padding:24px 0;
		font-size:0.9em;
		line-height:120%;
	}
	
	/* -------- social feeds -------- */
	
	.social_feed.facebook_thumbnails {
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
		margin:-8px;
	}
	
	.social_feed.facebook_thumbnails .item {
		position:relative;
		flex:1 1 auto;
		flex-basis:calc(50% - 16px);
		margin:8px;
		padding-top:calc(50% - 16px);
		background-color:#ddd;
		border-radius:8px;
		overflow:hidden;
		color:#fff;
		text-decoration:none;
	}
	
	.social_feed.facebook_thumbnails .item .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
	}
	
	.social_feed.facebook_thumbnails .item .bg img {
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	.social_feed.facebook_thumbnails .item .fg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		display:flex;
		justify-content:center;
		align-items:center;
		background-color:rgba(26,78,114,0.9);
		opacity:0;
	}
	
	.social_feed.facebook_thumbnails .item .fg .inner {
		padding:16px;
	}
	
	.social_feed.facebook_thumbnails .item .fg .excerpt {
		line-height:110%;
	}
	
	.social_feed.facebook_thumbnails .item .fg .actions {
		margin:12px 0 0 0;
	}
	
	.social_feed.facebook_thumbnails .item .fg .actions .readmore {
		font-weight:700;
	}
	
	.social_feed.facebook_thumbnails .item .corner {
		position:absolute;
		top:0;
		left:0;
		width:32px;
		height:32px;
	}
	
	.social_feed.facebook_thumbnails .item .corner img {
		width:32px;
		height:auto;
		vertical-align:top;
	}
	
	/* -------- page with sidebar / news entry / policy entry -------- */
	
	body[data-type-id='11'] #page_banner .panel_maxwidth,
	body[data-type-id='8'] #page_banner .panel_maxwidth {
		max-width:1024px;
	}
	
	
	.panel_page_article {
		background-color:#f9f9f9;
	}
		
	.panel_page_article .panel_maxwidth {
		max-width:1024px;
	}
	
	.panel_page_article .page_headline {
		color:#0c3551;
		margin:0 0 16px 0;
	}
	
	.panel_page_article .page_subline {
		margin:0 0 24px 0;
		color:#666;
		line-height:130%;
	}
	
	.content_with_sidebar {
		display:flex;
		flex-direction:column;
	}
	
	.content_with_sidebar .col_main {
		padding:0 0 24px 0;
		margin:0 0 24px 0;
		border-bottom:1px solid #ccc;
	}
	
	.content_with_sidebar .col_sidebar {
		
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box {
		margin:0 0 16px 0;
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box .headline {
		font-size:1.2em;
		line-height:105%;
		margin:0 0 8px 0;
		color:#1d4a69;
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box ul {
		margin:8px 0 0 0;
		padding:0 0 0 16px;
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box ul li {
		list-style:disc;
		font-size:0.9em;
		line-height:105%;
		color:#666;
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box ul li:last-child {
		border:none;
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box ul li a {
		display:block;
		text-decoration:none;
		color:#666;
		padding:8px 0;
	}
	
	/* -------- popups -------- */
	
	.popup_body {
		background-color:#eee;
	}
	
	.popup_form {
		background-color:#f5f5f5;
		padding:24px;
	}
	
	/* -------- raffle draw -------- */
	
	#raffle_draw {
		position:relative;
		display:flex;
		justify-content:center;
		align-items:center;
		width:100%;
		height:100vh;
		overflow:hidden;
		background-color:#3084a8;
		background-image:url(/images/raffle/raffle_bg.jpg);
		background-size:cover;
		background-position:center center;
		color:#fff;
	}
	
	#raffle_draw .cols {
		position:relative;
		display:flex;
		justify-content:space-between;
		flex:1 1 auto;
		padding:64px;
		z-index:100;
	}
	
	#raffle_draw .col_main {
		display:flex;
		justify-content:center;
		align-items:center;
		flex:0 0 60%;
	}
	
	#raffle_draw .col_sidebar {
		flex:0 0 40%;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	
	#raffle_draw .big_circle {
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:768px;
		height:768px;
		background-color:#fff;
		border-radius:50%;
		text-align:center;
	}
	
	#raffle_draw .big_circle[data-status='ready'] {
		background-color:#1d4a69;
		cursor:pointer;
		animation-name:bounce-in;
		animation-duration:0.5s;
		animation-iteration-count:1;
	}
	
	#raffle_draw .big_circle[data-status='ready']:active {
		transform:scale(0.95);
	}
	
	#raffle_draw .big_circle[data-status='spinning'] {
		background-color:#4c9fc1;
		transform:scale(0.8);
		transition:background-color 2s, transform 2s;
	}
	
	#raffle_draw .big_circle[data-status='result'] {
		background-color:#fff;
		color:#1d4a69;
		cursor:pointer;
		animation-name:bounce-in;
		animation-duration:0.5s;
		animation-iteration-count:1;
	}
	
	#raffle_draw .big_circle[data-status='result']:active {
		transform:scale(0.95);
	}
		
	#raffle_draw .big_circle .action {
		display:none;
		padding:64px;
	}
	
	#raffle_draw .big_circle .action_ready {
		
	}
	
	#raffle_draw .big_circle .action_ready .place {
		color:#46b9ea;
		margin:0 0 32px 0;
		font-size:6em;
		font-weight:700;
		line-height:100%;
	}
	
	#raffle_draw .big_circle .action_ready .prize {
		color:#fff;
		margin:0 0 24px 0;
		font-size:4em;
		font-weight:700;
		line-height:100%;
	}
	
	#raffle_draw .big_circle .action_ready .prize_value {
		color:#fff;
		margin:0 0 24px 0;
		font-size:3em;
		font-weight:500;
		line-height:100%;
	}
	
	#raffle_draw .big_circle .action_ready .company {
		color:#fff;
		margin:0 0 32px 0;
		font-size:2em;
		font-weight:500;
		line-height:100%;
	}
	
	#raffle_draw .big_circle .action_ready .draw {
		display:none;
		font-size:1em;
		font-weight:700;
		text-transform:uppercase;
		line-height:100%;
	}
	
	#raffle_draw .big_circle .action_spinning {
		
	}
	
	#raffle_draw .big_circle .action_spinning .random_number {
		font-family:monospace;
		font-size:6em;
		font-weight:500;
		line-height:105%;
	}
	
	#raffle_draw .big_circle .action_result {
		
	}
	
	#raffle_draw .big_circle .action_result .place {
		color:#46b9ea;
		margin:0 0 32px 0;
		font-size:3em;
		font-weight:500;
		line-height:105%;
	}
	
	#raffle_draw .big_circle .action_result .ticket_number {
		font-family:monospace;
		font-size:8em;
		font-weight:700;
		line-height:105%;
	}
	
	#raffle_draw .big_circle .action_result .ticket_name {
		margin:32px 0 0 0;
		font-size:3em;
		font-weight;500;
		line-height:105%;
	}
	
	#raffle_draw .big_circle[data-status='ready'] .action_ready {
		display:block;
		
	}
	
	#raffle_draw .big_circle[data-status='spinning'] .action_spinning {
		display:block;
	}
	
	#raffle_draw .big_circle[data-status='result'] .action_result {
		display:block;
		
	}
	
	#raffle_draw .places {
		display:flex;
		flex-direction:column;
		justify-content:space-around;
		align-items:flex-end;
		height:100%;
	}
	
	#raffle_draw .places .place {
		display:flex;
		justify-content:flex-end;
		align-items:center;
	}
	
	#raffle_draw .places .place .label {
		font-weight:700;
		font-size:2em;
		line-height:105%;
		text-align:right;
	}
	
	#raffle_draw .places .place .result {
		display:flex;
		flex-direction:column;
		justify-content:center;
		width:192px;
		height:160px;
		background-color:transparent;
		border:1px solid #fff;
		margin:0 0 0 32px;
		padding:0 32px;
		text-align:center;
	}
	
	#raffle_draw .places .place .result .number {
		font-size:4em;
		font-family:monospace;
		line-height:100%;
	}
	
	#raffle_draw .places .place .result .name {
		font-size:1.8em;
		line-height:100%;
		margin:8px 0 0 0;
	}
	
	#raffle_draw .places .place.has_result .result {
		background-color:#fff;
		color:#1d4a69;
		animation-name:bounce-in;
		animation-duration:0.5s;
		animation-iteration-count:1;
	}
	
	#raffle_draw .places .place .logo {
		display:flex;
		justify-content:center;
		align-items:center;
		width:128px;
		margin:0 0 0 32px;
	}
	
	#raffle_draw .places .place .logo img {
		width:auto;
		height:auto;
		max-width:128px;
		max-height:96px;
	}
	
	#raffle_draw .lib_logo {
		position:absolute;
		top:48px;
		left:48px;
		width:128px;
		height:auto;
		vertical-align:top;
		z-index:200;
	}
	
	#raffle_draw .goto_endscreen {
		position:absolute;
		right:0;
		bottom:0;
		width:64px;
		height:64px;
		background-color:#fff;
		opacity:0;
		z-index:200;
	}
	
	#raffle_draw .goto_endscreen:hover {
		opacity:0.1;
	}
	
	#raffle_endscreen {
		position:fixed;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:200;
		display:none;
		background-color:#fff;
		align-items:center;
		justify-content:center;
	}
	
	#raffle_endscreen.show {
		display:flex;
	}
	
	#raffle_endscreen .goto_draw {
		position:absolute;
		bottom:0;
		left:0;
		width:64px;
		height:64px;
		background-color:#000;
		opacity:0;
		z-index:200;
	}
	
	#raffle_endscreen .goto_draw:hover {
		opacity:0.1;
	}
	
	#raffle_endscreen .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:10;
	}
	
	#raffle_endscreen .bg .video {
		position:relative;
		z-index:10;
		object-fit:cover;
		width:100%;
		height:100%;
	}
	
	#raffle_endscreen .bg .overlay {
		position:absolute;
		z-index:20;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background: radial-gradient(circle, rgba(255,255,255,0) 0%, rgba(200,200,200,0.5) 100%);
		mix-blend-mode:multiply;
	}
	
	#raffle_endscreen .fg {
		position:relative;
		z-index:20;
		padding:64px 0 0 0;
	}
	
	#raffle_endscreen .row_top {
		display:flex;
		justify-content:center;
		align-items:center;
	}
	
	#raffle_endscreen .row_top .col_image {
		position:relative;
	}
	
	#raffle_endscreen .row_top .col_image .prize_img {
		position:relative;
		z-index:10;
		width:auto;
		height:auto;
		max-width:512px;
		max-height:512px;
	}
	
	#raffle_endscreen .row_top .col_image .logo_img {
		position:absolute;
		z-index:20;
		top:0;
		right:0;
		height:auto;
		max-width:128px;
		max-height:96px;
		mix-blend-mode:multiply;
	}
	
	#raffle_endscreen .row_top .col_text {
		margin:0 0 0 128px;
		color:#1d4a69;
	}
	
	#raffle_endscreen .row_top .col_text .place {
		font-size:3em;
		line-height:100%;
		margin:0 0 16px;
		color:#46b9ea;
	}
	
	#raffle_endscreen .row_top .col_text .prize {
		font-size:2em;
		line-height:100%;
		margin:0 0 8px;
	}
	
	#raffle_endscreen .row_top .col_text .company {
		font-size:1.5em;
		line-height:100%;
	}
	
	#raffle_endscreen .row_top .col_text .winner {
		display:flex;
		align-items:center;
		margin:32px 0 0 0;
		color:#444;
	}
	
	#raffle_endscreen .row_top .col_text .winner .ticket_number {
		padding:16px;
		border:1px solid #444;
		background-color:#fff;
		font-family:monospace;
		font-size:3em;
		font-weight:700;
		line-height:100%;
		margin:0 32px 0 0;
	}
	
	#raffle_endscreen .row_top .col_text .winner .winner_name {
		font-size:2.5em;
		line-height:100%;
	}
	
	#raffle_endscreen .row_bot {
		display:flex;
		justify-content:space-around;
		align-items:center;
		margin:64px 0 0 0;
	}
	
	#raffle_endscreen .row_bot .item {
		display:flex;
		flex-direction:column;
		flex:1 1 100%;
		margin:32px;
	}
	
	#raffle_endscreen .row_bot .item .col_image {
		margin:0 0 24px 0;
	}
	
	#raffle_endscreen .row_bot .item .col_image img {
		width:auto;
		height:auto;
		max-width:128px;
		max-height:96px;
		vertical-align:top;
	}
	
	#raffle_endscreen .row_bot .item .col_text {
		color:#1d4a69;
	}
	
	#raffle_endscreen .row_bot .item .col_text .place {
		font-size:2em;
		line-height:100%;
		color:#46b9ea;
		margin:0 0 8px 0;
	}
	
	#raffle_endscreen .row_bot .item .col_text .prize {
		font-size:1.8em;
		font-weight:700;
		line-height:105%;
		margin:0 0 8px 0;
	}
	
	#raffle_endscreen .row_bot .item .col_text .value {
		font-size:1.4em;
		line-height:105%;
		margin:0 0 8px 0;
		display:none;
	}
	
	#raffle_endscreen .row_bot .item .col_text .company {
		font-size:1.4em;
		line-height:100%;
		margin:0 0 24px 0;
		display:none;
	}
	
	#raffle_endscreen .row_bot .item .col_text .winner {
		display:flex;
		align-items:center;
		margin:24px 0 0 0;
		color:#444;
	}
	
	#raffle_endscreen .row_bot .item .col_text .winner .ticket_number {
		padding:16px;
		border:1px solid #444;
		background-color:#fff;
		font-family:monospace;
		font-size:3em;
		font-weight:700;
		line-height:100%;
		margin:0 32px 0 0;
	}
	
	#raffle_endscreen .row_bot .item .col_text .winner .winner_name {
		font-size:2.5em;
		line-height:100%;
	}
	
	/* -------- media list page -------- */
	
	.media_list {
		position:relative;
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.media_list .item {
		position:relative;
		display:flex;
		flex-direction:column;
		margin:8px;
		text-decoration:none;
	}
	
	.media_list .item .image {
		position:relative;
		background-color:#444;
		padding-top:100%;
	}
	
	.media_list .item .image .inner {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		overflow:hidden;
	}
	
	.media_list .item .image .bg {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-size:cover;
		background-position:center center;
		filter:blur(8px);
		transform:scale(1.25);
		opacity:0.25;
	}
	
	.media_list .item .image .thumbnail {
		position:relative;
		width:100%;
		height:100%;
		object-fit:cover;
	}
	
	.media_list .item[data-img-fit='contain'] .image .thumbnail {
		object-fit:contain;
	}
	
	.media_list .item .image .overlay {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		display:flex;
		justify-content:center;
		align-items:center;
		background-color:rgba(255,255,255,0);
		opacity:1;
	}
	
	.media_list .item .image .play {
		width:32px;
		height:auto;
	}
	
	.media_list .item .text {
		padding:8px;
	}
	
	.media_list .item .text .headline {
		font-weight:700;
		font-size:1.2em;
		line-height:110%;
		margin:0;
	}
	
	/* -------- donation page -------- */
	
	.page_donate {
		background-color:#2678a8;
		background-size:cover;
		background-position:center center;
	}
	
	.page_donate .donate_intro {
		margin:0 0 16px 0;
		color:#fff;
		max-width:768px;
	}
	
	.page_donate .donate_intro .headline {
		line-height:110%;
	}

	.page_donate .donate_intro .subline {
		font-size:1.2em;
		line-height:120%;
	}
	
	.page_donate .donate_box {
		background-color:#f5f5f5;
		max-width:768px;
		border-radius:4px;
		overflow:hidden;
	}


	.page_donate.intro {
		background-color:#f5f5f5;
		max-width:768px;
		border-radius:4px;
		overflow:hidden;
	}


	.page_donate .full-width {
		max-width:none;
	}

	.page_donate .full-width-img {
		display:flex; 
		flex-direction:column;	
	}

	@media only screen and (min-width: 768px) {
		.page_donate .full-width-img {
			display:flex; 
			flex-direction:row;
		}
	}
	
	.page_donate .donate_box .section_options {
		padding:24px;
	}
		
	.page_donate .donate_box .label {
		color:#0c3551;
		font-weight:700;
		margin:0 0 8px 0;
		font-size:1.1em;
		line-height:110%;
	}
	
	.page_donate .donate_box .row_presets {
		
	}
	
	.page_donate .donate_box .presets {
		display:flex;
		flex-wrap:wrap;
		margin:-4px;
	}
	
	.page_donate .donate_box .presets .preset {
		display:flex;
		align-items:center;
		height:48px;
		padding:0 16px;
		margin:4px;
		background-color:#0c3551;
		color:#fff;
		text-decoration:none;
		border-radius:4px;
	}
	
	.page_donate .donate_box .presets .preset.selected {
		background-color:#2f8cb7;
	}
	
	.page_donate .donate_box .presets .preset:active {
		transform:scale(0.95);
	}
	
	.page_donate .donate_box .presets .preset .currency {
		font-size:0.9em;
		margin-right:2px;
	}
	
	.page_donate .donate_box .presets .preset .number {
		font-weight:700;
		font-size:1.4em;
	}
	
	.page_donate .donate_box .row_or {
		font-size:1.1em;
		line-height:110%;
		margin:12px 0;
		color:#666;
	}
	
	.page_donate .donate_box .row_custom {
		
	}
	
	.page_donate .donate_box .row_custom .field_outer {
		
	}
	
	.page_donate .donate_box .row_custom .field_inner {
		position:relative;
	}
	
	.page_donate .donate_box .row_custom .field_inner .currency {
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		display:flex;
		justify-content:center;
		align-items:center;
		width:32px;
	}
	
	.page_donate .donate_box .row_custom .field_inner .custom_amount {
		box-sizing:border-box;
		width:100%;
		height:48px;
		max-width:384px;
		padding:0 8px 0 32px;
		border-radius:4px;
		border:1px solid #999;
		font-size:1em;
		font-weight:700;
	}
	
	.page_donate .donate_box .row_candidate {
		margin:12px 0 0 0;
	}
	
	.page_donate .donate_box .row_candidate select {
		box-sizing:border-box;
		width:100%;
		height:48px;
		background-color:#fff;
		border:1px solid #999;
		border-radius:4px;
		padding:0 8px;
		max-width:384px;
	}
	
	.page_donate .donate_box .section_proceed {
		padding:24px;
		background-color:#e5e5e5;
	}
	
	.page_donate .donate_box .section_proceed .box_button {
		border-radius:4px;
	}
	
	.page_donate .donate_legal {
		margin:16px 0 0 0;
		color:#fff;
		max-width:768px;
	}

	.page_donate .donate_legal.full-width {
		margin:16px 0 0 0;
		color:#fff;
		max-width:none;
	}
	
	.page_donate .donate_legal p {
		font-size:0.9em;
		line-height:120%;
	}

	.page_donate .donate_legal a {
		color:inherit;
		font-size:0.9em;
		line-height:120%;
	}

	.page_donate .donate_legal ul,
	.page_donate .donate_legal ol {
		padding-left:16px;
	}

	/* ---- nominations page ---- */

	body[data-type-id='32'] #page_banner .panel_maxwidth {
		padding: 100px 0 75px 0;
	}

	body[data-type-id='31'] #page_banner .panel_maxwidth {
		padding: 100px 0 75px 0;
	}


	@media only screen and (min-width: 768px) {
		body[data-type-id='32'] #page_banner .panel_maxwidth {
			padding: 200px 0 150px 0;
		}

		body[data-type-id='31'] #page_banner .panel_maxwidth {
			padding: 200px 0 150px 0;
		}
	}

	.page_basic_content.nomination {
		margin-bottom: 50px;
		display: flex;
		flex-direction: column;
		background-color: rgb(250, 250, 250);
		padding: 45px;
	}

	.nomination ul, .nomination ol {
		padding: 0 0 0 40px;
	}

	@media only screen and (min-width: 768px) {
		.page_basic_content.nomination {
			padding: 100px;
		}
	}
	
	/* ---- loading ---- */
	
	.show_on_scroll {
		
	}
	
	.show_on_scroll.scrolled {
		
	}
	
	.show_on_scroll [data-show-delay] {
		opacity:0;
		transition:opacity 0s, transform 0s;
	}
	
	.show_on_scroll.scrolled [data-show-delay] {
		opacity:1;
		transition:opacity 0.5s, transform 0.5s;
	}
	
	.show_on_scroll [data-show-type='fade'] {
		
	}
	
	.show_on_scroll.scrolled [data-show-type='fade'] {
		
	}
	
	.show_on_scroll [data-show-type='move'] {
		transform:translateY(32px);
	}	
	
	.show_on_scroll.scrolled [data-show-type='move'] {
		transform:translateY(0);
	}
	
	.show_on_scroll.scrolled [data-show-delay='0']    { transition-delay:0.0s }
	.show_on_scroll.scrolled [data-show-delay='100']  { transition-delay:0.1s }
	.show_on_scroll.scrolled [data-show-delay='200']  { transition-delay:0.2s }
	.show_on_scroll.scrolled [data-show-delay='300']  { transition-delay:0.3s }
	.show_on_scroll.scrolled [data-show-delay='400']  { transition-delay:0.4s }
	.show_on_scroll.scrolled [data-show-delay='500']  { transition-delay:0.5s }
	.show_on_scroll.scrolled [data-show-delay='600']  { transition-delay:0.6s }
	.show_on_scroll.scrolled [data-show-delay='700']  { transition-delay:0.7s }
	.show_on_scroll.scrolled [data-show-delay='800']  { transition-delay:0.8s }
	.show_on_scroll.scrolled [data-show-delay='900']  { transition-delay:0.9s }
	.show_on_scroll.scrolled [data-show-delay='1000'] { transition-delay:1.0s }
	.show_on_scroll.scrolled [data-show-delay='1100'] { transition-delay:1.1s }
	.show_on_scroll.scrolled [data-show-delay='1200'] { transition-delay:1.2s }
	.show_on_scroll.scrolled [data-show-delay='1300'] { transition-delay:1.3s }
	.show_on_scroll.scrolled [data-show-delay='1400'] { transition-delay:1.4s }
	.show_on_scroll.scrolled [data-show-delay='1500'] { transition-delay:1.5s }
	.show_on_scroll.scrolled [data-show-delay='1600'] { transition-delay:1.6s }
	.show_on_scroll.scrolled [data-show-delay='1700'] { transition-delay:1.7s }
	.show_on_scroll.scrolled [data-show-delay='1800'] { transition-delay:1.8s }
	.show_on_scroll.scrolled [data-show-delay='1900'] { transition-delay:1.9s }
	.show_on_scroll.scrolled [data-show-delay='2000'] { transition-delay:2.0s }
	.show_on_scroll.scrolled [data-show-delay='2100'] { transition-delay:2.1s }
	.show_on_scroll.scrolled [data-show-delay='2200'] { transition-delay:2.2s }
	.show_on_scroll.scrolled [data-show-delay='2300'] { transition-delay:2.3s }
	.show_on_scroll.scrolled [data-show-delay='2400'] { transition-delay:2.4s }
	.show_on_scroll.scrolled [data-show-delay='2500'] { transition-delay:2.5s }
	.show_on_scroll.scrolled [data-show-delay='2600'] { transition-delay:2.6s }
	.show_on_scroll.scrolled [data-show-delay='2700'] { transition-delay:2.7s }
	.show_on_scroll.scrolled [data-show-delay='2800'] { transition-delay:2.8s }
	.show_on_scroll.scrolled [data-show-delay='2900'] { transition-delay:2.9s }
	.show_on_scroll.scrolled [data-show-delay='3000'] { transition-delay:3.0s }
	
	.show_on_scroll.scrolled [data-show-duration='0']    { transition-duration:0.0s }
	.show_on_scroll.scrolled [data-show-duration='100']  { transition-duration:0.1s }
	.show_on_scroll.scrolled [data-show-duration='200']  { transition-duration:0.2s }
	.show_on_scroll.scrolled [data-show-duration='300']  { transition-duration:0.3s }
	.show_on_scroll.scrolled [data-show-duration='400']  { transition-duration:0.4s }
	.show_on_scroll.scrolled [data-show-duration='500']  { transition-duration:0.5s }
	.show_on_scroll.scrolled [data-show-duration='600']  { transition-duration:0.6s }
	.show_on_scroll.scrolled [data-show-duration='700']  { transition-duration:0.7s }
	.show_on_scroll.scrolled [data-show-duration='800']  { transition-duration:0.8s }
	.show_on_scroll.scrolled [data-show-duration='900']  { transition-duration:0.9s }
	.show_on_scroll.scrolled [data-show-duration='1000'] { transition-duration:1.0s }
	.show_on_scroll.scrolled [data-show-duration='1100'] { transition-duration:1.1s }
	.show_on_scroll.scrolled [data-show-duration='1200'] { transition-duration:1.2s }
	.show_on_scroll.scrolled [data-show-duration='1300'] { transition-duration:1.3s }
	.show_on_scroll.scrolled [data-show-duration='1400'] { transition-duration:1.4s }
	.show_on_scroll.scrolled [data-show-duration='1500'] { transition-duration:1.5s }
	.show_on_scroll.scrolled [data-show-duration='1600'] { transition-duration:1.6s }
	.show_on_scroll.scrolled [data-show-duration='1700'] { transition-duration:1.7s }
	.show_on_scroll.scrolled [data-show-duration='1800'] { transition-duration:1.8s }
	.show_on_scroll.scrolled [data-show-duration='1900'] { transition-duration:1.9s }
	.show_on_scroll.scrolled [data-show-duration='2000'] { transition-duration:2.0s }
	
	/* -------- slider -------- */
	
	.slider {
		position:relative;
	}
	
	.slider .slides {
		position:relative;
	}
	
	.slider .slides .slide {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		z-index:10;
		opacity:0;
		transition:opacity 0.5s;
	}
	
	.slider .slides .slide.show {
		z-index:20;
		opacity:1;
	}
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 480px) {
	
	.panel_padding {
		padding:48px 0;
	}
	
	.page_headline {
		font-size:2.4em;
	}
	
	#page_banner .page_subline {
		margin-top:12px;
	}
	
	/* -------- buttons -------- */
	
	.inline_buttons {
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.inline_buttons .box_button {
		margin:4px 4px 0 0;
	}
	
	/* -------- commerce -------- */
	
	.commerce_box {
		padding:24px;
		margin-top:24px;
	}
	
	.checkout_actions {
		margin-top:24px;
		padding:24px;
	}
	
	.donation_variants {
		
	}
	
	.donation_variants .donation_variant {
		flex-basis:calc(33.333% - 8px);
	}
	
	.donation_variants .donation_variant .submit {
		
	}
	
	/* -------- account -------- */
	
	.account_headline {
		margin-bottom:24px;
	}
	
	.panel_account .page_intro {
		margin:24px 0;
	}
	
	.account_nav {
		margin-top:16px;
	}
	
	.account_nav li {
		list-style:none;
		margin-top:8px;
	}
	
	.account_nav .nav_item {
		padding:16px;
	}
	
	.account_nav .nav_item .icon {
		flex:0 0 20px;
		margin:0 12px 0 0;
	}
	
	.account_nav .nav_item .icon img {
		max-width:20px;
		max-height:20px;
	}
	
	/* -------- global pages - form page -------- */
	
	#form_page .form_box .banner {
		padding:32px;
	}
	
	#form_page .form_box .intro {
		padding:32px;
	}
		
	#form_page .form_box .form {
		padding:32px;
	}
	
	/* -------- team list -------- */
	
	.team_subnav {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.team_subnav .item {
		
	}
	
	.team_list {
		margin:-12px;
	}
	
	.team_list .person {
		margin:12px;
	}
	.team_list .person .text {
		padding:24px;
	}
	
	.team_list .person .long_name {
		font-size:1.4em;
	}
	
	.team_list .person .roles {
		margin:16px 0 0 0;
	}
	
	.team_list .person .roles .role {
		font-size:1.1em;
	}
	
	.team_list .person .row_actions {
		margin:24px 0 0 0;
	}
	
	.team_list .person .readmore {
		font-size:1em;
	}
	
	/* -------- team profile page -------- */
	
	.panel_team_profile .row_intro {
		padding:32px;
	}
	
	.panel_team_profile .row_intro .page_headline {
		font-size:1.8em;
	}
	
	.panel_team_profile .row_intro .roles .role {
		font-size:1.1em;
	}
	
	.panel_team_profile .row_intro .roles .role:before {
		margin-right:8px;
	}
	
	.panel_team_profile .row_intro .responsibilities .headline {
		font-size:1.1em;
	}
	
	.panel_team_profile .row_details {
		padding:32px;
	}
		
	.panel_team_profile .section_headline {
		font-size:1.6em;
	}
	
	.panel_team_profile .contact_details {
		margin-bottom:24px;
		padding-bottom:24px;
	}
	
	.panel_team_profile .offices {
		margin:-12px;
	}
	
	.panel_team_profile .offices .office {
		margin:12px;
	}
	
	.panel_team_profile .social_links {
		margin-bottom:24px;
		padding-bottom:24px;
	}
	
	/* -------- office details -------- */
	
	.office_details .headline {
		font-size:1.2em;
	}
	
	.office_details .item_with_icon {
		font-size:1em;
	}
	
	/* -------- events -------- */
	
	.panel_event .event_box {
		padding:24px;
	}
	
	.panel_event .page_headline {
		margin-bottom:12px;
	}
	
	.panel_event .event_meta td {
		font-size:1.1em;
	}
	
	.panel_event .page_intro_content {
		margin-top:24px;
	}
	
	.panel_event .page_basic_content {
		margin-top:24px;
	}
	
	.panel_event .box_product .product_top {
		margin-bottom:24px;
	}
	
	.panel_event .box_product .variant {
		padding:24px;
	}
	
	.panel_event .box_product .variant_top {
		margin-bottom:16px;
	}
	
	#event_attendees_popup {
		
	}
	
	#event_attendees_popup .inner {
		padding:24px;
	}
		
	#event_attendees_popup .attendees {
		
	}
	
	#event_attendees_popup .attendee {
		padding:24px;
	}
	
	/* -------- news list -------- */
		
	.news_list {
		
	}
	
	.news_list .news_item {
		
	}
	
	.news_list .news_item .col_image {
		flex-basis:256px;
	}
	
	.news_list .news_item .col_text {
		padding:24px;
	}
	
	.news_list .news_item .headline {
		font-size:1.6em;
	}
	
	/* -------- event list -------- */
	
	.event_list {
		
	}
	
	.event_list .event_item {
		
	}
	
	.event_list .event_item .col_image {
		flex-basis:256px;
	}
	
	.event_list .event_item .col_text {
		padding:24px;
	}
	
	.event_list .event_item .headline {
		font-size:1.6em;
	}
	
	/* -------- pagination -------- */
	
	.pagination {
		margin-top:24px;
	}
	
	/* -------- candidate campaign -------- */
	
	.candidate_feature .row_nav {
		padding:24px 0;
	}
			
	.candidate_feature .row_nav .lib_logo img {
		width:48px;
	}
	
	.candidate_feature .row_nav .candidate_logo {
		
	}
	
	.candidate_feature .row_nav .candidate_logo .name {
		font-size:1.4em;
		padding-bottom:8px;
	}
	
	.candidate_feature .row_nav .candidate_logo .role {
		padding-top:8px;
	}
	
	.candidate_feature .row_top .col_right {
		flex-basis:60%;
		min-height:320px;
	}
	.candidate_feature .row_top .col_right .inner {
		padding:64px 0;
	}
	
	.candidate_feature .row_top .page_headline {
		font-size:1.8em;
	}
	
	.candidate_feature .row_bot .col_right {
		flex-basis:60%;
	}
	
	.candidate_feature .row_headshot {
		width:40%;
	}
	
	.candidate_feature .row_headshot .headshot {
		transform:translateX(-30%);
	}
	
	.candidate_alerts .alert {
		padding:24px;
	}
	
	.candidate_key_items_1 .item {
		min-height:360px;
	}
	
	.candidate_key_items_1 .item .headline {
		font-size:2em;
	}
	
	.candidate_key_items_1 .item_flagship .fg {
		padding:32px;
	}
	
	.candidate_key_items_1 .item_flagship .actions {
		margin-top:12px;
	}
	
	.candidate_key_items_1 .item_actions .inner {
		padding:32px;
	}
	
	.candidate_key_items_1 .item_actions .row_actions {
		margin-top:16px;
	}
	
	.candidate_key_items_1 .item_actions .action {
		padding:16px;
	}
	
	.candidate_key_items_2 .item .fg {
		padding:32px;
	}
	
	.candidate_about {
		padding:32px;
	}
	
	/* -------- social feeds -------- */
	
	.social_feed.facebook_thumbnails {
		
	}
	
	.social_feed.facebook_thumbnails .item {
		
	}
	
	.social_feed.facebook_thumbnails .item .fg .inner {
		padding:24px;
	}
	
	.social_feed.facebook_thumbnails .item .corner {
		width:48px;
		height:48px;
	}
	
	.social_feed.facebook_thumbnails .item .corner img {
		width:48px;
	}
	
	/* -------- page with sidebar / news entry / policy entry -------- */
		
	.content_with_sidebar {
		
	}
	
	.content_with_sidebar .col_main {
		padding-bottom:32px;
		margin-bottom:32px;
	}
	
	.content_with_sidebar .col_sidebar {
		
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box {
		
	}
	
	/* -------- popups -------- */
	
	.popup_body {
		
	}
	
	.popup_form {
		padding:32px;
	}
	
	/* -------- media list page -------- */
	
	.media_list {
		
	}
	
	.media_list .item {
		
	}
	
	.media_list .item .image {
		
	}
	
	/* -------- donation page -------- */
	
	.page_donate {
		
	}
	
	.page_donate .donate_intro {
		margin-bottom:24px;
	}
		
	.page_donate .donate_box .section_options {
		padding:32px;
	}
		
	.page_donate .donate_box .label {
		font-size:1.2em;
	}
		
	.page_donate .donate_box .presets .preset {
		
	}
		
	.page_donate .donate_box .row_or {
		margin:16px 0;
	}
	
	.page_donate .donate_box .row_candidate {
		margin-top:16px;
	}
		
	.page_donate .donate_box .section_proceed {
		padding:32px;
	}
	
	.page_donate .donate_legal {
		margin-top:24px;
	}
				
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 768px) {
	
	.panel_padding {
		padding:64px 0;
	}
	
	.page_headline {
		font-size:2.6em;
	}
	
	#page_banner .page_subline {
		margin-top:16px;
	}
	
	/* -------- forms -------- */
	
	.form input[type='text'],
	.form input[type='number'],
	.form input[type='tel'],
	.form input[type='email'],
	.form input[type='search'],
	.form input[type='url'],
	.form input[type='password'] {
		height:48px;
		padding:0 12px;
	}
	
	.form textarea {
		padding:12px;
	}
	
	.form select {
		height:48px;
		padding:0 12px;
	}
	
	.form .freeform-row,
	.form .row {
		flex-direction:row;
		margin:0 -12px;
	}
	
	.form .freeform-row .freeform-column,
	.form .row .col {
		margin:0 12px;
		padding:12px 0;
	}
		
	.form .freeform-row .freeform-column label.checkbox_label,
	.form label.checkbox_label {
		padding:16px;
		margin:4px 0;
	}
	
	.form .freeform-row .freeform-column label.checkbox_label input,
	.form label.checkbox_label input {
		margin:0 12px 0 0;
	}
	
	/* -------- buttons -------- */
	
	.box_button {
		padding:16px 24px;
	}
	
	.box_button.small {
		padding:12px 16px;
	}
	
	.box_button.large {
		padding:24px 32px;
	}
	
	.line_button.large {
		font-size:1.1em;
	}
	
	/* -------- commerce -------- */
	
	.commerce_box {
		padding:32px;
		margin-top:32px;
	}
	
	.checkout_actions {
		margin-top:32px;
		padding:32px;
	}
	
	.cart {
		
	}
	
	.cart th, 
	.cart td {
		padding:16px;
	}
	
	.cart .row_lineitems_head {
		display:table-row;
	}
	
	.cart tbody {
		display:table-row-group;
	}
		
	.cart .row_lineitem {
		display:table-row;
		border:none;
	}
	
	.cart .lineitem_td {
		display:table-cell;
		border-bottom:1px solid #ddd;
		padding:16px;
	}
	
	.cart .lineitem_image {
		display:table-cell;
		padding-right:0;
	}
	
	.cart .lineitem_name {
		width:100%;
	}
	
	#cart_sticky {
		padding:16px;
	}
	
	/* -------- account -------- */
	
	.account_headline {
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
		margin-bottom:32px;
	}
	
	.account_headline .text {
		
	}
	
	.account_headline .actions {
		margin:0 0 0 32px;
		font-size:1em;
	}
	
	.account_headline .actions .action_user .icon img {
		max-width:16px;
		max-height:16px;
	}
	
	.panel_account .page_intro {
		margin:32px 0;
	}
	
	.account_nav {
		margin-top:24px;
	}
			
	/* -------- global pages - form page -------- */
	
	#form_page .form_box .banner {
		padding:48px;
	}
	
	#form_page .form_box .intro {
		padding:48px;
	}
		
	#form_page .form_box .form {
		padding:48px;
	}
	
	/* -------- team list -------- */
	
	.team_subnav {
		
	}
	
	.team_subnav .item {
		padding:12px 16px;
	}
	
	.team_list {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.team_list .person {
		flex:0 0 auto;
		flex-basis:calc(50% - 24px);
	}
	
	/* -------- team profile page -------- */
	
	.panel_team_profile .cols {
		flex-direction:row;
	}
	
	.panel_team_profile .col_headshot {
		flex:0 0 160px;
		margin:0 16px 0 0;
	}
	
	.panel_team_profile .col_main {
		flex:1 1 auto;
	}
	
	.panel_team_profile .row_intro {
		margin-bottom:16px;
		padding:40px;
	}
	
	.panel_team_profile .row_intro .page_headline {
		font-size:2em;
		margin-bottom:12px;
	}
	
	.panel_team_profile .row_intro .roles .role {
		font-size:1.2em;
	}
	
	.panel_team_profile .row_intro .responsibilities {
		margin-top:24px;
	}
	
	.panel_team_profile .row_intro .responsibilities .headline {
		font-size:1.2em;
	}
		
	.panel_team_profile .row_details {
		padding:40px;
	}
		
	/* -------- office details -------- */
	
	/* -------- downloads page -------- */
	
	.download_list .row_item {
		padding:24px;
	}
	
	/* -------- events -------- */
	
	.panel_event .cols {
		flex-direction:row;
	}
	
	.panel_event .col_image {
		width:30%;
		margin:0 16px 0 0;
	}
	
	.panel_event .col_content {
		width:70%;
	}
	
	.panel_event .event_box {
		padding:32px;
	}
	
	.panel_event .page_headline {
		margin-bottom:16px;
		font-size:2.4em;
	}
	
	.panel_event .event_meta td {
		font-size:1.2em;
	}
	
	.panel_event .page_intro_content {
		margin-top:32px;
		font-size:1.2em;
	}
	
	.panel_event .page_basic_content p,
	.panel_event .page_basic_content li {
		font-size:1.1em;
	}
	
	.panel_event .box_product .variant_bot {
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
	}
	
	.panel_event .box_product .col_actions {
		margin:0 0 0 16px;
	}
	
	#event_attendees_popup {
		
	}
	
	#event_attendees_popup .inner {
		padding:32px;
	}
		
	#event_attendees_popup .attendees {
		
	}
	
	#event_attendees_popup .attendee {
		padding:32px;
	}
	
	#event_attendees_popup .actions {
		padding:16px;
	}
	
	/* -------- news list -------- */
		
	.news_list {
		
	}
	
	.news_list .news_item {
		flex-direction:row;
	}
	
	.news_list .news_item .col_image {
		flex-basis:192px;
	}
	
	.news_list .news_item .col_text {
		padding:32px;
	}
	
	/* -------- event list -------- */
	
	.event_list {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.event_list .event_item {
		flex:0 0 auto;
		flex-basis:calc(50% - 16px);
	}
	
	.event_list .event_item .col_image {
		flex-basis:256px;
	}
	
	.event_list .event_item .col_text {
		padding:32px;
	}
	
	/* -------- pagination -------- */
	
	.pagination {
		margin-top:32px;
	}
	
	/* -------- candidate campaign -------- */
	
	.candidate_feature .row_nav {
		padding:32px 0;
	}
			
	.candidate_feature .row_nav .lib_logo img {
		width:64px;
	}
	
	.candidate_feature .row_nav .candidate_logo {
		
	}
	
	.candidate_feature .row_nav .candidate_logo .name {
		font-size:1.6em;
	}
	
	.candidate_feature .row_nav .candidate_logo .role {
		font-size:0.9em;
	}
	
	.candidate_feature .row_top .col_right {
		min-height:384px;
	}
	
	.candidate_feature .row_top .col_right .inner {
		
	}
	
	.candidate_feature .row_top .page_headline {
		font-size:2em;
		margin-bottom:16px;
	}
	
	.candidate_feature .row_top .actions {
		margin-top:32px;
	}
	
	.candidate_feature .row_bot .buttons .button .label {
		display:block;
	}
	
	.candidate_feature .row_headshot .headshot {
		transform:translate(-20%);
	}
	
	.candidate_alerts .alert {
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
		padding:32px;
	}
	
	.candidate_alerts .alert .col_actions {
		margin:0 0 0 16px;
	}
	
	.candidate_key_items_1 {
		flex-direction:row;
	}
	
	.candidate_key_items_1 .item {
		flex:1 1 100%;
	}
	
	.candidate_key_items_2 {
		flex-direction:row;
	}
	
	.candidate_key_items_2 .item {
		flex:1 1 100%;
	}
	
	.candidate_key_items_2 .item .fg {
		padding:24px;
	}
	
	.candidate_about {
		padding:40px;
	}
	
	.campaign_footer {
		
	}
	
	.campaign_footer .footer_top .cols {
		flex-direction:row;
		justify-content:center;
		margin:0 -24px;
	}
	
	.campaign_footer .footer_top .cols .col {
		margin:0 24px;
	}
	
	.campaign_footer .footer_bot {
		padding:32px 0;
		text-align:center;
	}
		
	/* -------- social feeds -------- */
	
	.social_feed.facebook_thumbnails {
		
	}
	
	.social_feed.facebook_thumbnails .item {
		
	}
	
	.social_feed.facebook_thumbnails .item .fg .inner {
		padding:32px;
	}
	
	/* -------- page with sidebar / news entry / policy entry -------- */
	
	/* -------- popups -------- */
	
	.popup_body {
		
	}
	
	.popup_form {
		padding:48px;
	}
		
	/* -------- media list page -------- */
	
	.media_list {
		flex-direction:row;
		flex-wrap:wrap;
	}
	
	.media_list .item {
		width:100%;
		flex:0 0 calc(50% - 16px);
	}
	
	.media_list .item .image {
		
	}
	
	/* -------- donation page -------- */
	
	.page_donate {
		
	}
	
	.page_donate .donate_intro {
		margin-bottom:32px;
	}
	
	.page_donate .donate_intro .headline {
		font-size:2.6em;
	}
	
	.page_donate .donate_box {
		border-radius:8px;
	}
		
	.page_donate .donate_box .section_options {
		padding:48px;
	}
		
	.page_donate .donate_box .label {
		margin-bottom:8px;
	}
		
	.page_donate .donate_box .presets .preset {
		
	}
		
	.page_donate .donate_box .row_or {
		margin:24px 0;
	}
	
	.page_donate .donate_box .row_candidate {
		margin-top:24px;
	}
		
	.page_donate .donate_box .section_proceed {
		padding:32px 48px;
	}
	
	.page_donate .donate_legal {
		margin-top:32px;
	}
				
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1024px) {
	
	.page_headline {
		font-size:2.8em;
	}
	
	/* -------- commerce -------- */
	
	.commerce_box {
		padding:48px;
	}
	
	.checkout_actions {
		padding:32px 48px;
	}
	
	/* -------- account -------- */
	
	.account_headline {
		margin-bottom:48px;
	}
	
	/* -------- global pages - form page -------- */
		
	#form_page .form_box .banner {
		padding:64px;
	}
	
	#form_page .form_box .intro {
		padding:64px;
	}
		
	#form_page .form_box .form {
		padding:64px;
	}
	
	/* -------- team list -------- */
	
	.team_list {
		
	}
	
	.team_list .person {
		flex-basis:calc(33.333% - 24px);
	}
	
	/* -------- team profile page -------- */
	
	.panel_team_profile .col_headshot {
		flex:0 0 192px;
	}
	
	.panel_team_profile .row_intro {
		padding:48px;
	}
	
	.panel_team_profile .row_details {
		padding:48px;
	}
	
	/* -------- office details -------- */
	
	/* -------- events -------- */
		
	.panel_event .event_box {
		padding:48px;
	}
	
	/* -------- news list -------- */
		
	.news_list {
		
	}
	
	.news_list .news_item {
		
	}
	
	.news_list .news_item .col_image {
		flex-basis:256px;
	}
	
	.news_list .news_item .col_text {
		padding:48px;
	}
	
	/* -------- event list -------- */
	
	.event_list {
		
	}
	
	.event_list .event_item {
		flex-basis:calc(33.333% - 16px);
	}
	
	.event_list .event_item .col_image {
		
	}
	
	.event_list .event_item .col_text {
		
	}
	
	/* -------- candidate campaign -------- */
	
	.candidate_feature .row_top .col_right {
		flex-basis:50%;
		min-height:420px;
	}
	
	.candidate_feature .row_top .col_right .inner {
		
	}
	
	.candidate_feature .row_top .page_headline {
		font-size:2.4em;
	}
	
	.candidate_feature .row_bot {
		z-index:10;
	}
	
	.candidate_feature .row_bot .col_right {
		justify-content:space-between;
		flex-basis:50%;
		height:64px;
	}
	
	.candidate_feature .row_bot .buttons .button {
		font-size:1em;
		padding:0 16px;
	}
	
	.candidate_feature .row_headshot {
		width:50%;
	}
	
	.candidate_feature .row_headshot .headshot {
		transform:translateX(0);
		right:10%;
		left:auto;
	}
	
	.candidate_key_items_1 .item {
		min-height:420px;
	}
	
	.candidate_key_items_1 .item_flagship .fg {
		padding:48px;
	}
		
	.candidate_key_items_1 .item .headline {
		font-size:2.4em;
	}
	
	.candidate_key_items_1 .item_actions .inner {
		padding:48px;
	}
	
	.candidate_key_items_2 .item {
		min-height:320px;
	}
	
	.candidate_key_items_2 .item .fg {
		padding:32px;
	}
		
	.candidate_about {
		flex-direction:row;
		padding:48px;
	}
	
	.candidate_about .col_bio {
		flex:1 1 100%;
		padding-right:32px;
	}
	
	.candidate_about .col_deliver {
		flex:1 1 100%;
		padding:0;
		margin:0;
		border:none;
		padding-left:32px;
		border-left:1px solid #ddd;
	}
	
	.campaign_footer {
		
	}
	
	.campaign_footer .footer_top .cols {
		margin:0 -32px;
	}
	
	.campaign_footer .footer_top .cols .col {
		margin:0 32px;
	}
	
	.campaign_footer .footer_top .lib_logo img {
		width:96px;
	}
	
	.campaign_footer .footer_top .name {
		font-size:1.6em;
	}
	
	.campaign_footer .footer_top .role {
		font-size:1.1em;
	}
	
	/* -------- social feeds -------- */
	
	.social_feed.facebook_thumbnails {
		
	}
	
	.social_feed.facebook_thumbnails .item {
		flex-basis:calc(25% - 16px);
		padding-top:calc(25% - 16px);
	}
	
	.social_feed.facebook_thumbnails .item .fg .inner {
		padding:16px;
	}
	
	/* -------- page with sidebar / news entry / policy entry -------- */
		
	.content_with_sidebar {
		flex-direction:row;
	}
	
	.content_with_sidebar .col_main {
		flex:1 1 auto;
		margin:0;
		padding:0;
		border:none;
	}
	
	.content_with_sidebar .col_sidebar {
		margin:0 0 0 64px;
		flex:0 0 320px;
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box {
		
	}
	
	/* -------- media list page -------- */
	
	.media_list {
		
	}
	
	.media_list .item {
		
	}
	
	.media_list .item .image {
		
	}
			
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1280px) {
	
	.panel_padding {
		padding:96px 0;
	}
	
	.page_headline {
		font-size:3em;
	}
	
	#page_banner .page_subline {
		margin-top:24px;
	}
	
	/* -------- buttons -------- */
	
	.box_button:hover {
		background-color:#1d5479;
	}
	
	.box_button.darkblue:hover {
		background-color:#1d5479;
	}
	
	.box_button.lightblue:hover {
		background-color:#3f9fcc;
	}
	
	.box_button.lightgrey:hover {
		background-color:#f5f5f5;
		color:#222;
	}
	
	.box_button.darkgrey:hover {
		background-color:#aaa;
	}
	
	.box_button.outline:hover {
		background-color:#0c3551;
		color:#fff;
	}
	
	.box_button.outline.grey:hover {
		background-color:#999;
		color:#fff;
	}
	
	.box_button.outline.white:hover {
		background-color:#fff;
		color:#0c3551;
	}
	
	.line_button.large {
		font-size:1.2em;
	}
	
	/* -------- commerce -------- */
	
	.commerce_box {
		padding:64px;
	}
	
	.add_to_cart .submit:hover {
		background-color:#1d5479;
	}
	
	.donation_variants {
		
	}
	
	.donation_variants .donation_variant {
		flex-basis:auto;
	}
	
	.donation_variants .donation_variant .submit {
		padding:0 16px;
		height:48px;
	}
	
	.commerce_nav .item:hover {
		text-decoration:underline;
	}
	
	.commerce_nav .item.current:hover,
	.commerce_nav .item.disabled:hover {
		text-decoration:none;
	}
	
	.cart .row_update .submit:hover {
		
	}
	
	.checkout_actions {
		padding:32px 64px;
	}
	
	/* -------- account -------- */
	
	.account_headline {
		margin-bottom:64px;
	}
		
	.account_nav .nav_item:hover {
		background-color:#f9f9f9;
		border-color:#ccc;
	}
		
	/* -------- global pages - form page -------- */
	
	#form_page .form_box .banner .page_subline {
		font-size:1.4em;
	}
	
	/* -------- team list -------- */
	
	.team_list {
		margin:-16px;
	}
	
	.team_list .person {
		flex-basis:calc(33.333% - 32px);
		margin:16px;
	}
	
	.team_list .person .image:after {
		transition:opacity 0.1s;
	}
	
	.team_list a.person:hover .image:after {
		opacity:0.1;
		transition:opacity 0s;
	}
	
	.team_list .person a.image:hover:after {
		opacity:0.1;
		transition:opacity 0s;
	}
		
	.team_list .person .text {
		padding:32px;
	}
	
	.team_list .person .long_name {
		font-size:1.6em;
	}
	
	.team_list .person .long_name a:hover {
		text-decoration:underline;
	}
	
	.team_list .person:hover .readmore {
		text-decoration:underline;
	}
	
	/* -------- team profile page -------- */
	
	.panel_team_profile .col_headshot {
		flex:0 0 256px;
	}
	
	.panel_team_profile .row_intro {
		padding:64px;
	}
	
	.panel_team_profile .row_intro .page_headline {
		font-size:2.4em;
	}
	
	.panel_team_profile .row_intro .roles {
		margin-top:32px;
	}
	
	.panel_team_profile .row_intro .roles .role {
		font-size:1.3em;
	}
	
	.panel_team_profile .row_intro .responsibilities {
		margin-top:32px;
	}
	
	.panel_team_profile .row_intro .responsibilities .headline {
		margin-bottom:8px;
	}
	
	.panel_team_profile .row_details {
		padding:64px;
	}
	
	.panel_team_profile .section_headline {
		font-size:1.8em;
		margin-bottom:16px;
	}
	
	.panel_team_profile .contact_details {
		margin-bottom:32px;
		padding-bottom:32px;
	}
	
	.panel_team_profile .offices {
		flex-direction:row;
		flex-wrap:wrap;
		margin:-16px;
	}
	
	.panel_team_profile .offices .office {
		flex:0 0 auto;
		flex-basis:calc(50% - 32px);
		margin:16px;
	}
	
	.panel_team_profile .social_links {
		margin-bottom:32px;
		padding-bottom:32px;
	}
	
	.panel_team_profile .social_links .inner {
		margin:-4px -12px;
	}
	
	.panel_team_profile .social_links .social_link {
		margin:4px 12px;
	}
	
	.panel_team_profile .social_links .social_link:hover {
		text-decoration:underline;
	}
	
	/* -------- office details -------- */
	
	.office_details .headline {
		font-size:1.3em;
	}
	
	.office_details .subline {
		margin-top:6px;
	}
	
	.office_details .availability {
		margin-top:6px;
	}
	
	.office_details .bot {
		margin-top:16px;
	}
	
	.office_details .item_with_icon {
		margin-top:12px;
	}
	
	.office_details .item_with_icon .inner:hover {
		text-decoration:underline;
	}
	
	/* -------- downloads page -------- */
	
	.download_list .row_item {
		transition:background-color 0.1s;
	}
	
	.download_list .row_item:hover {
		background-color:#fff;
		transition:background-color 0s;
	}
	
	.download_list .row_item:hover .text .name {
		text-decoration:underline;
	}
	
	/* -------- events -------- */
	
	.panel_event .event_box {
		padding:64px;
	}
	
	.panel_event .page_headline {
		font-size:3em;
	}
	
	.panel_event .page_subline {
		font-size:1.2em;
	}
	
	.panel_event .box_product .ticket_counter {
		font-size:1.2em;
	}
	
	.panel_event .box_product .small_print {
		margin:24px 0 0 0;
	}
	
	/* -------- news list -------- */
		
	.news_list {
		
	}
	
	.news_list .news_item {
		
	}
	
	.news_list .news_item .col_image {
		flex-basis:320px;
	}
	
	.news_list .news_item .col_image:after {
		transition:opacity 0.2s;
	}
	
	.news_list .news_item .col_image:hover:after {
		opacity:1;
		transition:opacity 0s;
	}
	
	.news_list .news_item .col_text {
		padding:64px;
	}
	
	.news_list .news_item .headline {
		font-size:1.8em;
	}
	
	.news_list .news_item .headline a:hover {
		text-decoration:underline;
	}
	
	.news_list .news_item .subline {
		font-size:1em;
	}
	
	.news_list .news_item .excerpt {
		font-size:1.1em;
		margin-top:16px;
	}
	
	.news_list .news_item .actions {
		margin-top:16px;
		font-size:1.1em;
	}
	
	.news_list .news_item .actions .readmore:hover {
		text-decoration:underline;
	}
	
	/* -------- event list -------- */
	
	.event_list {
		margin:-12px;
	}
	
	.event_list .event_item {
		margin:12px;
		flex-basis:calc(33.333% - 24px);
	}
	
	.event_list .event_item .col_image {
		
	}
	
	.event_list .event_item .col_image:after {
		transition:opacity 0.2s;
	}
	
	.event_list .event_item .col_image:hover:after {
		opacity:1;
		transition:opacity 0s;
	}
	
	.event_list .event_item .col_text {
		
	}
	
	.event_list .event_item .headline a:hover {
		text-decoration:underline;
	}
		
	.event_list .event_item .actions .readmore:hover {
		text-decoration:underline;
	}
	
	/* -------- pagination -------- */
	
	.pagination {
		margin-top:48px;
	}
	
	.pagination a.item:hover {
		background-color:#fff;
	}
	
	/* -------- candidate campaign -------- */
	
	.candidate_campaign .box_button:hover:before {
		opacity:1;
	}
		
	.candidate_feature .row_nav {
		padding:48px 0;
	}
		
	.candidate_feature .row_nav .candidate_logo {
		
	}
	
	.candidate_feature .row_nav .candidate_logo .name {
		font-size:1.8em;
	}
	
	.candidate_feature .row_nav .candidate_logo .role {
		font-size:1em;
	}
	
	.candidate_feature .row_top .col_right {
		min-height:512px;
	}
	
	.candidate_feature .row_top .col_right .inner {
		
	}
	
	.candidate_feature .row_top .page_headline {
		font-size:3em;
	}
	
	.candidate_feature .row_top .actions {
		margin-top:48px;
	}
	
	.candidate_feature .row_bot .buttons .button:hover:before {
		opacity:1;
	}
		
	.candidate_feature .row_bot .buttons .button .icon {
		
	}
	
	.candidate_feature .row_bot .buttons .button .icon img {
		max-width:20px;
		max-height:20px;
	}
	
	.candidate_feature .row_bot .social_icons .social_icon:hover:before {
		opacity:1;
	}
	
	.candidate_feature .row_bot .buttons .button .label {
		margin-left:12px;
	}
	
	.candidate_feature .row_bot .social_icons .social_icon img {
		max-width:20px;
		max-height:20px;
	}
	
	.candidate_main {
		padding:32px 0;
	}
	
	.candidate_alerts {
		margin-bottom:24px;
	}
	
	.candidate_alerts .alert {
		padding:40px;
	}
		
	.candidate_alerts .alert .message {
		font-size:1.2em;
	}
	
	.candidate_key_items_1 {
		margin:-12px;
	}
	
	.candidate_key_items_1 .item {
		margin:12px;
		min-height:480px;
	}
	
	.candidate_key_items_1 .item .subline {
		font-size:1.2em;
	}
	
	.candidate_key_items_1 .item_flagship:hover .bg .bg_overlay {
		opacity:1;
	}
		
	.candidate_key_items_1 .item_flagship .fg {
		padding:64px;
	}
	
	.candidate_key_items_1 .item_actions .inner {
		padding:64px;
	}
	
	.candidate_key_items_1 .item_actions .action {
		font-size:1.1em;
		padding:24px;
		margin-top:8px;
	}
	
	.candidate_key_items_1 .item_actions .action:hover:before {
		opacity:1;
	}
		
	.candidate_key_items_1 .item_actions .action .icon {
		flex-basis:16px;
	}
	
	.candidate_key_items_1 .item_actions .action .icon img {
		max-width:16px;
		max-height:16px;
	}
	
	.candidate_key_items_2 {
		margin:12px -12px -12px -12px;
	}
	
	.candidate_key_items_2 .item {
		margin:12px;
		min-height:360px;
	}
	
	.candidate_key_items_2 .item:hover .bg .bg_overlay {
		opacity:1;
	}
	
	.candidate_key_items_2 .item .fg {
		padding:40px;
	}
	
	.candidate_key_items_2 .item .actions {
		margin-top:12px;
	}
	
	.candidate_about {
		padding:64px;
		margin-top:32px;
	}
	
	.candidate_about .col_bio {
		padding-right:48px;
	}
	
	.candidate_about .col_bio .bio {
		font-size:1.1em;
	}
	
	.candidate_about .col_deliver {
		padding-left:48px;
	}
	
	.candidate_about .col_deliver .subline {
		font-size:1.3em;
	}
	
	.candidate_about .col_deliver .items .item {
		font-size:1.1em;
	}
	
	.candidate_social_feed {
		margin-top:32px;
	}
	
	.candidate_news {
		margin-top:32px;
	}
	
	.campaign_footer {
		
	}
	
	.campaign_footer .footer_top .cols {
		margin:0 -48px;
	}
	
	.campaign_footer .footer_top .cols .col {
		margin:0 48px;
	}
	
	.campaign_footer .footer_top .role {
		margin-top:8px;
	}
	
	.campaign_footer .footer_top .social_icons {
		margin-top:16px;
	}
	
	.campaign_footer .footer_top .social_icons .social_icon {
		margin-right:12px;
	}
	
	.campaign_footer .footer_top .social_icons .social_icon img {
		max-width:24px;
		max-height:20px;
	}
		
	/* -------- social feeds -------- */
	
	.social_feed.facebook_thumbnails {
		margin:-12px;
	}
	
	.social_feed.facebook_thumbnails .item {
		flex-basis:calc(25% - 24px);
		padding-top:calc(25% - 24px);
		margin:12px;
	}
	
	.social_feed.facebook_thumbnails .item .fg {
		transition:opacity 0.2s;
	}
	
	.social_feed.facebook_thumbnails .item:hover .fg {
		opacity:1;
		transition:opacity 0s;
	}
		
	.social_feed.facebook_thumbnails .item .fg .inner {
		padding:24px;
		opacity:0;
		transform:translateY(8px);
		transition:opacity 0.2s, transform 0.2s;
	}
	
	.social_feed.facebook_thumbnails .item:hover .fg .inner {
		opacity:1;
		transform:translateY(0);
		transition:opacity 0.1s 0.1s, transform 0.1s 0.1s;
	}
		
	.social_feed.facebook_thumbnails .item .fg .excerpt {
		font-size:1.1em;
	}
	
	.social_feed.facebook_thumbnails .item:hover .fg .actions .readmore {
		text-decoration:underline;
	}
	
	/* -------- page with sidebar / news entry / policy entry -------- */
		
	.content_with_sidebar {
		
	}
	
	.content_with_sidebar .col_main {
		
	}
	
	.panel_page_article .page_subline {
		font-size:1.2em;
		margin-bottom:32px;
	}
	
	.content_with_sidebar .page_basic_content {
		font-size:1.1em;
		line-height:130%;
	}
	
	.content_with_sidebar .col_sidebar {
		margin:0 0 0 96px;
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box {
		 margin-bottom:32px;
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box ul li {
		font-size:1em;
	}
	
	.content_with_sidebar .col_sidebar .sidebar_box ul li a:hover {
		text-decoration:underline;
		color:#444;
	}
	
	/* -------- media list page -------- */
	
	.media_list {
		
	}
	
	.media_list .item {
		flex:0 0 calc(33.333% - 16px);
	}
	
	.media_list .item .image {
		
	}
	
	.media_list .item .image .overlay {
		transition:background-color 0.1s;
	}
	
	.media_list .item:hover .image .overlay {
		background-color:rgba(255,255,255,0.1);
		transition:background-color 0s;
	}
	
	.media_list .item .image .play {
		width:48px;
		transition:transform 0.1s;
	}
	
	.media_list .item:hover .image .play {
		transform:scale(1.25);
		transition:transform 0s;
	}
	
	/* -------- donation page -------- */
	
	.page_donate {
		
	}
	
	.page_donate .donate_intro {
		margin-bottom:32px;
	}
	
	.page_donate .donate_intro .headline {
		font-size:3.2em;
	}
		
	.page_donate .donate_box .section_options {
		padding:64px;
	}
	
	.page_donate .donate_box .label {
		font-size:1.4em;
		margin-bottom:16px;
	}
				
	.page_donate .donate_box .presets .preset {
		padding:0 24px;
		height:64px;
		border-radius:8px;
	}
	
	.page_donate .donate_box .presets .preset .currency {
		font-size:1em;
	}
	
	.page_donate .donate_box .presets .preset .number {
		font-size:1.6em;
	}
		
	.page_donate .donate_box .row_or {
		margin:32px 0;
		font-size:1.4em;
	}
	
	.page_donate .donate_box .row_custom .field_inner .currency {
		width:48px;
	}
	
	.page_donate .donate_box .row_custom .field_inner .custom_amount {
		height:64px;
		padding-left:48px;
		border-radius:8px;
		font-size:1.2em;
	}
	
	.page_donate .donate_box .row_candidate {
		margin-top:32px;
	}
	
	.page_donate .donate_box .row_candidate select {
		height:64px;
		border-radius:8px;
	}
		
	.page_donate .donate_box .section_proceed {
		padding:32px 64px;
	}
	
	.page_donate .donate_box .section_proceed .box_button {
		border-radius:8px;
	}
	
	
	
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@media only screen and (min-width: 1600px) {
	
	.page_headline {
		font-size:3.2em;
	}
	
	#page_banner .page_subline {
		margin-top:32px;
	}
	
	/* -------- team list -------- */
	
	.team_list {
		
	}
	
	/* -------- team profile page -------- */
	
	/* -------- office details -------- */
	
	/* -------- event list -------- */
	
	.event_list {
		
	}
	
	.event_list .event_item {
		flex-basis:calc(25% - 24px);
	}
	
	.event_list .event_item .col_image {
		
	}
	
	.event_list .event_item .col_text {
		
	}
	
	/* -------- candidate campaign -------- */
	
	.candidate_feature .row_nav {
		padding:64px 0;
	}
		
	.candidate_feature .row_nav .candidate_logo {
		
	}
	
	.candidate_feature .row_nav .candidate_logo .name {
		font-size:2em;
	}
	
	.candidate_feature .row_nav .candidate_logo .role {
		
	}
	
	.candidate_main {
		padding:48px 0;
	}
	
	.candidate_feature .row_top .col_right {
		min-height:600px;
	}
	
	.candidate_feature .row_top .page_headline {
		font-size:3.4em;
	}
	
	.candidate_feature .row_bot .col_right {
		height:96px;
	}
	
	.candidate_feature .row_bot .buttons .button {
		padding:0 24px;
		font-size:1.2em;
	}
	
	.candidate_feature .row_bot .buttons .button .icon img {
		max-width:24px;
		max-height:24px;
	}
	
	.candidate_feature .row_bot .buttons .button .label {
		margin-left:16px;
	}
	
	.candidate_feature .row_bot .social_icons .social_icon {
		padding:0 16px;
	}
	
	.candidate_feature .row_bot .social_icons .social_icon img {
		max-width:24px;
		max-height:24px;
	}
	
	.candidate_alerts {
		margin-bottom:32px;
	}
	
	.candidate_alerts .alert {
		padding:48px 64px;
	}
	
	.candidate_alerts .alert .icon {
		max-width:24px;
		max-height:24px;
		margin-right:16px;
	}
	
	.candidate_alerts .alert .message {
		font-size:1.4em;
	}
	
	.candidate_key_items_1 {
		margin:-16px;
	}
	
	.candidate_key_items_1 .item {
		margin:16px;
		min-height:600px;
	}
	
	.candidate_key_items_1 .item .headline {
		font-size:3em;
	}
	
	.candidate_key_items_1 .item .subline {
		font-size:1.4em;
	}
	
	.candidate_key_items_1 .item_flagship .fg {
		padding:96px;
	}
	
	.candidate_key_items_1 .item_flagship .actions {
		margin-top:16px;
	}
	
	.candidate_key_items_1 .item_actions .inner {
		padding:96px;
	}
	
	.candidate_key_items_1 .item_actions .row_actions {
		margin-top:24px;
	}
		
	.candidate_key_items_1 .item_actions .action {
		font-size:1.2em;
	}
	
	.candidate_key_items_2 {
		margin:16px -16px -16px -16px;
	}
	
	.candidate_key_items_2 .item {
		min-height:480px;
		margin:16px;
	}
		
	.candidate_key_items_2 .item .fg {
		padding:48px;
	}
	
	.candidate_key_items_2 .item .headline {
		font-size:2em;
	}
	
	.candidate_key_items_2 .item .actions {
		margin-top:16px;
	}
	
	.candidate_about {
		padding:96px;
		margin-top:48px;
	}
	
	.candidate_about .headline {
		font-size:2em;
	}
	
	.candidate_about .col_bio {
		padding-right:96px;
	}
	
	.candidate_about .col_bio .bio {
		font-size:1.2em;
		margin-top:16px;
	}	
	
	.candidate_about .col_deliver {
		padding-left:96px;
	}
	
	.candidate_about .col_deliver .subline {
		font-size:1.4em;
		margin-top:16px;
	}
	
	.candidate_about .col_deliver .items {
		margin-top:24px;
	}
	
	.candidate_about .col_deliver .items .item {
		font-size:1.2em;
		margin-top:12px;
	}
	
	.candidate_about .col_deliver .items .item .icon {
		margin-right:12px;
	}
	
	.candidate_social_feed {
		margin-top:48px;
	}
	
	.candidate_news {
		margin-top:48px;
	}
	
	.campaign_footer .footer_top .name {
		font-size:1.8em;
	}
	
	.campaign_footer .footer_top .role {
		font-size:1.2em;
	}
	
	.campaign_footer .footer_top .social_icons {
		margin-top:24px;
	}
	
	/* -------- social feeds -------- */
	
	.social_feed.facebook_thumbnails {
		
	}
	
	.social_feed.facebook_thumbnails .item {
		
	}
	
	.social_feed.facebook_thumbnails .item .fg .inner {
		padding:40px;
	}
	
	.social_feed.facebook_thumbnails .item .fg .excerpt {
		font-size:1.2em;
	}
	
	/* -------- page with sidebar / news entry / policy entry -------- */
	
	/* -------- media list page -------- */
	
	.media_list {
		margin:-16px;
	}
	
	.media_list .item {
		flex:0 0 calc(33.333% - 32px);
		margin:16px;
	}
	
	.media_list .item .image {
		
	}
	
	.media_list .item .text {
		padding:16px;
	}
	
		
}

/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

@keyframes bounce-in {
	
	0% {
		transform:scale(0.8);
	}
	
	20% {
		transform:scale(1.1);
	}
	
	40% {
		transform:scale(0.9);
	}
	
	60% {
		transform:scale(1);
	}
	
}

@keyframes spinning {
	
	0% {
		transform:rotate(0deg);
	}
	
	100% {
		transform:rotate(360deg);
	}
	
}















