/* CSS Document */

/* @import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,700'); */

html { font-size: 16px; color: #555; }
body { margin: 0; padding: 0; font-family: 'adobe-clean', 'Helvetica', sans-serif; background-color: #fff; line-height: 1.3em; }

/* type */

h1 { margin: 0 0 1em 0; }
h2 { margin: 0 0 1em 0; }
h3 { margin: 0 0 1em 0; }
h4 { margin: 0 0 1em 0; }
h5 { margin: 0 0 .5em 0; }
h6 { margin: 0 0 .5em 0; }
p { margin: 0 0 1em 0; }
a { color: #008cda; text-decoration: none; }
a:hover { color: #0c72ab; text-decoration: underline; }

.content_container { max-width: 980px; margin: 0 auto; }

a.see_all { display: inline-block; font-weight: bold; margin-bottom: 10px; text-transform: uppercase; font-size: .9em; }
a.see_all::after { content:'\00BB'; padding-left: 8px; }

a.social { display: inline-block; width: 35px; height: 35px; background: no-repeat 0 0; background-size: contain; margin: 0 6px 0 0; }
a.social:hover { opacity: .8; }
a.social span { display: none; }
a.social.connect_fb { background-image: url(/themes/cuc_v4/images/social_connect_facebook.svg); }
a.social.connect_tw { background-image: url(/themes/cuc_v4/images/social_connect_twitter.svg); }

iframe {margin: 10px 0; border: 1px solid #ccc; }


/* ........................................................................... */
/* layout .................................................................... */

header { min-width: 320px; padding: 1px 0 0 0; background: #555 url(/themes/cuc_v4/images/header_bg_large.jpg) no-repeat center top; background-size: cover; position: relative; }
header a.adobeconnect { display: block; width: 465px; height: 60px; background: url(/themes/cuc_v4/images/logo_connectusers.svg) no-repeat 0 0; margin: 15px 20px 15px -3px; }
header a.adobeconnect span { display: none; }

header form { position: absolute; bottom: 25px; right: 0px; }
header form input { width: 150px; border: none; padding: 5px 12px; font-size: .9em; }

header nav { background-color: rgba(0,0,0,.6); position: relative; font-size: 1em; }
header nav .content_container { position: relative; }
header nav ul { list-style: none; margin: 0; padding: 0px; }
header nav ul::after { content:''; display: block; clear: both; }
header nav ul li:hover { background-color: rgba(0,0,0,.8); }
header nav ul li:hover > ul { display: block; }
header nav ul li a { display: inline-block; color: #fff; padding: 10px 12px; text-decoration: none; width: 135px; }
header nav ul li a:hover { text-decoration: none; color: #fff; background-color: #56b284; }
header nav ul ul { display: none; position: absolute; top: 100%; background-color: rgba(0,0,0,.8); }
header nav ul ul li { position: relative; }
header nav ul ul ul { left: 100%; top: 0; }

/* top level only */
header nav .content_container > ul { padding: 0 0 0 60px; }
header nav .content_container > ul > li { float: left; margin-right: 5px; }
header nav .content_container > ul > li > a { position: relative; width: auto; font-weight: bold; padding-bottom: 15px; }
header nav .content_container > ul > li:hover > a { background-color: rgba(0,102,102,.2); }

header nav .content_container > ul > li > a[aria-haspopup="true"]::after {
	content:'';
	cursor: pointer;
	display: block;
	width: 7px;
	height: 7px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
    position: absolute;
    left: 14px;
    bottom: 8px;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

header nav a.menu {
	display: none;
	width: 28px;
	height: 28px;
	position: absolute;
	top: -38px;
	left: 0;
	background: url(/themes/cuc_v4/images/menu.svg) no-repeat 0 0;
	background-size: 56px 28px;
	transition: background-position .3s;
}
header nav a.menu span { display: none; }


main { margin: 0; padding: 25px 25px; background-color: #eeedea; }
main::after { content: ''; display: block; clear: both; }

main .breadcrumbs { margin: 0 0 20px 0; font-size: .8em; text-transform: uppercase; }
main .breadcrumbs a { margin: 0 0 20px 0; padding-right: 9px; }
main .breadcrumbs a:hover { color: #000; text-decoration: none; }
main .breadcrumbs a::after { content:'>'; padding-left: 12px; color: #999; }
main .breadcrumbs span:last-child a::after { content:''; }

main article { width: 640px; float: left; margin-right: 28px; }
main aside { width: 295px; float: left; }

main article section { margin: 0 0 28px 0; padding: 15px; background-color: #fff; }
main article section > h2 { background-color: #39b382; font-size: 1.5em; line-height: 1.2em; font-weight: normal; color: #fff; margin: -15px 15% 15px -15px; padding: 10px 5px 10px 15px; }
main article section div { margin: 0 0 45px 0; }
main article section div p.date { text-transform: uppercase; font-size: .9em; margin: 0; }
main article section div h3 { margin: 0 0 .3em 0; }





main article .tutorial_refine { font-size: .8em; font-weight: bold; margin: 15px 0 30px 0; }
main article .tutorial_refine::before { content: 'Refine list:'; font-weight: bold; padding-right: 12px; }
main article .tutorial_refine::after { content: ''; display: block; clear: both; }
main article .tutorial_refine a { padding-right: 5px; }
main article .tutorial_refine a:hover { color: #000; text-decoration: none; }
main article .tutorial_refine a::after { content: '|'; padding-left: 5px; font-weight: normal;  color: #aaa; }
main article .tutorial_refine a:last-child::after { content: ''; }
main article .tutorial_refine span { font-weight: normal; padding-right: 5px; }
main article .tutorial_refine span::after { content: '|'; padding-left: 5px; font-weight: normal; color: #aaa; }
main article .tutorial_refine span:last-child::after { content: ''; }

main article .tutorial_listing {  }
main article .tutorial_listing td { vertical-align: top; }
main article .tutorial_listing td:first-child { width: 70%; }

main article .tutorial_listing thead tr { background-color: #777; }
main article .tutorial_listing thead td { padding: 4px 10px; }
main article .tutorial_listing thead td a { color: #fff; text-transform: uppercase; font-size: .8em; }

main article .tutorial_listing tbody { padding-top: 15px; }
main article .tutorial_listing tbody tr {  }
main article .tutorial_listing tbody tr:first-child td { padding-top: 15px; }
main article .tutorial_listing tbody tr:last-child td { border: none; }
main article .tutorial_listing tbody td { border-bottom: 1px solid #ddd; padding: 8px 20px 0 5px; }
main article .tutorial_listing tbody td:last-child { font-size: .85em; padding-left: 11px; }
main article .tutorial_listing tbody td p.t { font-weight: bold; margin: 0; }
main article .tutorial_listing tbody td p.a { font-style: italic; margin: 0 0 9px 0; }
main article .tutorial_listing tbody td p.d { font-size: .9em; line-height: 1.2em; }

main article .pagination { margin: 20px 0 15px 0; background-color: #eee; }
main article .pagination::after { content:''; display: block; clear: both; }
main article .pagination a { font-size: 1.1em; font-weight: bold; display: inline-block; margin: 0; border: 1px solid rgba(0,0,0,0); padding: 2px 8px; border-radius: 4px; }
main article .pagination a:hover { text-decoration: none; }
main article .pagination a.num:hover { background-color: #eee; }
main article .pagination a.prev { font-size: .9em; }
main article .pagination a.prev::before { content:'\00AB'; padding-right: 5px; }
main article .pagination a.next { font-size: .9em; }
main article .pagination a.next::after { content:'\00BB'; padding-left: 5px; }
main article .pagination a.selected { border-color: #ccc; color: #aaa; }

main aside section { margin: 0 0 28px 0; padding: 15px; background-color: #fff; }
main aside section h4 { background-color: #39b382; font-size: 1.5em; font-weight: 300; color: #fff; margin: -15px 15% 15px -15px; padding: 7px 5px 7px 15px; }





footer { padding: 20px 20px 50px 35px; color: #999; }
footer h5 { color: #333; font-size: 1.5em; font-weight: 400; margin-bottom: .6em; }
footer section { display: block; min-height: 50px; padding: 0 0 0 40px; background: url(/themes/cuc_v4/images/logo_adobe.svg) no-repeat 0 2px; background-size: 25px auto; }
footer a { color: #000; text-decoration: none; }
footer p { font-size: .75em; }
footer p:nth-child(1) { margin-bottom: 0; }
footer p:nth-child(2) a::after { content: '\2022'; padding: 0 10px; text-decoration: none; }
footer p:nth-child(2) a:hover::after { text-decoration: none; }
footer p:nth-child(2) a:last-child::after { content: ''; }
footer p:nth-child(2) a:nth-child(1) { margin-left: 0; }


/* homepage marquee */

#marquee { margin: 35px 0 0 0; color: #000; }

#marquee .marquee_nav { text-align: center; margin-top: -10px; }
#marquee .marquee_nav a { display: inline-block; background-color: rgba(0,0,0,.5); padding: 5px 25px; color: #fff; margin: 0 2px; transition: color .4s, background-color .4s; }
#marquee .marquee_nav a:hover { background-color: rgba(0,0,0,.75); }
#marquee .marquee_nav a.selected { background-color: rgba(255,255,255,.8); color: #000; }

#marquee .marquee_title { background-color: rgba(255,255,255,.8); padding: 15px 15px 1px 35px; }
#marquee .marquee_title h6 { font-size: .9em; font-weight: normal; text-transform: uppercase; letter-spacing: 3px; margin: 0; }
#marquee .marquee_title h3 { font-size: 2em; margin: 0 0 15px 0; line-height: 1.1em; }

#marquee .marquee_panels { background-color: rgba(255,255,255,.8); overflow: hidden; }
#marquee .marquee_panels .marquee_panel { padding: 0 35px 15px 35px; line-height: 1.2em; display: none; min-height: 150px; }
#marquee .marquee_panels .marquee_panel::after { content: ''; display: block; clear: both; }
#marquee .marquee_panels .marquee_panel h4 { margin: 25px 0 0 0; font-size: 1.1em; }
#marquee .marquee_panels .marquee_panel h4:nth-child(1) { margin-top: 0; }
#marquee .marquee_panels .marquee_panel a.see_all { margin-top: 15px; }
#marquee .marquee_panels .marquee_panel > img { width: 15%; margin: 4px 20px 0 0; float: left; }
#marquee .marquee_panels .marquee_panel > div { width: 80%; float: left; }

#marquee .marquee_panels .marquee_panel.selected { display: block; }



.promo { text-align: center; padding: 15px; }
.promo a { color: #fff; margin: 0; font-weight: bold; }
.promo a span { display: inline-block; font-size: .8em; padding: 4px 18px; margin: -5px 0 0 10px; border: 1px solid #fff; border-radius: 7px; text-transform: uppercase; font-weight: normal; transition: background-color .3s; }
.promo a:hover { text-decoration: none; }
.promo a:hover span { background-color: rgba(255,255,255,.2); }

div.promo { background-color: #008cda; }
div.promo::after { content: ''; display: block; clear: both; }
div.promo a { float: left; }
div.promo a br { display: none; }
div.promo a:nth-child(1) { float: left; text-align: left; }
div.promo a:nth-child(2) { float: right; text-align: right; }

section.promo { background-color: #39b382; }
section.promo a { display: block; font-size: 1.1em; line-height: 1.2em; margin: 0 0 12px 0; }
section.promo a:nth-child(2) { border-top: 1px solid #fff; padding-top: 12px; margin-top: 10px; }
section.promo a span { display: block; clear: left; margin: 12px 50px; }





.ad_free_trial a { display: block; margin: -15px; background: #444 no-repeat 0 0; background-size: auto 200px; font-size: 1.7em; line-height: 1.2em; color: #fff; padding: 0; position: relative; height: 200px; }
.ad_free_trial a div { position: absolute; right: 20px; bottom: -15px; }
.ad_free_trial a div span { display: inline-block; font-size: .6em; text-transform: uppercase; margin-top: 15px; padding: 4px 15px; border: 2px solid #fff; border-radius: 6px; transition: background-color .3s; }
.ad_free_trial a:hover div span { background-color: rgba(255,255,255,.3); }



/* layout types */

body.fullwidth {  }
body.fullwidth main article { width: 100%; float: none; margin-right: 0; }
body.fullwidth main aside { float: none; display: none }


/* development */
body.badge nav { border-top: 6px solid #a00; }
body.badge header::after {
	font-size: 12px;
	letter-spacing: 4px;
	display: block;
	background-color: #a00;
	width: 300px;
	margin-left: -150px;
	padding: 5px;
	text-align: center;
	color: #fff;
	position: absolute;
	top: 50px;
	left: 60px;
	transform: rotate(-45deg);
	box-shadow: 4px 4px 5px rgba(0,0,0,.4);
}

body.badge.dev header::after { content: 'DEVELOPMENT'; }
body.badge.stage header::after { content: 'STAGING'; }
body.badge.admin header::after { content: 'ADMIMISTRATOR'; }





@media screen and (max-width: 1025px) {

	header { background-image: url(/themes/cuc_v4/images/header_bg_medium.jpg); }
	header nav .content_container > ul > li { margin-right: 0; }
	header nav .content_container > ul > li a { font-size: .95em; }
	
	
	.content_container { max-width: 800px; }

	main article { width: 522px; }
	main aside { width: 242px; }

	div.promo a { width: 40%; margin: 0 2%; }
	div.promo a:nth-child(1) { text-align: center; }
	div.promo a:nth-child(2) { text-align: center; }
	div.promo a span { display: block; text-align: center; margin: 10px 25% 5px 25%; }

	.ad_free_trial a { background-size: auto 150px; font-size: 1.4em; height: 150px; }
	.ad_free_trial a div { bottom: -20px; right: 25px; }

}





@media screen and (max-width: 900px) {
	
	header nav .menu_content { height: 0px; overflow: hidden; }
	
	header nav { padding-top: 50px; }
	header nav a.menu { display: block; }
	header nav.open a.menu { background-position: -28px 0; }
	
	header nav ul ul { display: block; position: static; background-color: rgba(0,0,0,0); margin-left: 20px; }
	header nav ul ul li { position: relative; }
	header nav ul li:hover { background-color: rgba(0,0,0,0); }
	header nav ul li a { width: auto; }
	header nav ul li a:hover { text-decoration: underline; background-color: rgba(0,0,0,0); }
	/* top level only */
	header nav .content_container > ul { padding: 0; }
	header nav .content_container > ul > li:hover > a { background-color: rgba(0,102,102,0); }
	header nav .content_container > ul > li > a[aria-haspopup="true"]::after { display: none; }
	header nav .content_container > ul > li { float: none; display: block; }
	header nav .content_container > ul > li:hover > a { background-color: rgba(0,102,102,0); }
	
	header form { position: absolute; top: -40px; right: 0px; }
	
	body.badge header::after {
		font-size: 11px;
		letter-spacing: 2px;
		margin-left: -150px;
		top: 25px;
		left: 37px;
	}

	.content_container { max-width: 650px; }
	
	main article { width: auto; float: none; margin-right: 0; }
	main aside { width: auto; float: none; }
	
	div.promo a br { display: inline; }
	section.promo a br { display: none; }
	section.promo a span { display: block; clear: left; margin: 12px 30%; }

	.ad_free_trial a { background-size: cover; font-size: 1.4em; height: 150px; }
	.ad_free_trial a div { bottom: -20px; right: 25px; }
	
	#marquee .marquee_panels .marquee_panel > img { width: 18%; }
	#marquee .marquee_panels .marquee_panel > div { width: 77%; }
	
	main article .tutorials_refine::before { display: block; }
	
	footer p:nth-child(2) { margin: 10px 0 10px 0; }
	
}

/* 
 * --- Video Listing ---
 */



.vid-list h3{
	display: block;
	width: 100%;
}

.vid-list .videos{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.vid-list .card{
	width: 15rem;
	background: white;
	border: 1px solid #CCC;
	margin: 10px;
}

.card .card-img-top{
	margin: 0;
	width: 100%;
}

.card .card-body{
	margin: 5px 7px;
}

.card .card-body a{
	display: inline-block;
	background-color: #0368FF;
	color:white;
	font-weight: 600;
	border-radius: 25px;
	padding: 4px 14px;
	margin-bottom: .4rem;	
}




@media screen and (max-width: 660px) {
	
	header { background-image: url(/themes/cuc_v4/images/header_bg_small.jpg); }
	header a.adobeconnect { margin-left: 12px; width: 400px; height: 52px; }
	header form { right: 15px; }
	header nav a.menu { left: 18px; }
	
}




@media screen and (max-width: 600px) {
	
	header form { right: 25px; }

	div.promo a { width: auto; margin: 0 auto 20px auto; }
	div.promo a span { margin: 5px 30%; }
	div.promo a br { display: none; }
	div.promo a:nth-child(1) { float: none; }
	div.promo a:nth-child(1) span { margin-bottom: 30px; }
	div.promo a:nth-child(2) { float: none; }

	.ad_free_trial a { height: 130px; font-size: 1.2em; }
	.ad_free_trial a div { bottom: -28px; }
	
	#marquee .marquee_nav a { font-size: .85em; padding: 8px 12px; margin: 0 4px; }
	#marquee .marquee_panels .marquee_panel > img { width: 20%; }
	#marquee .marquee_panels .marquee_panel > div { width: 75%; }
	
	main article .tutorials_refine::before { padding: 0 0 8px 0; }
	main article .tutorials_refine a { display: inline-block; float: left; clear: left; padding: 0 0 5px 20px; }
	main article .tutorials_refine a::after { content: ''; padding: 0; }
	main article .tutorials_refine span { display: inline-block; float: left; clear: left; padding: 0 0 5px 20px; }
	main article .tutorials_refine span::after { content: ''; padding: 0;  }
	
	
	main article .pagination { text-align: center; }
	main article .pagination span { display: block; margin: 8px 0; }
	main article .pagination a.prev { margin-bottom: 10px; }
	main article .pagination a.next { margin-top: 10px; }
	
	
	footer p:nth-child(2) { margin-bottom: 12px; }
	footer p:nth-child(2)::after { content:''; display: block; clear: both; }
	footer p:nth-child(2) a { display: inline-block; float: left; clear: left; }
	footer p:nth-child(2) a::after { content: ''; }
	
}





@media screen and (max-width: 500px) {
	
	.ad_free_trial a { background-position: -25px 0; background-size: 500px auto; height: 140px; font-size: 1.1em; }
	.ad_free_trial a div { bottom: -25px; right: 15px; }
	.ad_free_trial a div span { font-size: .75em; }
	
	#marquee h3 { font-size: 1.8em; margin: 0 0 20px 0; }
	#marquee .marquee_panels .marquee_panel > img { width: 25%; }
	#marquee .marquee_panels .marquee_panel > div { width: 68%; }

}





@media screen and (max-width: 450px) {	

	header a.adobeconnect { margin: 15px 0 15px 15px; width: 325px; height: 42px; }
	
	header nav a.menu { left: 22px; }
	
	.ad_free_trial a { background-position: -30px 0; background-size: 450px auto; height: 125px; font-size: 1em; }
	.ad_free_trial a div { bottom: -25px; right: 15px; }

}





@media screen and (max-width: 400px) {
	
	div.promo a span { margin: 5px 10%; }
	aside section.promo a span { display: block; margin: 12px 15px; }

	.ad_free_trial a { background-position: -110px 0; }
	
	#marquee { margin-top: 25px; }
	#marquee h3 { font-size: 1.5em; }
	
	
	#marquee .marquee_nav a { font-size: .8em; padding: 8px 8px; margin: 0 2px; }
	#marquee .marquee_panels { padding-top: 10px; }		
	#marquee .marquee_panels .marquee_panel > img { width: 20%; }
	#marquee .marquee_panels .marquee_panel > div { width: 72%; }
	
	main article .pagination a { margin: 0px; padding: 2px 5px; }
	
}





@media screen and (max-width: 350px) {

	header a.adobeconnect { margin: 10px 0 10px 15px; width: 290px; height: 37px; }
	
	header nav a.menu { left: 20px; }
	
	body.badge header::after {
		letter-spacing: 1px;
		top: 20px;
		left: 32px;
		padding: 4px;
	}
	
	.ad_free_trial a { background-position: -140px 0; }
	
	
}





/* 
 * --- Overrides ---
 */

/* featured topic */
.topic_overview_text { float: left; width: 80%; }
.topic_image_large { float: left; width: 20%; }

/* UI */
.cuc_page_alert { background-color: #fff0f0; padding: 10px; margin-bottom: 10px; }
.small_text { font-weight: 300; }

/* fancybox */
.fancybox-slide--iframe .fancybox-content { max-width  : 716px; }

/* ratings */
article section #rating { margin-bottom: 16px; }
article section #rating .stars { margin: none; display: inline; }
article section #rating #stars_msg { font-size: .85em; color: #888; vertical-align: text-top; margin-left: 10px; display: inline; }
article section #rating .votes { font-size: .9em; color: #666; margin: 2px 0px 16px 0px; display: block; }

/* font/theme updates */
h2 { font-size: 1.8em; }
main article section > h2 { font-weight: 300; }
header nav { font-size: 1.15em; }
header nav .content_container > ul > li > a { font-weight: 300; }


.wf-loading h1, .wf-loading h2, .wf-loading h3, 
.wf-loading h4, .wf-loading h5, .wf-loading h6, 
.wf-loading p, .wf-loading a, .wf-loading span, .wf-loading li { visibility: hidden; }

.wf-active h1, .wf-active h2, .wf-active h3, 
.wf-active h4, .wf-active h5, .wf-active h6, 
.wf-active p, .wf-active a, .wf-active span, .wf-active li  { visibility: visible; }

main aside section h5 { font-size: 1.15em; font-weight: bold; }

