/*
-----------------------------------
TOC
-----------------------------------

Bootstrap Overrides:......Changes to base-Bootstrap CSS

Template Globals:.........Styles for specific responsive templates

Page Globals:.............Styling of HTML and BODY

Site Elements:............Re-usable site elements

Structure:................Site structural components

Section Specific:.........Styles for Home and all Sub Pages

Page/Element Specific:....Page, element or flow Specific CSS

Responsive:...............Specific styles for Desktop, Tablet and Mobile

Additive CSS:.............Additive/override CSS

*/

/* ------------------------------------
$ Boostrap Overrides
------------------------------------ */

.alert-dismissible button.close { top: 0; right: 0; }
#solution_statistics .panel-body { overflow: hidden; }

/* ---- Visited state is over-riding default diabled nav item state ---- */
.horizontal_nav_container .navbar-nav > li.disabled > a,
.horizontal_nav_container .navbar-nav > li.disabled > a:visited { color: #ccc; }

/* ---- Using progress bar to simulate the cody correct/incorrect scoring  ---- */
#correct_incorrect { margin-top: 20px; }
#correct_incorrect .progress { background-color: #e5570a; } /* Background */
#correct_incorrect .progress-bar { background-color: #339033; } /* Correct */

/* ---- Documentation icon above editor is out of line ---- */
a.icon-documentation { line-height: 1.25; }

/* ---- Table Borderless ---- */
table.table-borderless > tbody > tr > td, table.table-borderless > thead > tr > th { border: none; }

/* ---- Responsive Text Alignment Helper Classes ---- */
/* $FLAG - Add to Site6 */
.add_text_xs_left { text-align: left; }
.add_text_xs_right { text-align: right; }
.add_text_xs_center { text-align: center; }
.add_text_xs_justify { text-align: justify; }

@media (min-width: 768px) {
    .add_text_sm_left { text-align: left; }
    .add_text_sm_right { text-align: right; }
    .add_text_sm_center { text-align: center; }
    .add_text_sm_justify { text-align: justify; }
}

@media (min-width: 992px) {
    .add_text_md_left { text-align: left; }
    .add_text_md_right { text-align: right; }
    .add_text_md_center { text-align: center; }
    .add_text_md_justify { text-align: justify; }
}

@media (min-width: 1200px) {
    .add_text_lg_left { text-align: left; }
    .add_text_lg_right { text-align: right; }
    .add_text_lg_center { text-align: center; }
    .add_text_lg_justify { text-align: justify; }
}

/* ------------------------------------
$ Page/Element Specifics
------------------------------------ */

/* ---- Homepage ---- */
.panel.group_overview { word-break: break-word; }
.panel.group_overview .panel-footer { position: absolute; bottom: 0; width: 100%; }
.panel.group_overview .panel-footer p { margin-right: 30px; }
.progress.add_progress_small { height: 5px; margin-top: 10px; }
.progress.add_progress_medium { height: 10px; margin-top: 4px; }
.band.player_header { background-size: 100%; background-position: top; background-position-y: -140px; padding: 45px 0 45px; }

/* Banner Size */
@media only screen and (max-width: 992px)  {
	.band.player_header {	background-size: cover;	background-position: middle;	background-position-y: 0; }
}
@media only screen and (min-width: 993px) and (max-width: 1200px)  {
  .band.player_header { background-position-y: -10px; }
}
@media only screen and (min-width: 1201px) and (max-width: 1400px)  {
  .band.player_header { background-position-y: -140px; }
}
@media only screen and (min-width: 1401px) {
	.band.player_header { background-position-y: -180px; }
}


/* ---- Tags and Comments ---- */
.like-unlike form > div { display: inline-block; } /* Like/Unlike Button, Rails creating superfluous div that is breaking lines */
form.delete_tag { display: inline; }
a.tag_component form { padding-left: 2px; margin-right: 0px !important; }
.comment-link { margin-left: 15px; } /* Space out like link and margin link */
.comment-form textarea { width: 100%; } /* Make Comment Form Span Full Width of Container */

 /* ---- Faceted Search ---- */
.search_refine ul li.refinable a.selected { color: #000; font-weight: bold; }

/* ---- Solvers List ---- */
.player-list .avatar { max-width: 65px; }
.metric-count a:hover, .solutions-count a:hover { color: #404040; text-decoration: none; }

/* ---- Profile Page ---- */
.nav-tabs li a:visited, .nav-pills li a:visited { color: #004b87; } /* Override MLC.css visited link for Tabs w/ Site6 Default */
.nav-pills li.active a { color: #fff; } /* Override MLC.css visited link for Tabs w/ Site6 Default */
.expand_collapse .expand_trigger { padding-top: 2px; }

/* ---- Players List ---- */
.player-list-modal .personal_profile, .player-list-modal .player-metrics, .player-list-modal form.sort, .player-list-modal .search-results-tools { display: none; }
.player-list-modal .table>tbody>tr>td { border: 0; }
.player-list-see-all { display: none; }
.player-list-modal .player-list-see-all { display: block; }

/* Solution Test Suite Messaging */
.code-output .error_message { color: #a94442; }

/* ---- Groups ---- */
.supported-products ul.chosen-choices { list-style-type: none; } 
.supported-products ul.chosen-choices li:before { content: none; }
table.recent_solvers tr:first-child td { border-top: none; }
.group_overview .panel-body.add_fixed_height_panel { height: 180px; overflow:hidden; }
.media-object.group_image { max-width: 58px; }
ul.group_problem_list li a { display: grid; grid-template-columns: 16px 1fr; grid-gap: 10px; }


/* ------------------------------------
$ Page Specific - Contests
------------------------------------ */

/* ----- Recent Finisher, Raffle Winner ----- */
.recent_finishers, .raffle_winner_container { display: flex; flex-flow: row wrap; justify-content: space-between; }
.recent_finishers .profile_image_container, .raffle_winner_container .profile_image_container { margin-bottom: 10px; height: 54px; width: 54px; border: 1px solid #ccc; border-radius: 4px; background-size: cover; background-position: center; }
.recent_finishers .profile_image_container a, .raffle_winner_container .profile_image_container a { height: 100%; width: 100%; text-align: center; justify-content: center; align-items: center; display: block;}
.recent_finishers .profile_image_container:last-child { border: 1px solid #95aa8b; background: #e0eddc; color: #88b679; font-size: 13px; font-weight: 600; display: flex;  align-items: center; justify-content: center; text-align: center; cursor: pointer; padding: 5px; }
.recent_finishers .profile_image_container:last-child a, .recent_finishers .profile_image_container:last-child a:visited { color: #88b679; text-decoration: none; }
@media (min-width: 992px) and (max-width: 1199px) {
  .recent_finishers .profile_image_container { height: 86px; width: 86px; margin-bottom: 20px; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .recent_finishers .profile_image_container { height: 72px; width: 72px; }
}
@media (min-width: 321px) and (max-width: 530px) {
  .recent_finishers .profile_image_container { height: 72px; width: 72px; }
}

/* ----- Cody: Contributors ----- */
.cody_contributors .contributor_name,
.cody_contributors .profile_image_container .overlay { display: none; }
.cody_contributors .profile_image_container { display: flex; align-items: center; justify-content: center; text-align: center; position: relative; padding: 10px; width: 100%; height: 100px; border: 1px solid #ccc;  border-radius: 4px;  background-size: cover; background-position: center; margin-bottom: 10px; }
.cody_contributors .profile_image_container:hover .overlay { display: block; position: absolute; height: 100%; width: 100%; background-color: rgba(255, 255, 255, 0.5); z-index: 1; }
.cody_contributors .profile_image_container:hover .contributor_name { display: flex; height: 100%; width: 100%; align-items: center; justify-content: center; color: #000; font-weight: bold; position: absolute; z-index: 2; cursor: pointer; }

/* ----- Cody: Participate & Win ----- */
.participate_description { background: linear-gradient(to right, rgba(255,255,255,1), rgba(216,233,244,1), rgba(216,233,244,0.4) ); }
.participate_prize { position: absolute; max-width: 25%; left: 0; }
.participate_description .description { margin-left: 40%; margin-right: 20px; padding: 20px 0 20px; }
.raffle_winners { width: 45%; }
@media (min-width: 992px) and (max-width: 1199px) {
  .participate_description .description { margin-left: 46%; }
}

/* ----- Cody: Want more Cody ----- */
#group_card .panel .panel-body p { font-size: 85%; }

/* ----- Global: Video Band ----- */
.band.add_video_background { padding: 0; overflow-x: hidden; overflow-y: hidden; }
.add_video_background video { position: absolute; width: 100%; }
.add_video_background .video_overlay { position: absolute; z-index: 1; width: 100%; height: 100%; }
.band.add_video_background .container { padding: 60px 15px 45px; }
/* ----- Global: Panel Type Card ----- */
.panel.add_panel_type_card .panel-heading { position: relative; padding: 0; }
.panel.add_panel_type_card:hover { box-shadow: 0 0 40px 2px rgba(0, 0, 0, 0.15); }
/* Card Header Overlay Styles */
.panel.add_panel_type_card .panel-heading .card_header_overlay { position: absolute; width: 100%; height: 100%; }
/* Font sizes for panel overlay large */
.panel.add_panel_type_card .card_header_overlay .card_title { font-size: 54px; }
/* Card Header Overlay Type */
.panel.add_panel_type_card .card_header_overlay.opacity_dark_8 { background-color: rgba(0, 0, 0, 0.8); }
.panel.add_panel_type_card .card_header_overlay.opacity_dark_6 { background-color: rgba(0, 0, 0, 0.6); }
.panel.add_panel_type_card .card_header_overlay.opacity_dark_4 { background-color: rgba(0, 0, 0, 0.4); }
.panel.add_panel_type_card .card_header_overlay.opacity_dark_2 { background-color: rgba(0, 0, 0, 0.2); }
/* ----- Global: Flexbox ----- */
/* Display Flex */
.add_display_flex { display: flex !important; }
/* Added to the _container_ */
.add_align_center { align-items: center; justify-content: center; }
/* Alignment helpers added to elements in the container */
.add_align_top { align-self: flex-start; }
.add_align_bottom { align-self: flex-end; }

/* ----- Global: Animation ----- */
.scale-up-center { animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both; }
.scale-down-center { animation: scale-down-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both; }

@keyframes scale-up-center {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.03);
  }
}

@keyframes scale-down-center {
  0% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}

/* ------------------------------------
$ Page Specific - Cody Solution Map
------------------------------------ */

/* ---- Solution List Page ---- */
.solution-results { position: relative; }
.solution-results.short { max-height: 200px; overflow: hidden; border-bottom: 1px solid #ccc; border-radius: 3px; }
.solution-results.expanded { max-height: none !important; }
.solution-results.expanded pre { padding-bottom: 30px; }
.solution-results.more { position: relative; }
a.full-code {	display: block;	position: absolute; z-index: 10; width: 100%; bottom: 0; margin: 0; padding: 5px 0; background: rgba(204,204,204,.5);	color: #333; text-align: center; line-height: 1; }
/* ---- End Solution List ---- */

/* ---- Badge Styles from Cody Classic ---- */
.badges-list .panel-body {
  min-height: 195px;
}

.badges-list .panel:hover {
  border-color: #e6e6e6;
  background-color: #f5f5f5;
}

.badges-list .badge-details, .badges-list .badge-bonus {
  display: none;
}

.badges-list .panel:hover .badge-details {
  display: block;
}

.badges-list .panel:hover .badge-bonus {
  display: inline-block;
}

.earned-badges div.badge-icon a {
	width:164px;
}

.badge-in-progress {
	display:block;
	width:57px;
	height:64px;
	overflow:hidden;
	margin:0 auto;
	background:url(/matlabcentral/images/badge-progress-empty.png) no-repeat top;
	text-align:left;
	position:relative;
}
.badge-in-progress .percent-solved {
	display:block; overflow:hidden;
	height:64px;
	background:url(/matlabcentral/images/badge-progress.png) no-repeat top left;
	max-width:100%;
}

/* ---- Solution Map Styles from Cody Classic ---- */
.solution_map_preview {
	display:block;
	height:250px;
	width:440px;
}

.solution_map_static_preview {
	display:block;
	height:200px;
	width:732px;
}

div.solution_map_container {
	display:block;
	overflow:hidden;
	text-align:left;
}
div.solution_map_container #solution_map_static {
	display:block;
	text-align:left;
}

#solution_map_static .jqplot-table-legend, #solution_map_full_view .jqplot-table-legend {
	width:130px;
}

#solution_map_static .jqplot-table-legend-swatch, #solution_map_full_view .jqplot-table-legend-swatch {
	width:10px;
}

#solution_map_static .jqplot-table-legend td, #solution_map_full_view .jqplot-table-legend td {
	padding-top:3px!important;
	font-size:10px;
}

/* ---- For Webkit renderer browsers, disabling div double click selection for solution map*/
#solution_map_full_view, #solution_map_static {
  -khtml-user-select: none;
}

table.jqplot-table-legend {
  border-collapse: separate !important;
}

.jqplot-table-legend-label {
	text-align: left;
}

/* ---- Taken from cody_app.css ---- */

#solution_map_static g { cursor: pointer; }

#solution_map_heading{
	text-align: center;
	position: relative;
	top:10px;
}

#solution_comments{
	margin-top: 15px;
}
/* ---- D3.js solution map points styles ---- */
path.solution_marker{
	fill: gray;
	stroke: gray;
}

path.Incorrect.active {
	fill: #e5580b;
	stroke: transparent;
	stroke-width:1;
}

circle.Leading{
	fill:blue;
}

path.Correct.active {
	fill:#fff;
	stroke: #1DA04E;
	stroke-width: 2;
}

path.Leading.active {
	fill: blue;
}

rect.legend_box {
	fill: #fff;
	stroke: #ccc;
	stroke-width: 1;
}

line.solid-line, line.dashed-line {
	stroke-width: 1.5;
	stroke: #000;
}

line.dashed-line {
	stroke-dasharray: 6,6;
}

line.Correct {
	stroke: #1DA04E;
}
line.Incorrect {
	stroke: #e5580b;
}
line.Leading {
	stroke: blue;
}

/* ---- D3.js solution map brush, axis, extent styles ---- */
.axis path {
	stroke: black;
	stroke-width: 1px;
}

.brush .extent {
  stroke: #fff;
  fill-opacity: .125;
  shape-rendering: crispEdges;
}

.domain {
  fill: none;
  stroke: black;
  stroke-width; 1;
}

.axis path,
.axis line {
  fill: none;
  stroke: #ccc;
  shape-rendering: crispEdges;
}

.extent {
  stroke: #fff;
  fill-opacity: .125;
  shape-rendering: crispEdges;
}

/* ---- D3.js solution map page styles ---- */

.solution_marker_group {
	padding-left: 10px;
}

#solution_compare{
	margin-top: 10px;
}

#solution_map_full_view text.label{
	font-size: 14px;
}

.solution_map_container text.label{
	fill:rgb(86, 84, 84);
}

.solution_marker text{
	cursor:default;
}

#solution_map_full_view g{
	cursor: pointer;
}

#solution_map_full_view g text.label {
  cursor: default;
}

.solution_map_preview{
	min-height: 220px;
	height: auto;
	margin-top: 5px;
	margin-left: 0px;
}

#changing_solution_help_text{
	text-align: center;
}

/*** D3.js solution map legend styles **/

.legend_group {
	stroke: 1px solid #00f;
}

g.legend_group path.Incorrect {
	fill: #e5580b;
	stroke: transparent;
	stroke-width:1;
}

g.legend_group path.Correct {
	fill:#fff;
	stroke: #1DA04E;
	stroke-width: 2;
}

g.legend_group path.Leading {
	fill: blue;
}

/* ---- Cody Create Problem WYSIWYG MATLAB Editor ---- */
.matlabmarkup-preview {
	width: 100% !important;
	margin: 20px 0 !important;
	border: 1px solid #c3c3c3;
	clear: left;
}
.matlabmarkup {
	margin-top:3px!important;
}

.matlabmarkup textarea {
  clear: left;
  height: 150px;
  margin: 0;
  background: none;
  background-color: #ffffff;
}

.matlabmarkup textarea.ui-resizable {
  display: block;
  resize: none;
  overflow: auto;
  border: 0;
  outline: none;
  padding: 0;
  font-size: 1.1em;
  font-family: monospace;
}

.matlabmarkup .ui-wrapper {
  position: relative !important;
  max-width: 100% !important;
  overflow: visible !important;
  margin: 0 !important;
  border: 1px solid #c3c3c3;
  padding: 5px;
}


.matlabmarkup-toolbar a {
  display: inline-block;
  height: 24px;
  width: 24px;
  overflow: hidden;
  margin: 0 4px 2px 0;
  padding: 3px 2px 1px 2px;
  border: 1px solid #a3a3a3;
  text-decoration: none;
  color: #686868;
  font-size: 8pt;
  line-height: 12pt;
  background: #fff url(/matlabcentral/cody/images/matlabmarkup.png) no-repeat 18px 18px;
}

.matlabmarkup-toolbar span {
  cursor: pointer;
  display: inline-block;
  text-indent: -9999px;
}

a.matlabmarkup-code span,
a.matlabmarkup-help span {
  text-indent: 0;
}

a.matlabmarkup-help {
  width: auto;
  margin: 0 0 0 25px;
  border: 1px solid transparent;
  padding: 3px 6px 1px 20px;
  background-color: transparent;
  background-position: 0 -107px;
}

a.matlabmarkup-code {
  width: auto;
  padding: 3px 6px 1px 22px;
  background-position: 2px -71px;
}

a.matlabmarkup-bold {
  background-position: 2px -53px;
}

a.matlabmarkup-italic {
  background-position: 1px -89px;
}

a.matlabmarkup-monospaced {
  background-position: 1px -214px;
}

a.matlabmarkup-hyperlink {
  background-position: 1px -143px;
}

a.matlabmarkup-image {
  background-position: 1px -161px;
}

a.matlabmarkup-numbered-list {
  background-position: 2px -125px;
}

a.matlabmarkup-bulleted-list {
  background-position: 2px 1px;
}

.matlabmarkup-preview-body {
  clear: both;
  overflow-x: auto;
  overflow-y: auto;
  border-top: 1px solid #eaeaea;
  background-color: #fdfdfd;
}

.matlabmarkup-preview-divider {
  overflow: hidden;
  padding: 0 5px;
  font-size: 8pt;
  font-weight: bold;
  background-color: #fafafa;
}

.matlabmarkup-preview-divider span {
  display: block;
  float: left;
  padding: 4px 0;
}

.matlabmarkup-preview-divider a {
  display: block;
  height: 16px;
  float: right;
  outline: none;
  padding: 4px 0 0;
  font-weight: normal;
  text-decoration: none;
  color: #686868;
  background: transparent url(/matlabcentral/cody/images/matlabmarkup.png) no-repeat 18px 18px;
}

.matlabmarkup-preview-divider a:active,
.matlabmarkup-preview-divider a:focus {
  outline: none;
}

.matlabmarkup-preview-divider .matlabmarkup-preview-refresh {
  margin-right: 20px;
  padding-left: 16px;
  background-position: 0 -18px;
}

.matlabmarkup-preview-divider .matlabmarkup-preview-toggle {
  width: 55px;
  padding-left: 14px;
  background-position: 0 -197px;
}

.matlabmarkup-preview-divider .off {
  background-position: 0 -179px;
}

.matlabmarkup-preview-divider .hidden {
  display: none;
}

.problem-form.matlabmarkup .ui-wrapper,
.problem-form textarea.ui-resizable,
.new_group textarea.ui-resizable {
  width: 100% !important;
  min-height: 193px;
  max-height: 400px;
  padding: 0;
  box-sizing: border-box;
	border-radius: 4px;
}
.problem-form textarea.ui-resizable, .new_group textarea.ui-resizable { padding: 5px; }
.matlabmarkup-preview-body { padding: 5px !important; }

.problem-form .matlabmarkup-preview { width: 580px; }

.problem-form .matlabmarkup-preview-body,
.new_group .matlabmarkup-preview-body {
  min-height: 150px;
  max-height: 300px;
}

.new_group .ui-wrapper.matlabmarkup-wrapper { padding: 0px; }

.code_template .rtePane .rteGutter { height: 100%; }

.code-output p code.add_text_wrapping {	word-break: break-word; }

.slic-wrapper {	width: 99%; }

.code-output div { white-space: pre !important; }

/* g2000656 - Bug with LTI overwriting pre behavior */
.matlabmarkup-preview pre.language-matlab {
  white-space: pre;
}

/* g2037319 - Bug with LTI breaking pre in more places */
.panel.panel-default .panel-body pre {
  white-space: pre;
}


/* End MATLAB RTC Editor */

.chosen-container { min-width: 200px; }

.problem-tags .multicomplete {
	border-radius: 4px;
}

/**** End Cody Classic Styles ***/



/* Mike: Fixes for recent_finishers */
.group_recent_finishers { overflow:hidden; }
.group_recent_finishers .profile_image { max-width:58px;  margin-right:10px; margin-bottom:10px; background-position:center center; background-repeat:no-repeat; background-size:cover; float:left; }
.group_recent_finishers .profile_image:last-child { margin-right:0; }
.group_recent_finishers a { width:58px; height:58px; display:block; }