h1 a {
  color: #54075b !important;
  display: block;
  transition: ease .3s all;
}

a {
  text-decoration: none;
}

a:hover {
  color: #c795c5 !important;
}

h1 {
  text-decoration: none !important; 
  margin-top: 50px !important; 
  font-size: 2rem !important; 
  line-height: 2rem; 
  font-weight: normal !important; 
  font-family: Montserrat, Arial, Helvetica, sans-serif; 
  text-align: left !important;
}

h2 {
  font: 1.2rem/1 'Montserrat', arial, helvetica, sans-serif !important;
}

div#content {
  font-family: "Montserrat" !important;
  font-size: .82rem !important;
}

#bloques {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 28px;
}

#bloques.nav .nav-link {
  vertical-align: middle;
  display: flex;
  justify-content: space-around;
  transition: ease .3s all;
  border-radius: 7px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#bloques.nav .nav-link:hover {
  background-color: #f2f2f2;
}

#bloques.nav .nav-link span {
  padding-left: 1% !important;
  min-width: 242px !important;
  padding: 0px 3% 0px 5%;
  transition: ease .4s all;
  font-size: .83rem !important;
  font-weight: bold;
  font-family: 'Montserrat';
  min-height: 55px;
  text-align: left;
  display: block;
  width: auto;
  margin-top: 0 !important;
}

.page-id-45993 #bloques.nav .nav-link span {
  margin-top: 7px;
  margin-bottom: 0px;
  min-height: 55px;
}

#bloques.nav .nav-link.active {
  background-color: #54075b !important;
  color: white !important;
  border-radius: 0px;
}

#bloques.nav .nav-link.horizonte {
  color: #54075b;
}

#bloques.nav .nav-link.garantia {
  color: #ca9dca;
}

#bloques.nav .nav-link.garantia.active {
  background-color: #ca9dca !important;
}

#bloques.nav .nav-link span {
  display: flex !important;
  flex-direction: column;
  justify-content: space-around;
}

@media only screen and (min-width: 801px) {
  body.programs main > div.fusion-row > #content #content { width: 63% !important; }
  body.programs main > div.fusion-row > #content #sidebar-2 { width: 34% !important; }
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, .1);
}


/****  ****/

#link_programa_pdf {
  margin-top: 20px !important;
  display: block;
  outline: none;
}

#link_programa_pdf img {
  transition: ease .4s all;
  border: 1px solid #eee;
}

#link_programa_pdf:hover img,
#link_programa_pdf:active img,
#link_programa_pdf:focus img {
  filter: brightness(119%) contrast(109%) !important;
  border: 1px solid #bababa;
  filter: none;
}

#share-box {
  margin-top: -10px;
  display: flex;
  justify-content: right;
  align-items: space-between;
  float: right;
  margin-bottom: 10px;
}

#share-box a {
  border-radius: 50%;
  margin-left: 10px !important;
  display: block;
  position: relative;
}

#share-box a>img {
  max-width: 35px;
  transition: ease .5s all;
  border-radius: 50%;
}

#share-box a:hover>img {
  filter: contrast(100%);
}

#share-box a:active img,
#share-box a:focus img,
#share-box a:hover img {
  box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 0px 8px 0 rgba(0, 0, 0, 0.2);
}

#share-box a img {
  box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 0px 1px 0 rgba(0, 0, 0, 0.2);
}

a.badge-secondary:hover {
  background-color: #6e6f71;
}

.btn.btn-link {
  color: black !important;
  white-space: normal !important;
}

.card {
  margin-bottom: 10px;
}

.card-body {
  padding: 15px 15px 15px 20px;
}

.card .card-header button strong {
  text-align: center;
  justify-content: center;
  min-width: 40px;
  display: flex;
  align-items: center;
  margin-left: -16px;
}

.card .card-header {
  padding: 0 !important;
}

.card .card-header h5 {
  margin-top: 0;
}

.card .card-header span {
  padding-left: 14px;
  border-left: 1px solid #ccc;
}

.card .card-header span,
.card .card-header strong {
  font-size: .83rem !important;
  letter-spacing: .3px;
}

.card .card-header span b,
.card .card-header strong {
  letter-spacing: 0;
}

.card .card-header button {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: .75rem 1.25rem;
}

.card .card-header button:hover,
.card .card-header button:active,
.card .card-header button:focus {
  background-color: #e7e7e7;
  text-decoration: none !important;
}

.card .card-header button:hover span,
.card .card-header button:active span,
.card .card-header button:focus span {
  border-left: 1px solid #888;
}

.card .card-header button:active span,
.card .card-header button:focus span,
.card .card-header button:active strong,
.card .card-header button:focus strong,
.single .card .card-header button strong,
.single .card .card-header button span {
  border-color: #54075b;
  font-weight: bold;
  letter-spacing: 0;
  color: #54075b;
}

.card .card-header button:active,
.card .card-header button:focus,
.single .card .card-header button {
  background-color: #e7e7e7;
}

.single .card .card-header button span {
  border-color: #54075b;
  background-color: #e7e7e7;
}

.card a {
  color: #54075b !important;
  text-decoration: underline !important;
}

.card a:hover {
  color: #ca9dca !important;
  text-decoration: underline;
}

::selection {
  background: #f3cdf3 !important;
}

mark {
  background-color: #f3cdf3 !important;
  display: inline-block !important;
  color: #662f62 !important;
  padding: 0 !important;
}

#search_div {
  margin-left: -20px;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-center !important;
  justify-content: center;
}

#search_div button,
#search_div input {
  margin-right: 0 !important;
  width: auto !important;
  display: inline !important;
  border: 1px solid #e7e6e6;
  font-size: 13px;
  color: #333333;
  display: block;
}

#search_div input[type="text"] {
  box-sizing: border-box;
  -webkit-box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.1);
  margin-right: 0 !important;
  width: auto !important;
  max-width: 210px;
  height: 33px;
  display: inline !important;
  border: 1px solid #e7e6e6;
  font-size: 13px;
  font-family: Montserrat;
  outline: none;
  border-radius: 0;
  max-width: 190px;
}

#search_div button.searchsubmit {
  padding: 5px 10px 7px 10px;
  flex-flow: 1;
  cursor: pointer;
  transition: ease .3s all;
}

#search_div button.searchsubmit:hover {
  background-color: #612d62;
  color: white;
}


/****  ****/

#materias {
  display: flex !important;
  flex-wrap: wrap;
}

.badge.badge-pill {
  font-family: 'Montserrat';
  font-weight: normal;
  color: #8b8b8b;
  padding: 7px 11px;
  margin: 3px;
  border-radius: 14px;
  border: 1px solid lightgrey;
  display: inline-block;
  background-color: white !important;
  white-space: normal;
  text-align: left;
  font-size: .74rem;
  line-height: 1rem !important;
  flex-grow: 1;
  text-align: center !important;
}

#mas-materia .badge.badge-pill {
  flex-grow: 0;
}

a.badge:focus,
a.badge:hover {
  text-decoration: none;
  cursor: pointer;
  background-color: lightgrey;
}

.badge.badge-pill.badge-primary {
  background-color: #54075b !important;
  color: white !important;
  font-weight: bold;
}

a.badge:focus,
a.badge:hover {
  text-decoration: none;
  cursor: pointer;
  background-color: #eee !important;
  color: #54075b !important;
  border-color: lightgrey !important;
}

a.badge-secondary {
  background-color: #c6cacb;
  transition: ease .4s all;
}

.b-description_readmore {
  position: relative;
  margin-bottom: 7px;
  padding-bottom: 10px;
}

.b-description_readmore_button {
  padding: 0 9px 15px 0 !important;
  border-radius: 14px;
  margin-top: -15px !improtant;
  margin-bottom: 15px !improtant;
  padding-bottom: 20px !improtant;
}

.b-description_readmore_button.b-description_readmore_button_active span:after,
.b-description_readmore_button span:after {
  font-family: 'FontAwesome';
  margin-right: 8px;
  font-family: 2rem;
  margin-left: 2px;
}

.b-description_readmore_button.b-description_readmore_button_active span:after {
  content: '\f106';
}

.b-description_readmore_button span:after {
  content: '\f107';
}

.b-description_readmore_button:hover {
  color: #54075b;
  cursor: pointer;
}

.b-description_readmore_ellipsis:after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 75%;
  height: 20px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 65%);
}

body.programs main > div.fusion-row > #content { width: 100%; }

body.programs .text-danger { color: #612d62 !important; }

body.programs .bg-danger { background-color: #f3cdf3 !important; }

.collapse.show { display: block; }
