/* Styles for any common widgets (besides header slideshow) that can be in included on pages or articles */

/* Article sidebar - can be on multiple page types such as listing details, in addition to articles */
@media only screen {
	.articleSidebar {
		display: none;
	}
}
@media only screen and (min-width: 1025px) {
	.articleSidebar {
		display: flex;
		flex-direction: row;
		position: relative;
		width: 90%;
		max-width: 400px;
	}
	.articleSidebar .articlesWrapper {
		position: relative;
		margin-left: 30px;
		width: 100%;
	}
	.articleSidebar .headerWrapper {
		position: absolute;
		right: 0;
	}
	.articleSidebar .sidebarHeader {
		position: relative;
		left: 10px;
	}
	.articleSidebar .sidebarArticle {
		position: relative;
		display: block;
		margin-bottom: 22px;
	}
	.articleSidebar .sidebarArticle a {
		display: block;
	}
	.articleSidebar .sidebarImage {
		position: relative;
		display: block;
	}
	.articleSidebar .sidebarImage:after {
		display: inline-block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		content: ' ';
		background-image: -webkit-linear-gradient(top, transparent, transparent 65%, rgba(0,0,0,0.1) 69%, rgba(0,0,0,0.7));
		background-image:    -moz-linear-gradient(top, transparent, transparent 65%, rgba(0,0,0,0.1) 69%, rgba(0,0,0,0.7));
		background-image:     -ms-linear-gradient(top, transparent, transparent 65%, rgba(0,0,0,0.1) 69%, rgba(0,0,0,0.7));
		background-image:      -o-linear-gradient(top, transparent, transparent 65%, rgba(0,0,0,0.1) 69%, rgba(0,0,0,0.7));
		background-image:		  linear-gradient(to bottom, transparent, transparent 65%, rgba(0,0,0,0.1) 69%, rgba(0,0,0,0.7));
	}
	.articleSidebar .sidebarImage img {
		position: relative;
		display: block;
		width: 100%;
	}
	.articleSidebar .sidebarTitle {
		position: absolute;
		bottom: 15px;
		padding: 0 20px;
		color: white;
	}
	.articleSidebar .sidebarTitle:hover {
		/*color: #ee1c24;*/
		text-decoration: underline;
	}
}
@media only screen and (min-width: 1300px) {
	.articleSidebar .sidebarTitle {}
}
@media only screen and (min-width: 1400px) {
	.articleSidebar .sidebarTitle {}
}
@media only screen and (min-width: 1500px) {
	.articleSidebar .sidebarTitle {}
}

@media only screen {
	.articleLinks {
		position: relative;
		display: flex;
		flex-direction: column;
		padding: 10px 30px 0;
	}
	.articleLinks h2 {
		font-size: 30px;
		line-height: 34px;
	}
	.articleLinks ul li a {
		/*color: #D30109;*/
		text-transform: capitalize;
	}
}
@media only screen and (min-width: 1025px) {
	.articleLinks {
		position: relative;
		display: flex;
		flex-direction: column;
		width: 90%;
		max-width: 400px;
		margin-left: 30px;
		padding: 0;
	}
	.articleLinks h2 {
		font-size: 32px;
		line-height: 36px;
	}
}

/* Large Callout widget */
@media only screen {
	.calloutWrapper {
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
	}
	.calloutWrapper .calloutImage {
		position: relative;
		display: block;
		width: 100%;
	}
	.calloutWrapper .calloutOverlay {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.4);
	}
	.calloutWrapper .calloutContent {
		position: absolute;
		transform: translateY(-50%);
		top: 50%;
		left: 0;
		right: 0;
		width: 100%;
		margin: 0 auto;
		padding: 0 3vw;
	}
	.calloutWrapper .calloutHeader a {
		color: white;
		font-size: 16vw;
		line-height: 15vw;
	}

	.calloutWrapper .arrowWrapper {
		margin: 10px;
		float: right;
	}
	.calloutWrapper:hover .arrowWrapper .arrowLink {
		/*color: #e2c27a;*/
		color: #9600FF;
	}
	.calloutWrapper:hover .arrowWrapper .arrowLink .animatedArrow {
		/*color: #e2c27a;*/
		color: #9600FF;
		left: 15px !important;
	}
	.calloutWrapper .arrowWrapper .arrowLink {
		font-size: 20px;
		line-height: 40px;
		text-transform: uppercase;
	}
}
@media only screen and (min-width: 40.063em) {
	.calloutWrapper .calloutContent {
		width: 75%;
	}
	.calloutWrapper .calloutHeader a {
		font-size: 15vw;
		line-height: 14vw;
	}
}
@media only screen and (min-width: 64.063em) {
	.calloutWrapper {
		background-color: #ededed;
		background-image: none;
		background-position: 0 0;
		background-size: 100% 100%;
	}
	.calloutWrapper .calloutContent {
		width: 60%;
	}
	.calloutWrapper .calloutHeader a {
		font-size: 12vw;
		line-height: 11vw;
	}
}
@media only screen and (min-width: 1400px) {
	.calloutWrapper .calloutHeader a {
		font-size: 9vw;
		line-height: 8vw;
	}
}
@media only screen and (min-width: 1600px) {
	.calloutWrapper .calloutHeader a {
		font-size: 144px;
		line-height: 120px;
	}
}


/* Custom filter bar */
@media only screen {
	.filterCustom {
		position: relative;
		display: block;
		height: 90px;
		background-color: white;
		z-index: 3;
		width: 100%;
	}
	.filterCustom .filterBar {
		width: 100%;
		height: 90px;
		color: black;
	}
	.filterCustom .filterButtons {
		position: absolute;
		display: block;
		height: 80px;
	}
	.filterCustom .filterButtons.buttonsLeft {
		top: 0;
		left: 36px;
		padding-top: 29px;
	}
	.filterCustom .filterButtons.buttonsRight {
		top: 0;
		right: 36px;
		padding-top: 29px;
		display: none;
	}
	.filterCustom .filterButtons .circle {
		display: inline-block;
		display: none;
		color: black;
		line-height: 25px;
		position: absolute;
		left: 45px;
		cursor: pointer;
		height: 25px;
		width: 25px;
	}
	.filterCustom .filterButtons .circle:before {
		content: ' \25CF';
		font-size: 50px;
	}
	.filterCustom .filterButtons .clearFilter {
		color: black;
		left: 55px;
		font-size: 17px;
		line-height: 31px;
		letter-spacing: 2px;
		display: inline-block;
		cursor: pointer;
		position: absolute;
		width: 250px;
	}
	.filterCustom .filterIcon {
		position: absolute;
		display: inline-block;
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: contain;
		vertical-align: middle;
		cursor: pointer;
		z-index: 5;
	}
	.filterCustom .filterText {
		position: absolute;
		display: none;
	}
	.filterCustom .filterIcon.btnMenu {
		width: 30px;
		height: 30px;
		background-image: url(/includes/public/assets/images/filterMenu.black.png);
	}
	.filterCustom .filterIcon.btnGrid {
		width: 21px;
		height: 19px;
		right: 42px;
		background-image: url(/includes/public/assets/images/filterGrid.gray.png);
	}
	.filterCustom .filterIcon.btnGrid.selected {
		background-image: url(/includes/public/assets/images/filterGrid.black.png);
	}
	.filterCustom .filterIcon.btnList {
		width: 22px;
		height: 14px;
		right: 0;
		top: 31px;
		background-image: url(/includes/public/assets/images/filterList.gray.png);
	}
	.filterCustom .filterIcon.btnList.selected {
		background-image: url(/includes/public/assets/images/filterList.black.png);
	}

	.filterCustom .filterFields {
		position: absolute;
		top: 80px;
		left: 0;
		width: 100%;
		height: 0;
		overflow: hidden;
		color: black;
		background-color: white;
		-webkit-transition: height 500ms ease-out;
		   -moz-transition: height 500ms ease-out;
			-ms-transition: height 500ms ease-out;
			 -o-transition: height 500ms ease-out;
				transition: height 500ms ease-out;
	}
	.filterCustom .filterFields.open {
		height: auto;
		padding-bottom: 50px;
	}
	.filterBarRight {
		width: 75px;
		background: white;
		height: 90px;
		float: right;
	}
}
@media only screen and (min-width: 40.063em) {
	.filterCustom .filterFields.open {
		padding-bottom: 0;
	}
}
@media only screen and (min-width: 64.063em) {
	.filterCustom {
		height: 90px;
		background-color: black;
	    width: calc(100% - 74px);
	}
	.filterCustom .filterBar {
		color: white;
		background: black;
	}
	.filterCustom .filterButtons {
		height: 120px;
	}

	.filterCustom .filterButtons .circle {
		left: 110px;
		color: white;
		line-height: 19px;
	}
	.filterCustom .filterButtons .clearFilter {
		left: 130px;
		color: white;
		line-height: 24px;
	}
	.filterCustom .filterButtons.buttonsLeft {
		padding-top: 33px;
		left: 60px;
	}
	.filterCustom .filterButtons.buttonsRight {
		padding-top: 46px;
		right: 60px;
	}
	.filterCustom .filterButtons.buttonsRight .filterIcon {
	}
	.filterCustom .filterText {
		display: inline-block;
		width: 56px;
		font-weight: bold;
		cursor: pointer;
	}
	.filterCustom .filterButtons.buttonsLeft .filterText {
	    color: white;
	    left: 40px;
	    font-size: 22px;
	    line-height: 23px;
	    letter-spacing: 2px;
	}
	.filterCustom .filterButtons.buttonsRight .filterText {
		color: #949494;
		top: 46px;
		right: 46px;
		font-size: 22px;
		line-height: 22px;
	}
	.filterCustom .filterIcon.btnMenu {
		background-image: url(/includes/public/assets/images/filterMenu.white.png);
		width: 22px;
		height: 24px;
	}
	.filterCustom .filterIcon.btnGrid.selected {
		background-image: url(/includes/public/assets/images/filterGrid.white.png);
	}
	.filterCustom .filterIcon.btnList {
		top: 48px;
	}
	.filterCustom .filterIcon.btnList.selected {
		background-image: url(/includes/public/assets/images/filterList.white.png);
	}
	.filterCustom .filterFields {
		top: 90px;
		border-left: 60px solid black;
		max-width: 100%;
	}
	.filterCustom .filterFields.open {}
}
@media only screen and (min-width: 1085px) {
	.filterCustom {
		width: calc(100% - 75px);
	}
}
@media only screen and (min-width: 1345px) {
	.filterCustom {
		width: calc(100% - 76px);
	}
}
@media only screen and (min-width: 1600px) {
	.filterCustom {
	    max-width: 1510px;
	}
}


/* Hashtag social widget */
@media only screen {
	.hashtag-social {
		display: inline-block;
		position: relative;
		width: 100%;
		margin: 50px 0 30px;
	}
	.hashtag-social .hashtag-title {
		color: black;
		font-family: Oswald, sans-serif;
		font-weight: 500;
		font-size: 10vw;
		line-height: 11vw;
		text-transform: uppercase;
		text-align: center;
		letter-spacing: 1px;
	}
	.hashtag-social .social-wrapper {
		display: flex;
		margin-top: 20px;
		flex-direction: row;
		align-items: center;
		justify-content: center;
	}
	.hashtag-social .social-tagline {
		margin: 3px 10px 3px 3px;
		font-family: Oswald, sans-serif;
		font-weight: 500;
		font-size: 18px;
		line-height: 40px;
		text-transform: uppercase;
	}
	.hashtag-social .social-icons {
		display: flex;
		flex-direction: row;
	}
	.hashtag-social .social-icons a {
		/*margin: 0 3px;*/
		margin: 0 5px;
	}
	.hashtag-social .social-icons a .fab {
		display: flex;
		align-items: center;
		justify-content: center;
		/*color: #c3b07c;*/
		color: white;
		background-color: black;
		width: 40px;
		height: 40px;
		border: 2px solid transparent;
		border-radius: 50% 50%;
		/*font-size: 32px;*/
		font-size: 24px;
	}
	.hashtag-social .social-icons a:hover {
		text-decoration: none;
	}
	.hashtag-social .social-icons a:hover .fa {
		/*color: black;*/
		color: white;
		border: 2px solid #9600FF;
	}
}
@media only screen and (min-width: 40.063em) {
	.hashtag-social .hashtag-title {
		font-size: 50px;
		line-height: 50px;
	}
}
@media only screen and (min-width: 64.063em) {
	.hashtag-social .hashtag-title {
		font-size: 64px;
		line-height: 64px;
		text-align: center;
	}
}
