/*  RESET
------------------------------------------------------------*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display:block;
}

nav ul { list-style:none; }

blockquote, q { quotes:none; }

blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }

a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }

ins { background-color:#ff9; color:#000; text-decoration:none; }

mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }

/* tables still need cellspacing="0" in the markup */
table { border-collapse:collapse; border-spacing:0; }

hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }

input, select { vertical-align:middle; }

/*------------------------------------------------------------
    FONT-FACE
------------------------------------------------------------*/

@font-face {
    font-family:"Open Sans Light";
    src: url("../fonts/opensans300.eot");
    src: url("../fonts/opensans300.eot?#iefix") format("embedded-opentype"),
         url("../fonts/opensans300.woff") format("woff"),
         url("../fonts/opensans300.ttf") format("truetype"),
         url("../fonts/opensans300.svg#OpenSans-Light") format("svg");
    font-weight:normal;
    font-style:normal;
}

@font-face {
    font-family:"Open Sans";
    src: url("../fonts/opensans500.eot");
    src: url("../fonts/opensans500.eot?#iefix") format("embedded-opentype"),
         url("../fonts/opensans500.woff") format("woff"),
         url("../fonts/opensans500.ttf") format("truetype"),
         url("../fonts/opensans500.svg#OpenSans") format("svg");
    font-weight:normal;
    font-style:normal;
}

@font-face {
    font-family:"Open Sans Semibold";
    src: url("../fonts/opensans600.eot");
    src: url("../fonts/opensans600.eot?#iefix") format("embedded-opentype"),
         url("../fonts/opensans600.woff") format("woff"),
         url("../fonts/opensans600.ttf") format("truetype"),
         url("../fonts/opensans600.svg#OpenSans-Semibold") format("svg");
    font-weight:normal;
    font-style:normal;
}

/*------------------------------------------------------------
    FX
------------------------------------------------------------*/

a,
a:before,
a:after,
input[type=submit] {
    -webkit-transition: background-color 200ms, color 200ms, border 200ms, opacity 200ms;
    -moz-transition: background-color 200ms, color 200ms, border 200ms, opacity 200ms;
    -o-transition: background-color 200ms, color 200ms, border 200ms, opacity 200ms;
    transition: background-color 200ms, color 200ms, border 200ms, opacity 200ms;
}

/*------------------------------------------------------------
    TYPOGRAPHY & LINKS
------------------------------------------------------------*/

html {
    -webkit-text-size-adjust: 100%;
}

body {
    font-size: 16px;
    line-height: 26px;
    font-family: 'Open Sans', sans-serif;
    color: #323232;
    -webkit-font-smoothing: subpixel-antialiased;
}

h2 {
    font-size: 30px;
    line-height: 36px;
    font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;
}

h3 {
    font-size: 24px;
    line-height: 30px;
    font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;
}

h4 {
    font-size: 20px;
    line-height: 25px;
}

h5 {
    font-size: 18px;
    line-height: 22px;
}

a {
    text-decoration: none;
    color: #bf0d25;
}

strong, b {
    font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;
}

nav.side a { color: #fff; }

a:hover, a:focus { text-decoration: underline; color: #d90f2a; }

blockquote p {
    border-left: 1px solid #bbb;
    padding-left: 15px;
    font-style: italic;
}

span.smaller {
    font-size: smaller;
}

span.larger {
    font-size: larger;
}


/*------------------------------------------------------------
    GLOBAL LAYOUT
------------------------------------------------------------*/

* {
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    width: 100%;
    background: #fffffc;
}

body {
    width: 100%;
    background:
        url("../images/backgroundnav.png") repeat-y left top transparent;
}

.no-js body, .ie7 body {
    background:
        url("../images/backgroundnavhead.png") no-repeat left 48px,
        url("../images/backgroundhead.png") repeat-x left 48px,
        url("../images/backgroundnav.png") repeat-y left 48px transparent;
}

/* Clearfix para o body */
body:before, body:after { content:""; display:table; }

body:after { clear:both; }

noscript, .ie-warning {
    background-color: #666;
    color: #FFFFFF;
    font-family: Arial,sans-serif;
    font-size: 16px;
    line-height: 24px;
    padding: 12px 0;
    text-align: center;
    width: 100%;
    display: block;
    height: 48px;
}

.ie-warning {
    height: auto;
}

.js noscript {
    display: none;
}

.side {
    float: left;
    width: 220px;
    min-height: 100%;
    position: relative;
    margin-left: 0;
    -webkit-transition: margin-left 200ms;
    transition: margin-left 200ms;
}

.inactivenav .side { margin-left: -220px; }

.menucabe .side {
    position: fixed;
    z-index: 10;
}

#main {
    min-width: 320px;
    width: 100%;
    -webkit-transition: margin-left 200ms;
    transition: margin-left 200ms;
}

#main .container {
    background: #fffffc;
    width: auto;
    overflow: hidden;
}

.activenav #main {
    margin-left: 220px;
}

#logos, #content, footer .wrapper {
    width: 100%;
    max-width: 1200px;
    padding: 0 30px;
    clear: both;
}

#logos {
    position: relative;
    margin: 20px auto 0;
    height: 84px;
    overflow: hidden;
}

#content {
    margin: 0 auto 25px;
    min-height: 1060px;
}

.maincol, .sidecol {
    overflow: hidden;
    float: left;
    padding: 0 3% 0;
    width: 100%;
    min-height: 940px;
    padding-bottom: 100px;
}

.sidecol { padding: 0 3% 0; }

#skip-link {
    font: 0/0 serif;
    text-shadow: none;
    color: transparent;
    position: absolute;
    top: 0;
    left: 0;
}

.element-invisible {
    display: none;
}


/*------------------------------------------------------------
    DRUPAL
------------------------------------------------------------*/

#admin-toolbar *, #toolbar, #toolbar * { -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/*------------------------------------------------------------
    LOGOS
------------------------------------------------------------*/

h1 {
    padding: 0 3%;
    height: 62px;
    display: block;
}

.logo  {
    height: 100%;
    display: block;
    padding: 0;
    float: left;
}

.logo img  {
    max-width: 100%;
    max-height: 100%;
    display: block;
}

.logoipl {
    display: none;
    position: absolute;
    top: 0;
    right: 25px;
    margin-right: 3%;
    width: 180px;
}


.logoipl img {
    width: 100%;
    display: block;
}

.logo35 {
    position: absolute;
    top: -4px;
    right: 4.5%;
    width: 15%;
    max-width: 72px;
}

.logo35 img {
    width: 100%;
    display: block;
}


/*------------------------------------------------------------
    NAV SIDE
------------------------------------------------------------*/

nav.side a {
    display: block;
}

.switch {
    height: 100px;
    width: 30px;
    position: fixed;
    top: 90px;
    z-index: 9999;
    background-image: url("../images/sprite.svg");
    background-repeat: no-repeat;
    background-color: #009C86;
    background-size: 600px 600px;
    cursor: pointer;
    -webkit-transition: left 200ms;
    transition: left 200ms;
}

.switch:hover, .switch:focus { background-color: #00b59c; }

.activenav .switch {
    left: 220px;
    background-position: 0 -159px;
}

.inactivenav .switch {
    left: 0px;
    background-position: 0 -39px;
}

.menumain {
    clear: both;
    padding: 30px 0;
    overflow: hidden;
    background: #008571;
}

.menumain li {
    width: 100%;
    padding: 0 25px 0 0;
}

.menumain a {
    font-size: 16px;
    line-height: 30px;
    padding: 0 0 0 20px;
    position: relative;
}

:lang(en) .menumain a {
    font-size: 14px;
}

.menumain a:hover,
.menumain a:focus {
    text-decoration: none;
    background: #009985;
}

.menumain a.active,
.menumain a.activetrail,
.menumain a.active:hover,
.menumain a.activetrail:hover,
.menumain a.active:focus,
.menumain a.activetrail:focus {
    text-decoration: none;
    background: #00a690;
    color: #ffffff;
}

.menumain a:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    right: -10px;
    top: 0;
    border-style: solid;
    border-width: 15px 0 15px 10px;
    border-color: transparent;
}

.menumain a:hover:after,
.menumain a:focus:after {
    border-color: transparent transparent transparent #009985;
}

.menumain a.active:after,
.menumain a.activetrail:after,
.menumain a.active:hover:after,
.menumain a.activetrail:hover:after,
.menumain a.active:focus:after,
.menumain a.activetrail:focus:after {
    border-color: transparent transparent transparent #00a690;
}

.langswitch {
    padding: 20px 20px 10px;
    overflow: hidden;
    background: #008571;
    display: block;
    width: 70px;
    float: left;
}

.langswitch a {
    display: block;
    font-size: 12px;
    line-height: 16px;
    padding: 4px 0 0;
    border: 2px solid #009985;
    text-decoration: none;
    text-align: center;
    height: 30px;
    opacity: .9;
}

.langswitch a:hover,
.langswitch a:focus {
    background-color: #009985;
    text-decoration: none;
    opacity: 1;
}

#views-exposed-form-procurar-page {
    padding: 0 20px 10px;
    overflow: hidden;
    background: #008571;
    float: left;
}

.langswitch li.active {
    display: none;
}

.socialandsub {
    background: #008571;
    padding: 20px 0px 10px;
}

.socialandsub ul {
    overflow: hidden;
}

.socialandsub .button {
    float: left;
}

.socialandsub .button + .button {
    margin-left: 3px;
}

.socialandsub a {
    position: relative;
    padding-left: 30px;
    margin: 0;
    width: 30px;
    height: 30px;
    overflow: hidden;
    float: left;
    opacity: .9;
}

.socialandsub a:before {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background: url(/sites/default/themes/estesl/images/sprite.svg);
    background-size: 600px 600px;
    left: 5px;
    top: 5px;
}

a.faceb:before { background-position: -365px -95px; }
a.lkdin:before { background-position: -395px -95px; }
a.sbrss:before { background-position: -425px -95px; }
a.sbnsl:before { background-position: -455px -95px; }

.socialandsub a:hover,
.socialandsub a:focus {
    background-color: #009985;
    text-decoration: none;
    opacity: 1;
}












#views-exposed-form-procurar-page label {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px,1px,1px,1px);
}

#views-exposed-form-procurar-page div { float: left; }

#views-exposed-form-procurar-page .form-text {
    width: 150px;
    background: #00705f;
    color: #ffffff;
    display: block;
    font-size: 14px;
    line-height: 18px;
    padding: 6px 10px;
    outline-style: none;
    border: none;
    margin: 0;
}

#views-exposed-form-procurar-page .form-submit {
    border: none;
    display: block;
    height: 30px;
    width: 30px;
    background: url("../images/sprite.svg") no-repeat 0 0 #00705f;
    color: white;
    padding: 0;
    margin: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
}

#views-exposed-form-procurar-page .form-submit:hover,
#views-exposed-form-procurar-page .form-submit:focus { background-color: #009985; }

#views-exposed-form-procurar-page input::-webkit-input-placeholder {
  color: #fff;
}

#views-exposed-form-procurar-page input::-moz-placeholder {
  color: #fff;
}

#views-exposed-form-procurar-page input:-ms-input-placeholder {
  color: #fff;
}

.view-procurar .result h3 {
    margin-bottom: 10px;
}




.menuilinks {
    padding: 30px 0;
    overflow: hidden;
}

.menuilinks li {
    width: 100%;
    padding: 0 20px;
}

.menuilinks a {
    font-size: 13px;
    line-height: 16px;
    padding: 6px 0;
    position: relative;
}








.menuelinks {
    padding: 0;
    overflow: hidden;
}

:lang(en) .menuelinks {
    padding-top: 30px;
}

.menuelinks li {
    width: 100%;
    padding: 0 25px 0 20px;
}

.menuelinks span {
    position: relative;
    padding: 6px 0 6px 30px;
    display: block;
    font-size: 13px;
    line-height: 16px;
}

.menuelinks span:before {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    background: url(/sites/default/themes/estesl/images/sprite.svg);
    background-size: 600px 600px;
    left: 0;
    top: 2px;
}

.menuelinks .elink-16:before { background-position: -155px -95px; }
.menuelinks .elink-17:before { background-position: -185px -95px; }
.menuelinks .elink-925:before { background-position: -215px -95px; }
.menuelinks .elink-924:before { background-position: -245px -95px; }
.menuelinks .elink-18:before { background-position: -275px -95px; }
.menuelinks .elink-926:before { background-position: -305px -95px; }
.menuelinks .elink-927:before { background-position: -335px -95px; }
.menuelinks .elink-31202:before,
.menuelinks .elink-31341:before { background-position: -575px -95px; }
.menuelinks .elink-42714:before { background-position: -154px -215px; }


/*------------------------------------------------------------
    LAYOUT - BANNER
------------------------------------------------------------*/

.banner {
    width: 100%;
    display: none;
    padding: 0 3%;
}

.banner img {
    width: 100%;
    height: auto;
    display: block;
    padding: 0;
    margin: 0;
}

/*------------------------------------------------------------
    LAYOUT - MAINCOL
------------------------------------------------------------*/

.maincol h2 {
    margin: 0 0 30px;
}

.maincol h2 span.contenttype {
    margin-top: 6px;
    display: block;
    color: #8C8C8B;
    font-family: 'Open Sans', sans-serif;
    font-weight: normal;
    font-size: 16px;
    line-height: 20px;
}

.maincol h3 {
    margin-bottom: 20px;
}

.maincol h4 {
    margin-bottom: 20px;
}

.maincol p {
    margin-bottom: 20px;
}

.maincol p.nota, .maincol td.nota, .maincol span.nota {
    font-size: 12px;
    color: #8C8C8B;
    line-height: 18px;
}

.maincol .liga {
    /* Formatação caixa de ligações */
    border: 2px solid #f5f5f0;
    padding: 20px;
    margin: 30px 0;
    background: #fff;
}

span.nota, span.liga {
    display: block;
}

.maincol ul {
    padding-left: 15px;
    margin-bottom: 20px;
}

.maincol ol {
    padding-left: 20px;
    margin-bottom: 20px;
}

.maincol li {
    list-style-position: outside;
}

.maincol ul li { list-style-image: url("../images/iconlistbullet.svg"); }

.maincol table {
    width: 100%;
    margin-bottom: 40px;
    border-collapse: collapse;
    border-spacing: 0;
}

.maincol thead, tbody {
    width: 100%;
    text-align: left;
}

.maincol thead tr, .maincol tbody tr {
    border-bottom: 1px solid #DEDED9;
}

.maincol tbody tr.views-row-last {
    border-bottom: none;
}

.maincol thead, .maincol table tr:first-child {
    background: url("../images/backgroundmask2.png") repeat transparent;
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
}

.maincol table.views-table tr:first-child {
    background: none;
    font-family: 'Open Sans',Arial,sans-serif;
    font-weight: normal;
}

.maincol th, .maincol td {
    padding: 8px 10px;
    font-size: 13px;
    line-height: 16px;
}

table .hide {
    display: none;
}

.maincol img {
    max-width: 100%;
    width: auto;
    height: auto;
}

.organo {
    width: 240px !important;
    height: 240px !important;
    margin: 40px 0 80px;
}

.maincol .imagecaption {
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #e5e6d8;
    display: inline-block;
}

.maincol .imagecaption img, .maincol .imagecaption object {
    border: none;
    display: block;
    float: none;
    margin-bottom: 10px;
}

.maincol .imagecaption p {
    margin-bottom: 0;
    padding: 5px;
    font-size: 12px;
    line-height: 14px;
    color: #8C8C8B;
}

.maincol .video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    display: block;
}

.maincol iframe {
    max-width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.maincol p > iframe {
    width: 100%;
    min-height: 400px;
    height: auto;
    position: relative;
}

.maincol div {
    background: none;
}

.maincol div .row {
    border: none;
    border-top: 1px dashed #E5E4E1;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.maincol div .column {
    border: none;
    padding: 5px 0 0;
    margin: 0;
}

.maincol .pager {
    overflow: hidden;
    margin-top: 10px;
    padding-top: 20px;
    overflow: hidden;
    border-top: 1px solid #E5E6D8;
    padding-bottom: 10px;
    padding-left: 0;
}

.maincol .pager li {
    float: left;
    list-style: none;
    font-size: 16px;
    line-height: 16px;
    padding-left: 0;
    text-indent: 0;
}

.maincol .pager-previous a, .maincol .pager-next a {
    display: block;
    height: 30px;
    width: 30px;
    text-indent: -9999px;
    margin-right: 15px;
    background-image: url("../images/sprite.svg");
    background-repeat: no-repeat;
}

.maincol .pager-previous a { background-position: -120px -30px; }
.maincol .pager-previous a:hover,
.maincol .pager-previous a:focus { background-color: #f5f5f0; background-position: -120px -90px; }


.maincol .pager-next a { background-position: -120px 0; }
.maincol .pager-next a:hover,
.maincol .pager-next a:focus { background-color: #f5f5f0; background-position: -120px -60px; }

.maincol .pager-current { padding-top: 8px; margin-right: 15px; }


/* div standard styles */

.maincol div.l0, .maincol div.l1, .maincol div.l2 { background: none; }

.maincol div.l0 { border: none; padding: 0; margin: 30px 0; }

.maincol div.l1, .maincol div.l2, .maincol div.l3, .maincol div.l4 {
    border: 1px solid #e5e6d8;
    padding: 20px 20px 0;
    margin: 30px 0;
}

.maincol div.l3, .maincol div.l4 {
    background: #fff;
}

.maincol div.l4 { border: 6px solid #d7aeb3; padding: 20px 15px 0; }

.maincol div.l0 h3, .maincol div.l1 h3 { font-size: 16px; line-height: 20px; margin-bottom: 5px; }
.maincol div.l2 h3 { font-size: 17px; line-height: 22px; margin-bottom: 15px; }
.maincol div.l3 h3 { margin-bottom: 30px; }
.maincol div.l4 h3 { font-size: 24px; line-height: 30px; }

.maincol div.l0 p, .maincol div.l1 p { font-size: 13px; line-height: 20px; }

.maincol div.halfcolleft div { padding: 20px 20px 0; margin: 0; }
.maincol div.halfcolright div { padding: 20px 20px 0; margin: 0; }


/* fields and views overrides */

.ensino .node-licenciatura .halfcolright+p { clear: left; }
.node-licenciatura .licenciatura-outrasinfo{ margin-top: 30px; }

.ensino .node-licenciatura .sp a {
    margin-top: -5px;
    margin-bottom: 15px;
    display: block;
    font-size: 13px;
}

.maincol div.ucft { margin-top: 0; }

.maincol div.ucft .list { padding: 0; overflow: hidden;}

.maincol div.ucft .list p { float: left; }

.maincol div.ucft .list p + p:before { content: ", "; }

.maincol div.ucft p {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 18px;
}

.maincol div.ucft p.label {
    font-size: 11px;
    line-height: 16px;
    margin-bottom: 0;
    color: #8C8C8B;
}

.maincol div.ucft p.lastitem {
    margin-bottom: 20px;
}

.maincol .ucft ~ .l2 {
    clear: left;
}

.maincol div.acuc h4 {
    font-size: 12px;
    line-height: 16px;
    margin-bottom: 10px;
    color: #8C8C8B;
    font-family: 'Open Sans', sans-serif;
    font-weight: normal;
}

.maincol div.ndservico li span {
    display: block;
    font-size: 12px;
    line-height: 16px;
    margin-bottom: 10px;
    color: #8C8C8B;
    font-family: 'Open Sans', sans-serif;
    font-weight: normal;
}

.maincol div.timetables h3 {
    font-size: 17px;
    line-height: 22px;
    clear: left;
}

.timetables li ul {
    padding-left: 0;
    overflow: hidden;
    margin-bottom: 4px;
}

.timetables li p {
    margin-bottom: 0;
}

.timetables li li {
    list-style: none;
    float: left;
    line-height: 14px;
}

.timetables li li + li:before {
    content: "/";
    margin: 0 4px;
}

.timetables li span {
    text-transform: uppercase;
    font-size: 11px;
    color: #666;
}

.maincol div.cl { clear: left; }

.maincol div.cl h3, .maincol div.cm h3 { font-size: 17px; line-height: 22px; margin-bottom: 15px; }
.maincol div.cl, .maincol div.cm { font-size: 13px; line-height: 20px; }

.maincol div.pe h4 {
    margin-bottom: 0;
}

.maincol div.pe h5, .maincol div.pe h6 {
    font-family: 'Open Sans', sans-serif;
    font-weight: normal;
    font-size: 12px;
    color: #323232;
    margin-bottom: 5px;
}

.maincol div.planoestudomestrado {
    overflow: hidden;
    padding-bottom: 24px;
    background: #f5f5f0;
}

.maincol div.planoestudomestrado * {
    line-height: 20px;
}

.maincol div.planoestudomestrado > .group {
    clear: left;
    width: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e5e6d8;
    margin-top: 40px;
    padding: 20px;
}

.maincol div.planoestudomestrado > .group > .group {
    width: 47%;
    float: left;
}

.maincol div.planoestudomestrado > .group > .group + .group {
    margin-left: 6%;
}

.maincol div.planoestudomestrado h3 {
    margin-bottom: 0;
}

.maincol div.planoestudomestrado ul {
    margin-bottom: 0;
}

.maincol div.planoestudomestrado a {
    font-size: 13px;
}

.maincol div.planoestudomestrado.planocomramos {
    padding-bottom: 24px;
    background: #f5f5f0;
}

.maincol div.planoestudomestrado.planocomramos > .group {
    border: 1px solid #e5e6d8;
    background: #fff;
    margin-top: 0;
    padding: 0;
}

.maincol div.planoestudomestrado.planocomramos > .group.tronco {
    border: 1px solid #000;
    padding-top: 20px;
}


.maincol div.planoestudomestrado.planocomramos > .group + .group {
    margin-top: 10px;
}

.maincol div.planoestudomestrado.planocomramos > .group > .group {
    width: 100%;
    float: none;
    padding: 0 20px 20px;
    max-height: auto;
    overflow: hidden;
}

.maincol div.planoestudomestrado.planocomramos > .group.ready > .group {
    -webkit-transition: all 200ms;
    transition: all 200ms;
}


.maincol div.planoestudomestrado.planocomramos > .group > h4 + .group {
    margin-top: 25px;
}

.maincol div.planoestudomestrado.planocomramos > .group > .group > .group {
    width: 47%;
    float: left;
}

.maincol div.planoestudomestrado.planocomramos > .group > .group + .group{
    margin-left: 0;
}

.maincol div.planoestudomestrado.planocomramos > .group > .group > .group + .group {
    margin-left: 6%;
}

.maincol div.planoestudomestrado.planocomramos h4 {
    border-bottom: none;
    padding: 20px;
    margin-top: 0;
    position: relative;
    font-size: 15px;
}

.maincol div.planoestudomestrado.planocomramos > h4 {
    padding: 0;
    font-size: 19px;
    margin: 40px 0 20px;
}

.maincol div.planoestudomestrado.planocomramos > .group.ready h4 {
    -webkit-transition: all 200ms;
    transition: all 200ms;
}

.maincol div.planoestudomestrado.planocomramos h5 {
    font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;
    border-bottom: 2px solid #595959;
    padding-bottom: 6px;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 17px;
    font-size: 17px;
    color: #323232;
}

.maincol div.planoestudomestrado.planocomramos > .group > .group .views-table {
    margin-top: 0;
}

.maincol div.planoestudomestrado.planocomramos > .group > .group > h5 + .views-table {
    margin-top: 15px;
}

.maincol div.planoestudomestrado.planocomramos h6 {
    text-align: left;
    font-size: 15px;
    line-height: 18px;
    font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;
    color: #323232;
    margin-bottom: 5px;
}






.maincol div.planoestudomestrado.planocomramos > .group.hidden > h4 {
    padding: 10px 20px;
}

.maincol div.planoestudomestrado.planocomramos > .group > h4:after {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    right: 13px;
    top: 4px;
    background: url(../images/sprite.svg) no-repeat -97px -6px transparent;
    background-size: 900px 900px;
}

.maincol div.planoestudomestrado.planocomramos > .group.visible > h4 {
    font-size: 20px;
}

.maincol div.planoestudomestrado.planocomramos > .group.visible > h4:after {
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    top: 13px;
}

.maincol div.planoestudomestrado.planocomramos > .group.hidden > .group {
    max-height: 0;
    padding-bottom: 0;
    margin-top: 0;
}







.maincol .logo {
    border: none;
    display: inline-block;
    float: left;
    margin: 0 20px 20px 0;
    width: 20%;
    padding: 0;
}

.maincol .logo img {
    width: 100%;
    height: auto;
}

.maincol div#emcandidaturas h4 {
    margin-bottom: 10px;
}

.maincol div#emcandidaturas .candidateform {
    margin-bottom: 40px;
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
    display: block;
    line-height: 19px;
}

.maincol div#emcandidaturas .candidateform span {
    font-size: 20px;
    line-height: 24px;
    display: block;
}

.maincol div#emcandidaturas .candidateform span {
    font-size: 20px;
    line-height: 24px;
    display: block;
}

.pagejump {
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
    font-size: 15px;
    line-height: 20px;
    height: 138px;
    width: 138px;
    float: right;
    text-align: center;
    background: url("../images/sprite.svg") no-repeat -454px -300px transparent;
    border: none;
    padding: 50px 15px;
    margin: -62px -14px 20px 20px;
    color: white;
}

.pagejump:hover,
.pagejump:focus {
    background-position: -454px -450px;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

.pagejump span {
    font-family: 'Open Sans',Arial,sans-serif;
    font-weight: normal;
    font-size: 11px;
    display: block;
}

.pagejump:hover span,
.pagejump:focus span {
    text-decoration: none;
}

.maincol div.rset {
    padding: 0;
    overflow: hidden;
    border: none;
}

.maincol div.rset .lineitem {
    border: none;
    width: 100%;
    padding: 0 60px 0 0;
    margin: 0;
}

.maincol div.rset .lineitem img {
    width: 100%;
    height: auto;
    display: block;
}

.maincol div.rset .lineitem h3 {
    margin: 10px 0 40px;
    width: 100%;
    font-size: 15px;
    line-height: 20px;
}

.maincol div.rset .lineitem h3 {
    margin: 10px 0 40px;
    width: 100%;
    font-size: 15px;
    line-height: 20px;
}

.user .maincol h2 { margin-bottom: 0; }

.user .maincol .doccat {
    margin-top: 6px;
    color: #8C8C8B;
    font-family: 'Open Sans', sans-serif;
    font-weight: normal;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 30px;
}

.maincol div.doccat p {
    font-size: 13px;
    line-height: 18px;
    margin-bottom: 10px;
}

.maincol .mainimg a {
    display: block;
}

.maincol .secimgs {
    margin-top: 40px;
    overflow: hidden;
}

.maincol .secimgs a {
    display: block;
    float: left;
    width: 20%;
    margin-right: 3%;
    margin-bottom: 20px;
}

.maincol .mainimg img, .maincol .secimgs img {
    width: 100%;
    height: auto;
    display: block;
}

.maincol .secimgs a {
    display: block;
    border: 2px solid #f5f5f0;
}

.maincol .secimgs a:hover,
.maincol .secimgs a:focus {
    border-color: #d90f2a;
    opacity: .8;
}

.maincol .secimgs img {
}


/* -NOTICIAS PAGE- */

.noticias .maincol article {
    overflow: hidden;
    padding-bottom: 15px;
    padding-top: 10px;
}

.noticias .maincol h2+article { padding-top: 0; }

.noticias .maincol h3 {
    margin-bottom: 5px;
    font-size: 17px;
    line-height: 22px;
}

.noticias .maincol article > a {
    display: block;
    border: 2px solid #f5f5f0;
    width: 33.3333%;
    float: left;
}

.noticias .maincol article > a:hover,
.noticias .maincol article > a:focus {
    border-color: #d90f2a;
}

.noticias .maincol img {
    overflow: hidden;
    width: 100%;
    display: block;
}

.noticias .maincol div.sumanddate {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
}

.noticias .maincol p {
    margin-bottom: 5px;
    line-height: 23px;
}

.noticias .maincol .meta,
.node-noticia .meta {
    font-size: 12px;
    color: #8C8C8B;
    line-height: 18px;
    display: block;
    font-family: 'Open Sans', sans-serif;
}

/* -DATES- */

html:lang(pt-pt) .date-display-single,
html:lang(pt-pt) .date-display-start,
html:lang(pt-pt) .date-display-end,
html:lang(pt-pt) .sumanddate .meta,
html:lang(pt-pt) .node-noticia .meta { text-transform:lowercase; }

/* -AGENDA PAGE- */

.maincol div.calendar-nav {
    overflow: hidden;
    margin-bottom: 0;
    border: none;
    background: #f5f5f0;
}

.maincol div.calendar-nav .prev a,
.maincol div.calendar-nav .next a {
    text-transform: lowercase;
}

.maincol div.calendar-nav h3 {
    float: left;
    margin-bottom: 20px;
    line-height: 28px;
    font-size: 22px;
    text-transform: lowercase;
}

.calendar-nav ul {
    overflow: hidden;
    float: right;
    clear: left;
    margin-bottom: 10px;
    margin-top: 5px;
}

.calendar-nav ul li {
    list-style: none;
    float: left;
}

.calendar th.days {
    font-size: 14px;
    text-align: center;
}

html:lang(pt-pt) .calendar th.days {
    text-transform: lowercase;
}

.agenda .tag {
    font-size: 12px;
    line-height: 14px;
    color: #8C8C8B;
    margin-bottom: 4px;
}

.agenda .tag:before {
    font-family: 'Open Sans',Arial,sans-serif;
    content: "\2022";
    font-size: 33px;
    float: left;
    margin: 0 4px 0 -2px;
}

.agenda .tag.cat181:before { color: #e69138; } /* candidaturas */
.agenda .tag.cat184:before { color: #41bcd5; } /* calendario */
.agenda .tag.cat180:before { color: #cc4125; } /* eventos científicos */
.agenda .tag.cat185:before { color: #8a72b1; } /* eventos pedagogicos */
.agenda .tag.cat319:before { color: #e676ff; } /* eventos institucionais */
.agenda .tag.cat183:before { color: #a4c624; } /* servicos comunidade */
.agenda .tag.cat182:before { color: #3d85c6; } /* provas publicas */

.agenda div.list {
    border: none;
    padding: 0;
}

.agenda div.list article {
    margin: 40px 0;
}

.agenda div.list article h3 {
    margin-bottom: 3px;
    font-size: 17px;
    line-height: 22px;
}

.agenda article .date {
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
    font-size: 13px;
    line-height: 15px;
    color: #323232;
    margin-bottom: 15px;
}

/* -EVENTO PAGE- */

.evento .maincol h2 {
    margin-bottom: 0;
}

.evento .maincol .date {
    margin-top: 8px;
    font-size: 14px;
    line-height: 17px;
    margin-bottom: 0;
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
}

.evento .maincol .date+.date { margin-top: 1px; }

.evento .maincol .place {
    margin-top: 6px;
    color: #8C8C8B;
    font-family: 'Open Sans', sans-serif;
    font-weight: normal;
    font-size: 13px;
    line-height: 16px;
    margin-bottom: 30px;
}

/* -USER LOGIN- */

.ofertasemprego table { margin-bottom: 20px; }

/* -USER LOGIN / NEWSLETTER- */

#user-login div,
#user-pass div,
#user-pass-reset div,
.simplenews-subscribe div {
    padding: 15px 0;
    border: none;
}

#user-login .description {
    display: none;
}

#user-login label,
#user-pass label,
.simplenews-subscribe label {
    float: none;
    display: block;
}

#user-login #edit-name,
#user-pass #edit-name,
#user-login #edit-pass,
.simplenews-subscribe #edit-mail,
.webform-client-form .form-email {
    margin-top: 10px;
    display: block;
    width: 100%;
    background: #fff;
    color: #000;
    padding: 10px;
    display: block;
    font-size: 14px;
    line-height: 22px;
    outline-style: none;
    border: 2px solid #e5e6d8;
}

#user-login #edit-submit,
#user-pass #edit-submit,
#user-pass-reset #edit-submit,
.simplenews-subscribe .form-submit,
#simplenews-confirm-add-form #edit-submit,
.webform-client-form .form-submit {
    margin-top: 30px;
    width: 100%;
    height: 40px;
    background: url(/sites/default/themes/estesl/images/sprite2.svg) no-repeat right -10px #e8e8d9;
    border: none;
    font-size: 16px;
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
    padding: 2px 55px 0 15px;
    color: #990b1e;
    text-align: left;
    cursor: pointer;
}

#user-login #edit-submit:hover,
#user-pass #edit-submit:hover,
#user-pass-reset #edit-submit:hover,
.simplenews-subscribe .form-submit:hover,
#simplenews-confirm-add-form #edit-submit:hover,
.webform-client-form .form-submit:hover,
#user-login #edit-submit:focus,
#user-pass #edit-submit:focus,
#user-pass-reset #edit-submit:focus,
.simplenews-subscribe .form-submit:focus,
#simplenews-confirm-add-form #edit-submit:focus,
.webform-client-form .form-submit:focus {
    background: url(/sites/default/themes/estesl/images/sprite2.svg) no-repeat right -70px #f0f0e1;
    color: #da1f2c;
}

.webform-client-form .form-submit,
.webform-client-form .form-email {
    margin-top: 16px;
}

.maincol .messages {
    padding: 20px !important;
    background: #fafaa5;
    margin-bottom: 20px;
}

#simplenews-confirm-add-form #edit-cancel { padding-left: 20px; }

/* -OFERTAS DE EMPREGO- */

.emailform .webform-client-form div { background: none; }


/*------------------------------------------------------------
    LAYOUT - SIDECOL
------------------------------------------------------------*/

.sidecol nav, .sidecol > div {
    background: none;
    border: 2px solid #f5f5f0;
    padding: 13px 18px;
    margin-bottom: 20px;
}

.sidecol nav { background: #f5f5f0; }; }

.sidecol div div {
    background: none;
    border: none;
    padding: 0;
    margin-bottom: 0;
}

.sidecol h2, nav.tree h2 a {
    font-size: 18px;
    line-height: 23px;
    margin-bottom: 10px;
    background-image: none;
    color: #323232;
    padding: 0;
}

.user nav.tree { display: none; }

nav.tree ul ul { padding: 0 0 6px; }

nav.tree li li { margin-left: 14px; }

nav.tree a {
    font-size: 13px;
    line-height: 16px;
    padding: 4px 0 4px 18px;
    display: block;
    margin-bottom: 1px;
    position: relative;
}

nav.tree a.active-trail.active {
    font-weight: bold;
    color: #000;
}

nav.tree li.expanded a:before,
nav.tree li.collapsed a:before,
nav.tree li.leaf a:before {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    background: url(/sites/default/themes/estesl/images/sprite.svg);
    background-size: 600px 600px;
    left: 0;
    top: 3px;
}

nav.tree li.expanded a:before { background-position: -70px -6px; }
nav.tree li.collapsed a:before { background-position: -40px -6px; }
nav.tree li.leaf a:before { background-position: -100px -96px; }

.noticias nav.tree .views-summary { text-transform: lowercase; }

.noticias nav.tree a:before,
.noticia nav.tree a:before {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    background: url(/sites/default/themes/estesl/images/sprite.svg);
    background-size: 600px 600px;
    background-position: -100px -96px;
    left: 0;
    top: 3px;
}

.sidecol div.news {
    background: none;
    padding-bottom: 7px;
}

.sidecol .news li {
    list-style-type: none;
    padding-bottom: 8px;
}

.sidecol .news a {
    font-size: 12px;
    line-height: 16px;
    display: block;
}

.sidecol .contacts h3, .sidecol .emailform h3 {
    font-size: 19px;
    line-height: 24px;
    margin-bottom: 10px;
}

.sidecol .contacts h3 span {
    font-size: 12px;
    line-height: 16px;
    display: block;
    font-family: 'Open Sans',Arial,sans-serif;
    font-weight: normal;
}

.sidecol .contacts p, .sidecol .emailform p {
    font-size: 12px;
    line-height: 16px;
    margin-bottom: 0;
}

.sidecol .seemore, .sidecol .subscribe {
    font-size: 16px;
    line-height: 16px;
    font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;
    padding: 18px 20px;
}

.sidecol .subscribe span {
    display: block;
    font-size: 12px;
    line-height: 12px;
    margin-top: 4px;
    font-family: 'Open Sans', sans-serif;
}

.sidecol .horarios,
.sidecol .disserta,
.sidecol .comomecandidatar {
    position: relative;
}

.sidecol .horarios:after,
.sidecol .disserta:after,
.sidecol .comomecandidatar:after {
    content: "";
    position: absolute;
    right: 14px;
    top: 6px;
    width: 30px;
    height: 30px;
    background-image: url("../images/sprite.svg");
    background-repeat: no-repeat;
}

.sidecol .horarios:after {
    background-position: -510px 0px;
}

.sidecol .disserta:after {
    background-position: -480px 0px;
}

.sidecol .comomecandidatar:after {
    background-position: -540px 0px;
}


.sidecol .horarios a, .sidecol .disserta a {
    display: block;
    font-size: 13px;
    line-height: 16px;
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
    padding-right: 20px;
}

.sidecol .horarios span, .sidecol .disserta span {
    font-size: 16px;
    line-height: 18px;
    display: block;
}

.sidecol .horarioslicenciatura ul {
    overflow: hidden;
}

.sidecol .horarioslicenciatura li {
    display: block;
    float: left;
    font-size: 12px;
    line-height: 16px;
    padding-right: 0;
}

.sidecol .horarioslicenciatura a {
    padding-right: 0;
    display: inline;
}

.sidecol .horarioslicenciatura li+li:before {
    content: "/";
    float: left;
    margin: 0 4px;
}

.sidecol .comomecandidatar a {
    display: block;
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
    font-size: 16px;
    line-height: 16px;
    padding-right: 20px;
}

.sidecol .testemunhos p {
    font-size: 13px;
    line-height: 18px;
}

.sidecol .testemunhos blockquote {
    margin-top: 12px;
    margin-bottom: 12px;
}

.sidecol .testemunhos blockquote p {
    padding-left: 8px;
    border-left: 2px solid #f5f5f0;
}

.sidecol .fuc a {
    display: block;
    font-size: 14px;
    line-height: 16px;
    font-family: 'Open Sans',Arial,sans-serif;
    font-weight: normal;

}

.sidecol .fuc span { font-size: 16px; line-height: 18px; font-family: 'Open Sans Semibold',Arial,sans-serif; }

.maincol .fuc {
    background: #fff;
    border: 1px solid #e5e6d8;
    padding: 13px 18px;
    margin-bottom: 20px;
}

.maincol .fuc + .fuc {
    border-top: none;
    margin-top: -32px;
}

.maincol .fuc a {
    display: block;
    font-size: 14px;
    line-height: 16px;
    font-family: 'Open Sans',Arial,sans-serif;
    font-weight: normal;

}
.maincol .fuc span { font-size: 16px; line-height: 18px; font-family: 'Open Sans Semibold',Arial,sans-serif; }

.sidecol .docedit { background: #bf0d25; padding: 10px 20px; }

.sidecol .docedit a {
    color: #fff;
    font-size: 18px;
    line-height: 22px;
    font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;
}

.sidecol .docentefichatecnica {
    padding: 20px 20px 10px;
}

.sidecol .docentefichatecnica img {
    max-width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.sidecol .docentefichatecnica p {
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 16px;
}

.sidecol .docentefichatecnica p+p {
    margin-top: -12px;
}

.sidecol .docentefichatecnica p.label+p {
    margin-top: 0;
}

.sidecol .docentefichatecnica p.label {
    font-size: 11px;
    line-height: 16px;
    margin-bottom: 0;
    color: #8C8C8B;
}

.sidecol .docentefichatecnica p+p.label {
    margin-top: 0;
}

.sidecol .docentefichatecnica p.label+p.label {
    margin-top: 10px;
}

.sidecol .cmn a {
    display: block;
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
    font-size: 13px;
    padding-right: 22px;
    background: url("../images/icons.png") no-repeat right -1051px;
    line-height: 17px;
}

.agenda nav.tree li,
.evento nav.tree li {
    list-style: none;
}

.agenda nav.tree li a,
.evento nav.tree li a {
    background-image: none;
    padding: 4px 0 4px 18px;
}

.agenda nav.tree li a:before,
.evento nav.tree li a:before {
    font-family: 'Open Sans',Arial,sans-serif;
    content: "\2022";
    font-size: 33px;
    float: left;
    margin: 0 4px;
    background: none;
}


.agenda nav.tree li .active,
.evento nav.tree li .active {
    color: #fff !important;
}


.agenda nav.tree li .active:before,
.evento nav.tree li .active:before {
    content: "\00B7" !important;
    color: #fff !important;
    font-size: 13px !important;
    margin: 0 9px 0 8px !important;
}

nav.tree #iid1127 a { margin-bottom: 15px; }

nav.tree #iid1127 a:before { content: "\25CB"; color: #000 !important; font-size: 18px; margin: -2px 4px 0 5px;} /* todos */
nav.tree #iid1129 a:before { color: #e69138; } /* candidaturas */
nav.tree #iid1128 a:before { color: #41bcd5; } /* calendario */
nav.tree #iid1130 a:before { color: #cc4125; } /* eventos científicos */
nav.tree #iid1131 a:before { color: #8a72b1; } /* eventos pedagogicos */
nav.tree #iid2244 a:before { color: #e676ff; padding-bottom: 20px; } /* eventos institucionais */
nav.tree #iid1133 a:before { color: #a4c624; } /* servicos comunidade */
nav.tree #iid1132 a:before { color: #3d85c6; } /* provas publicas */


.agenda nav.tree li a:hover,
.agenda nav.tree li a:focus,
.evento nav.tree li a:hover,
.evento nav.tree li a:focus { background-color: #fff; }

nav.tree #iid1127 .active { background-color: #ddddd4; color: #000 !important; } /* todos */
nav.tree #iid1129 .active { background-color: #e69138;} /* candidaturas */
nav.tree #iid1128 .active { background-color: #41bcd5;} /* calendario */
nav.tree #iid1130 .active { background-color: #cc4125;} /* eventos científicos */
nav.tree #iid1131 .active { background-color: #8a72b1;} /* eventos pedagogicos */
nav.tree #iid2244 .active { background-color: #e676ff;} /* eventos institucionais */
nav.tree #iid1133 .active { background-color: #a4c624;} /* servicos comunidade */
nav.tree #iid1132 .active { background-color: #3d85c6;} /* provas publicas */


/*------------------------------------------------------------
    FOOTER
------------------------------------------------------------*/

footer {
    width: 100%;
    position: relative;
    clear: both;
    background: #f5f5f0;
    margin-top: 100px;
}

footer .wrapper  {
    margin: 0 auto;
    padding: 30px 30px;
    overflow: hidden;
}

.menutools {
    width: 100%;
    padding: 0 3%;
}

footer ul {
    padding: 0;
}

footer li {
    list-style: none;
    padding: 0;
    float: left;
    padding-right: 10px;
}

footer a {
    color: #323232;
    font-size: 13px;
    line-height: 16px;
}

/*------------------------------------------------------------
    LAYOUT - FRONT
------------------------------------------------------------*/

.front .destaque {
    padding: 0;
    position: relative;
    display: block;
    min-height: 200px;
    margin: 0 0 90px;
}

.front .destaque a {
    color: #fff;
    display: block;
    overflow: hidden;
}

.front .destaque > div + div {
    z-index: 9000;
    background: #bf0d25;
    color: #fff;
    margin: 0 3%;
    position: absolute;
    bottom: -40px;
    width: 94%;
    font-size: 15px;
    line-height: 20px;
}

.front .destaque > div + div > div {
    margin-left: -20px;
    margin-right: -20px;
    background: #9e1f2e;
}

.front .destaque > div.item-list {
    background: none;
    position: relative;
    display: block;
    margin: 0;
    bottom: 0;
    margin: 0 -30px;
    width: calc(100% + 60px);
    min-height: 200px;
    background: #e6e6e1;
    overflow: hidden;
}

.front .destaque > div.item-list ul {
    margin-left: -75%;
    margin-right: -75%;
    width: 250%;
    background: #e6e6e1;
}

.front .destaque > div.item-list li {
    overflow: hidden;
    display: none;
    position: relative;
    list-style: none;
}

.front .destaque > div.item-list li:first-child {
    display: block;
}

.front .destaque > div.item-list li a {
    padding: 0;
    border: 2px solid #e6e6e1;
}

.front .destaque:hover > div.item-list li a,
.front .destaque:focus > div.item-list li a {
    opacity: .95;
    border: 2px solid #bf0d25;
}


.front .destaque > div a {
    text-decoration: none;
    padding: 20px;
}

.front .destaque:hover > div + div > div,
.front .destaque:focus > div + div > div {
    background: #af1629;
}

.front .destaque .slide-title {
    color: #fff;
    font-size: 18px;
    line-height: 22px;
    font-weight: bold;
    margin-bottom: 8px;
}

.banner img,
.destaque img {
    width: 100%;
    height: auto;
    display: block;
    padding: 0;
    margin: 0;
}

.front .eventos,
.front .noticias {
    padding: 0 3%;
    clear: both;
    overflow: hidden;
}

.front .eventos {
    margin: 0 0 60px;
}

.front .eventos h2,
.front .noticias h2 {
    width: 100%;
    display: block;
    position: relative;
    margin: 0 0 40px;
    border-bottom: 2px solid #e0e0d1;
    padding-bottom: 10px;
}

.front .eventos h2 a,
.front .noticias h2 a {
    width: 100%;
    display: block;
    height: 100%;
}

.front .eventos h2 a,
.front .noticias h2 a {
    position: absolute;
    right: 0px;
    top: 3px;
    font-size: 12px;
    line-height: 14px;
    text-align: right;
    padding-right: 30px;
}

.front .eventos h2 a:after,
.front .noticias h2 a:after {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    right: 0;
    top: -1px;
    background: url("../images/sprite.svg") no-repeat -120px 0 transparent;
    background-size: 600px 600px;
}

.front .eventos h2 a:hover:after,
.front .eventos h2 a:focus:after,
.front .noticias h2 a:hover:after,
.front .noticias h2 a:focus:after {
    background-position: -120px -60px;
}

.front .eventos article,
.front .noticias article {
    width: calc(100% + 40px);
    float: left;
    margin-bottom: 20px;
    padding-bottom: 20px;
    margin-left: -20px;
    margin-right: -20px;
}

.front .eventos .highlight,
.front .noticias .highlight {
    background: #f5f5f0;
    margin-bottom: 40px;
}

.front article h3,
.front article p {
    padding: 0 20px;
    width: 100%;
}


.front .eventos .views-row-even,
.front .noticias .views-row-even,
.front .eventos .views-row-odd,
.front .noticias .views-row-odd {
    clear: left;
}

.front .eventos article > a:first-child,
.front .noticias article > a:first-child{
    display: block;
    border: 2px solid #f5f5f0;
}

.front .eventos article > a:first-child:hover,
.front .noticias article > a:first-child:hover{
    border-color: #d90f2a;
    opacity: .8;
}

.front .eventos article img,
.front .noticias article img {
    width: 100%;
    height: auto;
    display: block;
}

.front .eventos article .tag,
.front .noticias article .tag,
.front .noticias article .date {
    font-size: 13px;
    line-height: 16px;
    color: #8C8C8B;
    margin-bottom: 2px;
    margin-top: 18px;
}

.front .eventos article h3,
.front .noticias article h3,
.front .eventos article .date {
    font-family: 'Open Sans Semibold',Arial,sans-serif;
    font-weight: normal;
    font-size: 17px;
    line-height: 21px;
    color: #323232;
    margin: 2px 0 0;
}

.front .eventos .highlight h3,
.front .noticias .highlight h3,
.front .eventos .highlight .date {
    font-size: 19px;
    line-height: 22px;
}

.front .noticias .highlight .date {
    margin-top: 18px;
}

.front .eventos article h3 + a,
.front .noticias article h3 + a {
    width: 38%;
    float: left;
    padding: 0;
    border: 2px solid #f5f5f0;
    margin: 8px 10px 0 20px;
}

.front .eventos article h3 + a:hover,
.front .noticias article h3 + a:hover {
    border-color: #d90f2a;
    opacity: .8;
}

.front .eventos h3 + p,
.front .eventos h3 + a + p,
.front .noticias .summary {
    font-size: 14px;
    line-height: 18px;
    margin-top: 8px;
}

.front .noticias .sumanddate p {
    margin-bottom: 6px;
}

.front .noticias .sumanddate .meta {
    font-size: 13px;
    line-height: 16px;
    color: #8C8C8B;
    margin-top: 4px;
}

/*------------------------------------------------------------
    LAYOUT - CURSO
------------------------------------------------------------*/

.maincol div.pe {
    padding-bottom: 40px;
    overflow: hidden;
    padding-bottom: 24px;
    background: #f5f5f0;
}

.maincol div.pe > .group {
    padding: 20px;
    background: #fff;
    border: 1px solid #e5e6d8;
}

.maincol div.pe > .group + .group {
    margin-top: 20px;
}

.maincol div.pe .views-table {
    position: relative;
    margin: 20px 0 0;
}

.maincol div.pe h4 {
    font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;
    padding-bottom: 6px;
    font-size: 22px;
    line-height: 24px;
}

.maincol div.pe caption {
    text-align: left;
    position: absolute;
    top: 8px;
}

.maincol div.pe thead {
    background: none;
}

.maincol div.pe thead tr {
    border-bottom: 1px solid #999999;
}

.maincol div.pe th:first-child,
.maincol div.pe td:first-child {
    width: 40%;
    padding: 8px 8px 8px 0;
    font-size: 14px;
    line-height: 18px;
}

.maincol div.pe th.views-field-field-areacientifica
.maincol div.pe td.views-field-field-areacientifica {
    width: 40%;
    padding: 8px 8px 8px 0;
}

.maincol div.pe th.views-field-field-ects,
.maincol div.pe td.views-field-field-ects {
    width: 20%;
    text-align: right;
    padding: 8px 0;
}

.maincol div.pe h5 {
    text-align: left;
    font-size: 15px;
    line-height: 18px;
    font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;
    color: #323232;
}

.maincol div.pe th:first-child {
    color: #8C8C8B;
}

.maincol div.pe th.views-field-field-areacientifica,
.maincol div.pe th.views-field-field-areacientifica-externa,
.maincol div.pe th.views-field-field-ects {
    font-size: 13px;
    line-height: 16px;
    color: #323232;
    font-family: 'Open Sans Semibold', sans-serif;
}

.maincol div.pe tbody tr {
    border-top: 1px solid #DEDED9;
    border-bottom: none;
}

.maincol div.pe tbody tr:first-child {
    border-top: none;
}

/*------------------------------------------------------------
    NEWSLETTER
------------------------------------------------------------*/

.newsletter { background: #fff; }

.newsletter .side { display: none; }

.newsletter a { font-family:  'Open Sans Semibold', sans-serif; font-weight: normal; }

.newsletter #main {
    padding: 0;
    max-width: none;
    margin: 0;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    width: 100% !important;
}

.newsletter #content {
    margin: 0;
}

.newsletter #main .container {
    max-width: 760px;
    margin: 20px auto;
    border: 4px solid #edede9;
    background: #fffffc;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 0;
}

.newsletter #logos, .newsletter #content {
    max-width: 760px;
    padding: 0;
}

.newsletter .maincol { padding: 0; }

.newsletter #logos {
    height: auto;
    margin: 0;
    position: relative;
}

.newsletter #logos h1 {
    padding: 0;
    position: absolute;
    left: 38px;
    top: 24px;
    z-index: 999;
}

.newsletter #logos .newsletterheaderinline {
    width: 100%;
    height: auto;
    display: block;
}

.newsletter #logos .logo {
    background: url("../images/logo_estesl_newsletter.png") left top;
    width: 340px;
    z-index: 999;
    padding: 8px;
}

.newsletter #logos .logoipl {
    background: url(/sites/default/themes/estesl/images/logo_ipl_newsletter.png) left top;
    width: 159px;
    background-size: cover;
    height: 60px;
    right: 18px;
    top: 18px;
    z-index: 999;
    opacity: 1;
}

.newsletter #logos img { display: none; }

.newsletter .maincol { width: 100%; }

.newsletter .maincol h2 {
    font-size: 18px;
    line-height: 21px;
    clear: left;
    margin-top: 20px;
    margin-bottom: 10px;
}

.newsletter .maincol h2:first-child {
    margin-top: 0;
}

.newsletter h2.title {
    font-size: 34px;
    line-height: 40px;
    height: 120px;
    margin: 0;
    padding: 15px 30px 0;
    color: #fff;
    position: relative;
    background: #9e1f2e;
}

.newsletter h2.title img {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.newsletter h2 span {
    z-index: 9999;
    position: absolute;
    left: 6%;
    top: 28px;
    font-size: 34px;
    line-height: 120%;
}

.newsletter h2 .introdate {
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    display: block;
    bottom: 30px;
    top: auto;
}

.newsletter .date,
.newsletter .place {
    font-size: 12px;
    line-height: 15px;
    color: #8C8C8B;
}

.newsletter .maincol article { padding: 0; }

.newsletter .editorial {
    padding: 40px 6% 25px;
    border-bottom: 2px solid #f1f1ee;
    overflow: hidden;
}

.newsletter .destaque {
    margin: 40px 6%;
    padding-bottom: 1px;
    background: #8c2633;
}

.newsletter .nl-news,
.newsletter .nl-event,
.newsletter .nl-page {
    margin: 0 6%;
}

.newsletter .nl-event {
    font-size: 12px;
    line-height: 15px;
    color: #666666;
}

.newsletter .nl-event+.nl-event { margin-top: 20px; }

.newsletter .maincol .nl-news .mainimg+p { padding-left: 120px; }

.newsletter .destaque h2 {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 22px;
    color: #fff;
    padding: 0 15px;
}

.newsletter .nl-event h2 { margin-bottom: 0px; }

.newsletter .destaque a { color: #fff; }

.newsletter .destaque p {
    padding: 0 15px;
    color: #fff;
    margin-bottom: 15px;
}

.newsletter .destaque p.highlighteventcat {
    margin: 20px 0 0;
    font-size: 13px;
    font-family:  'Open Sans Semibold', sans-serif; font-weight: normal;
}

.newsletter .destaque h2 {
    margin: 0 0 30px;
}

.newsletter .maincol h2,
.newsletter .maincol h3,
.newsletter .maincol h4,
.newsletter .maincol h5 {
    font-weight: normal;
    font-family: 'Open Sans Semibold', sans-serif;
}

.newsletter .maincol li { margin-bottom: 4px; }

.newsletter .maincol h3 {
    padding-top: 40px;
    padding-bottom: 10px;
    margin-top: 40px;
    margin-bottom: 0px;
    font-size: 27px;
    line-height: 30px;
    text-align: left;
    font-family: Arial,sans-serif;
    text-indent: 6%;
    padding-left: 0px;
    padding-right: 0px;
    margin-left: 0px;
    margin-right: 0px;
    font-weight: bold;
    color: #bf0d25;
    border-top: 2px solid #edede9;
    border-bottom: 20px solid #fffffc;
    letter-spacing: -1px;
}

.newsletter .openfield p,
.newsletter .openfield h4,
.newsletter .openfield h5,
.newsletter .openfield ul,
.newsletter .openfield ol {
    margin: 0 6%;
}

.newsletter .openfield ul,
.newsletter .openfield ol {
    margin-bottom: 10px;
}

.newsletter .openfield h4 {
    font-size: 18px;
    line-height: 21px;
    margin-top: 20px;
    margin-bottom: 10px;
}

.newsletter .openfield h3+h4 {
    margin-top: 0;
}

.newsletter .openfield h5 {
    font-size: 15px;
    line-height: 18px;
    margin-top: 20px;
    margin-bottom: 10px;
}

.newsletter .openfield h3+h5 {
    margin-top: 0;
}

.introdate {
    font-weight: normal;
    font-size: 16px;
    color: #999;
}

.newsletter .maincol .halfcolleft {
    width: 18%;
    padding: 0;
    margin: 0 20px 20px 0;
    display: block;
    float: left;
}

.nl-event p { display: inline; }

.nl-news { overflow: auto; }

.maincol p.nl-links {
    margin-bottom: 0;
    border-top: 1px solid #d4d4cd;
    padding: 30px;
    margin-top: 60px;
}

.nl-event .date-display-single:after,
.nl-event .date-display-end:after{ content: ","; }


/*------------------------------------------------------------
    TOOLBAR
------------------------------------------------------------*/

body.toolbar-drawer {
    padding-top: 0 !important;
    margin-top: 31px !important;
}

#toolbar .element-invisible {
    display: none;
}


/*------------------------------------------------------------
    COLORBOX
------------------------------------------------------------*/

#colorbox, #colorbox * {
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

#colorbox, #cboxOverlay, #cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft { clear: left; }
#cboxContent { position: relative; }
#cboxLoadedContent { overflow: auto; }
#cboxTitle { margin: 0; }
#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow { cursor: pointer; }
.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

#cboxOverlay {
    background: #000;
    opacity: 0.9 !important;
}

#cboxWrapper {
    -moz-border-radius-bottomleft: 0;
    -moz-border-radius-bottomright: 0;
    -webkit-border-bottom-left-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

#colorbox {
  background: #fffffc;
  -moz-box-shadow: 3px 3px 16px rgba(0,0,0,.8);
  -webkit-box-shadow: 3px 3px 16px rgba(0,0,0,.8);
  box-shadow: 3px 3px 16px rgba(0,0,0,.8);
  -moz-border-radius-bottomleft: 0;
  -moz-border-radius-bottomright: 0;
  -webkit-border-bottom-left-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

#colorbox, #colorbox div { overflow: visible; }

#cboxTopLeft { width: 0; height: 0; }

#cboxTopCenter { height: 0; }

#cboxTopRight { width: 0; height: 0; }

#cboxBottomLeft { width: 15px; height: 10px; }

#cboxBottomCenter { height: 10px; }

#cboxBottomRight { width: 15px; height: 10px; }

#cboxMiddleLeft, #cboxMiddleRight { width: 0; }

#cboxContent {
    background: #fff;
    overflow: hidden;
    font: 11px Arial, sans-serif;
    margin-bottom: 28px;
}

#cboxError {
    padding: 50px;
    border: 1px solid #ccc;
}

#cboxTitle {
    background: #fffffc;
    font-size: 13px;
    line-height: 16px;
}

#cboxCurrent {
    position: absolute;
    bottom: -38px;
    right: 80px;
    background: url('../images/colorbox_divider.png') repeat-y left top;
    padding: 13px 15px;
}

.cboxSlideshow_on #cboxSlideshow, .cboxSlideshow_off #cboxSlideshow { display: none; }

#cboxPrevious, #cboxNext {
    position: absolute;
    bottom: -33px;
    background: url('../images/icons.png') no-repeat;
    width: 27px;
    height: 27px;
    text-indent: -9999px;
}

#cboxPrevious { right: 38px; background-position: -6px -686px; }

#cboxPrevious:hover,
#cboxPrevious:focus { background-position: -6px -806px; }

#cboxNext { right: 11px; background-position: -6px -646px; }

#cboxNext:hover,
#cboxNext:focus { background-position: -6px -766px; }

#cboxLoadingOverlay { background: #e6e6e6; }
#cboxLoadingGraphic { background: url('../images/colorbox_loading.gif') center center no-repeat; }

#cboxClose {
    position: absolute;
    top: 0;
    right: 0;
    background: url('../images/sprite.svg') no-repeat -116px -117px;
    background-color: #e8e8d9;
    width: 38px;
    height: 38px;
    text-indent: -9999px;
    opacity: 0;
}

#cboxClose:hover,
#cboxClose:focus {
    background-position: -116px -147px;
    backgroun-color: #f0f0e1;
}

/*------------------------------------------------------------
    MEDIAELEMENTS
------------------------------------------------------------*/

.mejs-container * {
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

/*------------------------------------------------------------
    CALENDAR
------------------------------------------------------------*/

.maincol div.calendar {
    margin-top: 0;
    margin-bottom: 60px;
    display: none;
}

.calendar thead {
    background: #f5f5f0;
}

.calendar tbody {
    background: #f5f5f0;
}

.calendar table, .calendar div, .calendar tr, .calendar th, .calendar td {
    padding: 0;
    margin: 0;
    border-collapse: collapse;
    border-spacing: 0;
    border-style: none;
    border: none;
    background: none;
    vertical-align: top;
}

.calendar table {
    table-layout: fixed;
}

.calendar table tr:first-child {
    background: none;
    font-family: 'Open Sans',Arial,sans-serif;
    font-weight: normal;
}

.calendar table thead tr:first-child {
    border-bottom: 10px solid #fffffc;
}

.calendar td {
    width: 14%;
    margin: 0;
    padding: 0;
    line-height: 0;
    border-left: 2px solid #fffffc;
    border-right: 2px solid #fffffc;
}

.calendar .date-box {
    text-align: left;
    border: none;
    border-left: 2px solid #fffffc;
    border-right: 2px solid #fffffc;
    line-height: 10px;
}

.calendar th {
    width: 14%;
    margin: 0;
    line-height: 0;
    padding: 10px 20px;
    font-family: 'Open Sans', sans-serif;
    font-weight: normal;
    font-size: 10px;
    color: #595954;
    line-height: 10px;
}

.calendar td.single-day, .calendar td.multi-day {
    padding-bottom: 6px;
}

.calendar td.single-day {
    border-bottom: 10px solid #fffffc;
}

.calendar .bar {
    background: none;
    position: relative;
    overflow: hidden;
}

.calendar .multi-day { border: none; border-left: 2px solid #fffffc; border-right: 2px solid #fffffc; }

.calendar .date-box td { padding: 10px 20px; text-align: center; font-family: 'Open Sans Semibold', sans-serif;
    font-weight: normal;}

.calendar th div, .calendar td div { border: none; padding: 0; }

.calendar td.empty {
    color: #cbccc0;
    font-family: 'Open Sans',Arial,sans-serif;
}

.calendar .today {
    color: #595954;
    font-weight: bold;
    font-size: 14px;
}

.calendar .stripe {
    width: 100%;
    float: left;
    height: 300px;
    margin-top: -300px;
}

.calendar .contents { padding: 0; }

.calendar .contents p { margin: 0; }

.calendar .contents a {
    font-size: 13px;
    line-height: 15px;
    display: block;
    color: white;
    padding: 5px 10px;
}

.calendar .date-box + .single-day > td.no-entry {
    height: 58px;
}

/*------------------------------------------------------------
    MEDIA QUERIES
------------------------------------------------------------*/

@media screen and (min-width: 400px) {

    .maincol div.rset .lineitem { width: 50%; float: left; }
    .maincol div.rset .lineitem.views-row-odd { clear: left; }
    .pagejump { margin: -62px -14px 20px 20px; }

}

@media screen and (min-width: 480px) {

    .front .destaque > div.item-list ul {
        margin-left: -10%;
        margin-right: -10%;
        width: 120%;
    }

    .noticias .maincol article > a {
        display: block;
        border: 2px solid #f5f5f0;
        width: 20%;
        float: left;
    }

    .noticias .maincol a+div.sumanddate {
        margin-left: 20%;
        padding-left: 20px;
    }

    .noticias .maincol article { padding-bottom: 30px; }
    .front .maincol article { padding-bottom: 30px; }

    table .hide {
        display: table-cell;
    }

    .organo {
        width: 400px !important;
        height: 400px !important;
    }

}

@media screen and (min-width: 480px) {
    .logoipl {
        display: block;
    }
}


@media screen and (min-width: 760px) {

    .front .maincol h2 { margin-top: 0; }

    .maincol { padding-top: 40px; width: 66%; }

    .maincol h2 { margin: 0 0 60px; }

    .user .maincol .doccat { margin-bottom: 60px; }
    .evento .maincol .place { margin-bottom: 60px; }

    :lang(en) .front .maincol article { width: 66.6667%; }

    .sidecol { padding-top: 48px; width: 34%; }

    .maincol div .column { width: 50%; float: left; }
    .maincol div.halfcolleft { float: left; width: 50%; padding: 0 10px 0 0; margin: 0 10px 20px 0; }

    .maincol div.cl { clear: none; margin-left: 25%; padding-left: 10px; }
    .maincol div.cm { clear: none; float: none; margin-top: 0; }

    .maincol div.rset .lineitem img { margin: 0; }
    .maincol div.rset .lineitem h3 { text-align: left; }

    .calendar-nav ul { clear: none; }

    .banner { display: block; }

    .front .eventos .hightlights,
    .front .noticias .hightlights {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
    }
    .front .eventos article,
    .front .noticias article {
        width: 45%;
        float: left;
        width: calc(45% + 30px);
    }
    .front .eventos .views-row-even,
    .front .noticias .views-row-even {
        margin-left: 10%;
        clear: none;
    }
    .front .eventos .views-row-odd,
    .front .noticias .views-row-odd {
        clear: left;
    }
    .front .destaque > div.item-list ul {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
    .front .destaque .slide-title {
        font-size: 21px;
        line-height: 24px;
    }
    footer ul {
        display: flex;
        justify-content: space-between;
    }
    footer li {
        padding-right: 0;
    }
    .maincol div.calendar {
        display: block;
    }
}

@media screen and (min-width: 1040px) {
    .activenav #main {
        width: calc(100% - 220px);
    }
}

@media screen and (max-height: 850px) {

    .langswitch { padding: 15px 20px 10px; }
    .socialandsub { padding: 15px 0px 10px; }
    .menumain, .menuilinks { padding: 23px 0; }
    .menumain a { line-height: 28px; }
    .menumain a:after { border-width: 14px 0 14px 10px; }
    .menuilinks a { padding: 5px 0; }
    .menuelinks span { padding: 5px 0 5px 30px; }
}

@media screen and (max-height: 790px) {

    .langswitch { padding: 10px 20px 10px; }
    .socialandsub { padding: 10px 0px 10px; }
    .menumain, .menuilinks { padding: 16px 0; }
    .menumain a { line-height: 26px; }
    .menumain a:after { border-width: 13px 0 13px 10px; }
    .menuilinks a { padding: 4px 0; }
    .menuelinks span { padding: 4px 0 4px 30px; }
}

/*------------------------------------------------------------
    MODO MANUTENÇÃO
------------------------------------------------------------*/

html,
body.maintenance-page {
    background: #fffffc !important;
}
body.maintenance-page div#page {
    padding: 120px 0 !important;
}

body.maintenance-page div#main h1#page-title {
    padding: 0 !important;
    font-size: 25px !important;
}
