/**
 * Site Footer Customizations
 */


/*! ===== Footer ===== */

#footer-outer {
	font-size: 12px;
	line-height: 1.2;
}

#footer-outer .row {
	padding-top:    30px;
	padding-bottom: 30px;
}


/*! ----- Footer: Widgets Row ----- */

#footer-widgets {}

/* Widget headings */
#footer-outer #footer-widgets .widget h4 {
	margin-bottom: 1.5em;
	font-size: 1em;
	font-weight: 500;
	letter-spacing: 0;  /* inherits from Typography > Nectar Button, why not */
}

/*! --- Footer: Widgets: Extra Columns */

/* Extra row displays below built-in row up to desktop */
@media screen and (max-width: 999px) {
	#footer-widgets .row.wstl-extra-col {
		padding-top: 10px;  /* 40px total space between previous row on mobile */
	}
}

@media screen and (min-width: 690px) {
	#footer-widgets .col {
		padding-right: 4%;  /* extra gutter between columns */
	}
}

/* Display adjacent the built-in row on desktop, appearing as continuous columns */
@media screen and (min-width: 1000px) {
	#footer-widgets > .container {
		display: flex;
	}

	#footer-widgets .row {
		flex: 1 1 100%;
	}

	#footer-widgets .row.wstl-extra-col {
		flex: 1 0 20%;
	}
	#footer-widgets .row.wstl-extra-col[data-columns="2"] {
		flex: 1 0 33.33%;
	}

	#footer-widgets .row.wstl-extra-col .col {
		width: 94%;  /* 100% - 6% margin */
		/* proportional gutter to built-in widget columns */
		margin: 0 0 0 6%;
		padding-right: 12%;
	}
	#footer-widgets .row.wstl-extra-col[data-columns="2"] .col {
		width: 47%;
		margin-left: 3%;
		padding-right: 6%;
	}
}

/*! --- Footer: Widgets: Menus --- */

#footer-widgets .widget_nav_menu .menu-item a {
	text-decoration-color: rgba(255, 255, 255, 0.5);
	margin-bottom: 0.2em;
	transition: all 0.2s ease;
}
#footer-widgets .widget_nav_menu .menu-item a:hover {
	text-decoration-color: currentcolor;
}

/* Fade/ghost menu items on menu hover */
#footer-widgets .widget_nav_menu:hover a {
	opacity: 0.5;
}
/* Fade in hovered menu items */
#footer-widgets .widget_nav_menu a:hover {
	opacity: 1;
}

/* If an menu item has children/sub-menu, treat it as a header */
#footer-outer #footer-widgets .widget.widget_nav_menu ul li.menu-item-has-children {  /* specificity war */
	padding-top: 0 !important;
}

#footer-widgets .widget_nav_menu .menu-item-has-children > a {
	margin-bottom: 1.5em;
	font-weight: 500;
	line-height: 24px;
	opacity: 1;  /* disable ghosting */
}

/* remove link appearance from menu items with no URL */
#footer-widgets .widget_nav_menu a:not([href]),
#footer-widgets .widget_nav_menu a:not([href]):hover {
	text-decoration: none;
	cursor: text;
}

/* don't indent sub-menus */
#footer-widgets .widget_nav_menu .menu-item .sub-menu {
	padding-left: 0;
}

/*! --- Footer: Widgets: Social Icons --- */

#footer-widgets .wstl-social-icons {
	font-size: 2em;  /* 24px */
	/* flex-wrap: nowrap; */  /* force onto one line */
}

body #footer-outer #footer-widgets .widget ul.wstl-social-icons li {  /* specificity war */
	padding: 0;
	margin:  0 0.5em 0.5em 0;
}
body #footer-outer #footer-widgets .widget ul.wstl-social-icons li:last-child {
	margin-right: 0;
}

#footer-widgets .wstl-social-icons a {
	position: relative;
	width:  1.5em;
	height: 1.5em;
	line-height: 1.5;
	color:      #fff !important;
	background: transparent;
	border-radius: 100%;
	transition: all 0.4s ease;
}
#footer-widgets .wstl-social-icons a:hover {
	/* grow and spin (the outer ring) */
	transform: scale(1.3) rotate(-180deg);
}

/* icons */
#footer-widgets .wstl-social-icons a i,
#footer-widgets .wstl-social-icons a .wstl-icon {
	font-size: 0.85em;
	transition: all 0.4s ease;  /* match the parent's! */
}
#footer-widgets .wstl-social-icons a:hover i,
#footer-widgets .wstl-social-icons a:hover .wstl-icon {
	/* counter the container link's transforms (keep the icon upright) */
	transform: scale(0.9) rotate(180deg);
}

/* outer rings */
#footer-widgets .wstl-social-icons a::before {
	content: '';
	position: absolute;
	top:  0;
	left: 0;
	width:  100%;
	height: 100%;
	background: transparent url('../img/social-icon-ring-white.svg') center / contain no-repeat;
	transition: all 0.6s ease;
}
/* rotate each a bit uniquely */
#footer-widgets .wstl-social-icons li:nth-child(1n) a::before {
	transform: rotate(320deg);
}
#footer-widgets .wstl-social-icons li:nth-child(2n) a::before {
	transform: rotate(28deg);
}
#footer-widgets .wstl-social-icons li:nth-child(3n) a::before {
	transform: rotate(172deg);
}
#footer-widgets .wstl-social-icons li:nth-child(4n) a::before {
	transform: rotate(68deg);
}
#footer-widgets .wstl-social-icons li:nth-child(5n) a::before {
	transform: rotate(160deg);
}
#footer-widgets .wstl-social-icons li:nth-child(6n) a::before {
	transform: rotate(35deg);
}
/* network specific rotation */
#footer-widgets .wstl-social-icons li.brighttalk a::before {
	transform: rotate(-75deg);
}
#footer-widgets .wstl-social-icons li.facebook a::before {
	transform: rotate(0);
}
#footer-widgets .wstl-social-icons li.instagram a::before {
	transform: rotate(-135deg);
}
#footer-widgets .wstl-social-icons li.linkedin a::before {
	transform: rotate(140deg);
}
#footer-widgets .wstl-social-icons li.twitter a::before {
	transform: rotate(58deg);
}

/* ghost other icon's rings hovering the group */
#footer-widgets .wstl-social-icons:hover a::before {
	opacity: 0.5;
}
#footer-widgets .wstl-social-icons a:hover::before {
	opacity: 1;
}


/*! ----- Footer: Copyright Row ----- */

#copyright {}

#copyright a {
	text-decoration-color: rgba(255, 255, 255, 0.5);
}
#copyright a:hover {
	text-decoration: underline;
}

@media screen and (min-width: 690px ) {
	/* Allow copyright text to fill row when no social icons set */
	#copyright .container {
		display: flex;
	}

	#footer-outer #copyright .col {
		width: auto;
	}
	/* let social icons column expand to keep flush right */
	#copyright .col_last {
		flex-grow: 1;
	}
}



/*! ===== Footer Bar [Custom] ===== */

#footer-bar {
	position: relative;
	width: 100%;
	padding: 20px 3%;
	background: #fff;
}


/* non-mobile display (floating bar) */
@media screen and (min-width: 1000px) {

	body.has-footer-bar #footer-outer {
		padding-bottom: 70px;  /* accomodate height of the floating footer bar */
	}

	#footer-bar {
		position: fixed;
		bottom: 0;
		height: 70px;
		padding: 14px 60px 15px;  /* avoid "to top" button overlap (46px from right) */
		z-index: 999;
		border-top: 1px solid #ddd;
		box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.22);
		transition: all 0.3s ease;
	}

	.js #footer-bar {
		/* hide off-screen initially */
		transform: translate3d(0, 70px, 0);

	}

	#footer-bar.js-show {
		transform: translate3d(0, 0, 0);
	}

}
