/*! normalize.css v2.0.1 | MIT License | git.io/normalize */

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/*
 * Corrects `block` display not defined in IE 8/9.
 */

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

/*
 * Corrects `inline-block` display not defined in IE 8/9.
 */

audio,
canvas,
video {
    display: inline-block;
}

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/*
 * Addresses styling for `hidden` attribute not present in IE 8/9.
 */

[hidden] {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/*
 * 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-family: sans-serif; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -ms-text-size-adjust: 100%; /* 2 */
}

/*
 * Removes default margin.
 */

body {
    margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: thin dotted;
}

/*
 * Improves readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */

/*
 * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome.
 */

h1 {
    font-size: 2rem;
}

/*
 * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/*
 * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

/*
 * Addresses styling not present in Safari 5 and Chrome.
 */

dfn {
    font-style: italic;
}

/*
 * Addresses styling not present in IE 8/9.
 */

mark {
    background: #ff0;
    color: #000;
}


/*
 * Corrects font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1rem;
}

/*
 * Improves readability of pre-formatted text in all browsers.
 */

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/*
 * Sets consistent quote types.
 */

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

/*
 * Addresses inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5rem;
}

sub {
    bottom: -0.25rem;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/*
 * Removes border when inside `a` element in IE 8/9.
 */

img {
    border: 0;
}

/*
 * Corrects overflow displayed oddly in IE 9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/*
 * Addresses margin not present in IE 8/9 and Safari 5.
 */

figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/*
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Corrects color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}

/*
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */

button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}

/*
 * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */

button[disabled],
input[disabled] {
    cursor: default;
}

/*
 * 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/*
 * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/*
 * Removes inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/*
 * 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/*
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}


@font-face {
    font-family: 'KlavikaBold';
    src: url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaboldbold-webfont.eot?") format("eot"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaboldbold-webfont.woff") format("woff"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaboldbold-webfont.ttf") format("truetype"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaboldbold-webfont.svg#webfontBUN34PZS") format("svg");
    font-weight: bold;
    font-style: normal
}

@font-face {
    font-family: 'KlavikaMediumPlain';
    src: url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikamedium-plain-webfont.eot?") format("eot"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikamedium-plain-webfont.woff") format("woff"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikamedium-plain-webfont.ttf") format("truetype"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikamedium-plain-webfont.svg#webfontTWPh10Er") format("svg");
    font-weight: bold;
    font-style: normal
}

@font-face {
    font-family: 'KlavikaRegularPlain';
    src: url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaregular-plain-webfont.eot?") format("eot"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaregular-plain-webfont.woff") format("woff"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaregular-plain-webfont.ttf") format("truetype"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaregular-plain-webfont.svg#webfontDvaJrdUe") format("svg");
    font-style: normal
}

@font-face {
    font-family: 'KlavikaRegularItalic';
    src: url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaregular-italic-webfont.eot?") format("eot"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaregular-italic-webfont.woff") format("woff"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaregular-italic-webfont.ttf") format("truetype"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikaregular-italic-webfont.svg#webfontPhNFtUba") format("svg");
    font-style: italic
}

@font-face {
    font-family: 'KlavikaLightPlain';
    src: url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikalight-plain-webfont.eot?") format("eot"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikalight-plain-webfont.woff") format("woff"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikalight-plain-webfont.ttf") format("truetype"), url("//static.tecnico.ulisboa.pt/fonts/klavika/klavikalight-plain-webfont.svg#webfontpalXHmZY") format("svg");
    font-style: normal
}


html
{
 font-size: 17px;
    -webkit-font-smoothing: antialiased;
    font: normal normal 300 1.1rem 'Source Sans Pro', Helvetica, Helvetica Neue, Arial;
    line-height: 1.5;
    overflow-x: hidden;
}

body
{
	width: 100%;
	padding: 0;
	margin: 0;
    overflow-x: hidden;
}

h1, h2{
	font-family: "KlavikaMediumPlain",Helvetica,Helvetica Neue,Arial;
}

a:hover, a:active, a:focus
{
	outline: 0;
}

section p a:hover
{
    opacity: .75;
}

.col-lg-4,
.col-lg-6,
.icons-grid .icon.col-lg-4
{
    width: 33.33%;
    float: left;
    padding: 0 20px;
    box-sizing: border-box;
}

.col-lg-6
{
    width: 50%;
}

.col-lg-4:nth-of-type(1),
.col-lg-6:nth-of-type(1)
{
    padding-left: 0;
    padding-right: 30px;
}

.col-lg-4:nth-of-type(3),
.col-lg-4:nth-of-type(2)
{
    padding-left: 30px;
    padding-right: 0;
}


#main h1,
#main p,
#main h4,
#main a
{
	width: 100%;
	margin: 30px 0;
    color: #505050;
    text-decoration: none;
}

#main h1,
#main h4,
#main h2
{
    font-size: 30px;
    line-height: 1.2;
    color: #282C35;
    font-family: "KlavikaMediumPlain",Helvetica,Helvetica Neue,Arial;
}

#main h2
{
    font-size: 24px
}

.intro h1
{
    font-family: "KlavikaBold",Helvetica,Helvetica Neue,Arial;
    color: #fff;
}

#main h4
{
    font-size: 18px;
    text-align: center;
}

#main p
{
    color: #505050;
}

strong
{
    font-weight: 400;
    color: #282C35
}

span
{
	font-size: 0.889rem;
	display: block;
	max-width: 400px;
	margin: auto auto 40px auto;
}

.page-overview
{
    text-align: left;
}

 .page-overview .small,
  .page-overview .large,
   .page-overview .regular,
   .page-overview .larger,
   .page-overview .medium
  {
    box-sizing: border-box;
    float: left;
  }

 .page-overview .small
 {
    width: 33.3333333333%;
 }

 .page-overview .large
 {
    width: 66.6666666667%;
 }

  .page-overview .medium
 {
    width: 38%;
 }

 .page-overview .larger
 {
    width: 62%;
 }

 .page-overview .regular
 {
    width: 50%;
 }

  .page-overview > :nth-child(1)
  {
    padding-right: 30px;
  }

.page-overview > :nth-child(2)
  {
    padding-left: 30px;
  }

/*
.bg .page-overview > :nth-child(1)
{
    padding: 0 0 0 30px;
    float: right;
}

.bg .page-overview > :nth-child(2)
{
    padding: 0 30px 0 0;
}
*/
 .page-overview .small img
 {
    width: 100%;
    margin: 20px 0;
 }


.separator
{
    width: 100%;
    height: 1px;
    max-width: 1080px;
    margin: auto;
}

  .separator span {
    display: block;
    width: 100%;
    height: 1px;
    background: #DDD;
    max-width: initial;
}

.separator ~ .row h4
{
    margin-top: 0;
}

/* */


section,
footer
{
	width: 100%;
	position: relative;
    overflow-y: hidden;
    -webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

section.bg
{
    background: #f5f5f5;
    background: #FFFCF4;
}

section.drawing
{
    background: rgb(255,252,244);
background: -moz-linear-gradient(top,  rgba(255,252,244,1) 0%, rgba(255,255,255,1) 100%);
background: -webkit-linear-gradient(top,  rgba(255,252,244,1) 0%,rgba(255,255,255,1) 100%);
background: linear-gradient(to bottom,  rgba(255,252,244,1) 0%,rgba(255,255,255,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fffcf4', endColorstr='#ffffff',GradientType=0 );

}

section.intro
{
    text-align: center;
    height: 100vh;
    min-height: 650px;
    z-index: 1;
    overflow-y: visible;
}

.hero {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 10px;
    z-index: 0;
    box-sizing: border-box;
}

.intro .hero:before
{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
background: -moz-linear-gradient(top,  rgba(97,150,194,1) 0%, rgba(97,150,194,0) 65%, rgba(97,150,194,0) 100%);
background: -webkit-linear-gradient(top,  rgba(97,150,194,1) 0%,rgba(97,150,194,0) 65%,rgba(97,150,194,0) 100%);
background: linear-gradient(to bottom,  rgba(97,150,194,1) 0%,rgba(97,150,194,0) 65%,rgba(97,150,194,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6196c2', endColorstr='#006196c2',GradientType=0 );

}

.intro .hero
{
    background: rgba(94,152,200,1);
    background: -webkit-linear-gradient(rgba(94,152,200,1) 0%, rgba(94,152,200,1) 75%, rgba(94,152,200,0) 95%, rgba(94,152,200,0) 100%);
    background: -o-linear-gradient(rgba(94,152,200,1) 0%, rgba(94,152,200,1) 75%, rgba(94,152,200,0) 95%, rgba(94,152,200,0) 100%);
    background: linear-gradient(rgba(94,152,200,1) 0%, rgba(94,152,200,1) 75%, rgba(94,152,200,0) 95%, rgba(94,152,200,0) 100%);
    overflow: hidden;
}

.intro .hero .clouds
{
    background: url(../images/clouds.png) no-repeat center bottom / cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

section.hero-image
{
    height: calc(50vh + 400px);
    min-height: 700px;
    margin-top: -300px;
    position: relative;
    overflow-x: hidden;
}

section.hero-image .hero
{
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(../images/hero.jpg) center bottom / cover;
}

.skrollable
{
    -webkit-backface-visibility: hidden;
    -webkit-perspective: 1000;
    transform-origin: top;
}

section.about
{
	background: white
}

section.slideshow
{
	background: white;
}

section .container,
footer .container
{
	width: 100%;
	max-width: 1080px;
	margin: auto;
    padding: 0 55px;
	box-sizing: border-box;
    position: relative;
}

section .container .row
{
    padding: 100px 0;
    overflow: auto;
}

section.intro .container
{
    height: 100%;
	padding: 25px 0 50px 0;
	color: #fff;
    text-shadow: 0 0 20px rgba(60,45,35,.1), 0 0 40px rgba(60,45,35,.1);
    max-height: 950px;
    top: 50%;
    transform: translateY(-50%);
}

section.intro .container .hero-content-wrap
{
	display: table;
	height: 100%;
	width: 100%;
    position: relative;
    z-index: 1;
}

section.intro .container .hero-content-wrap .centered-content
{
	display: table-cell;
  	vertical-align: middle;
  	padding: 200px 55px;
    box-sizing: border-box;
}

section.white p,
section.white h1,
section.white h4
{
	margin: 30px auto;
    color: #fff;
}

section.white p
{
    font-weight: 400;
    text-shadow: 0 0 15px rgba(97,150,194,.8);
}

section.intro .container .centered-content h1
{
	font-size: 2.5rem;
	margin: 15px auto;
    text-align: center;
}

section.intro .container .centered-content p
{
	max-width: 550px;
    margin-top: 0;
    font-size: 1.2rem
}

#scroll-link
{
	padding: 20px;
	display: block;
	width: 20px;
	height: 12px;
	position: absolute;
	z-index: 2;
    top: calc(100vh - 60px);
	left: 50%;
	margin-left: -15px;
}

#scroll-link:active,
.sy-controls li a:active
{
	-ms-transform: scale(.9);
    -webkit-transform: scale(.9);
    transform: scale(.9);
    -moz-animation: none;
	-webkit-animation: none;
	animation: none;
}

#scroll-link .arrow
{
	display: block;
	width: 20px;
	height: 12px;
	background: url(../images/sprite.svg);
	background-position: -171px 0;
}

section .container .row.centered
{
    margin: auto;
    text-align: center;
}

section .container .row.centered .text > p
{
	max-width: 500px;
	margin: auto;
}

section .container .row.centered ul
{
    padding: 0;
    list-style: none;
    line-height: 1.5rem;
    margin: 80px 0 50px;
    overflow: auto;
}

section .container .row.centered ul li
{
    width: 50%;
    float: left;
    box-sizing: border-box;
    text-align: left;
    text-align: justify;
}


section .container .row.centered ul > :nth-of-type(1)
{
    padding-right: 40px;
}

section .container .row.centered ul > :nth-of-type(2)
{
    padding-left: 40px;
}


section .container .row.centered ul li span
{
	display: block;
    font-size: 1.8rem;
    font-weight: 100;
    color: #666;
    line-height: 1;
    text-align: center;
    width: 52px;
    height: 52px;
    border: 1px solid #ccc;
    padding: 9px 0;
    box-sizing: border-box;
    border-radius: 100%;
    margin: auto auto 30px auto;
}

section .container .row.left h4
{
    text-align: left;
}

section .container .row.secundary-info p
{
    margin: 5px 0
}

#ist-logo-wrap
{
	position: absolute;
	top: 0;
	padding: 25px;
	left: 50%;
	margin-left: -96px;
	display: block;
}

#ist-logo-wrap > .ist-logo
{
	width: 144px;
	display: block;
}

section .container .row.page-content-block
{
    padding: 150px 0;
}

.page-content-block .img
{
    position: absolute;
    top: 50%;
    left: 70%;
    width: 40%;
    z-index: 1;
    box-sizing: border-box;
    transform: translateY(-50%);
}

.page-content-block .img.no-space
{
    left: 50%;
    transform: translateY(-50%) translateX(25%);
    padding-left: 45px;
}

.bg .page-content-block.parallax .img
{
    left: 0;
    padding-left: 0;
    padding-right: 80px;
}

.page-content-block.parallax .img
{
    padding-left: 20px;
    /*transform: translateZ(.2px) scale(1) translateX(-35%) translateY(-50%);*/
}

.bg .page-content-block .img
{
    /*transform: translateZ(.2px) scale(1) translateX(10%) translateY(-50%);*/
}

.page-content-block .img img
{
    width: 100%;
    display: block;
}

.has-two-images.page-content-block .img
{
    /*transform: translateZ(.2px) scale(1) translateX(-35%) translateY(-75%);*/
    transform: translateX(-10%) translateY(-85%);
}

.page-content-block .img:nth-of-type(2)
{
    /*transform: translateZ(.35px) scale(.6) translateX(-60%) translateY(-20%);
    transform: translateZ(.3px) scale(1) translateX(-20%) translateY(0%);
    transform: translateZ(.3px) scale(.8) translateX(-40%) translateY(0%);*/
    transform: translateX(5%) translateY(-15%);
    z-index: 1;
}

.has-two-images.page-content-block .img img
{
    box-shadow: 0 0 50px 0 rgba(0,0,0,0.05), 0 5px 10px 0 rgba(0,0,0,0.05);
}


.page-content-block .text
{
    width: 60%;
}

.bg .page-content-block .text
{
    float: right;
}

.card .page-content-block .text
{
	background: #fff;
    padding: 55px;
    box-sizing: border-box;
        box-shadow: 0 0 50px 0 rgba(0,0,0,0.05), 0 5px 10px 0 rgba(0,0,0,0.05);
}

section .container .row.narrow
{
    overflow: visible;
    padding-top: 0;
}

section .container .row.narrow .row:first-of-type
{
    margin-top: -150px;
}

section .container .row.narrow .text
{
    width: 100%;
    /*max-width: 650px;*/
    margin: auto;
}

section .container .row.narrow img
{
    display: block;
    margin: auto;
    max-width: 100%;
    max-height: 75vh;
    min-height: 500px;
}

section .container .row.narrow .text .row > h1,
section .container .row.narrow .text .row > p:first-of-type
{
    text-align: center;
    max-width: 700px;
    margin: 25px auto;
}


.key-facts
{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 25px;
    box-sizing: border-box;
}

.key-facts h2
{
    font-size: 3rem;
    font-family: "KlavikaRegularPlain",Helvetica,Helvetica Neue,Arial;
    font-weight: normal;
    color: #fff;
    margin: 5px 0;
}

section.intro .key-facts p,
.key-facts p
{
    display: block;
    width: 100%;
    max-width: 200px;
    margin: 15px auto;
    font-size: .85rem;
}

section.intro .key-facts.icons-grid .icon .img
{
    padding: 0;
}

section.intro .key-facts.icons-grid .icon img
{
    max-width: 100%;
    max-height: 100%;
}

section.intro .key-facts.icons-grid .icon.compensate-right img
{
    margin-left: 5px;
}

.park-image
{
    background: url(../images/park.jpg) center / cover;
    height: 50vh;
    min-height: 450px;
    max-height: 550px;
    width: 100%;
    position: relative;
}

.park-image:before
{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(59,69,43,.0);
}

.park-image h1
{
    position: absolute;
    width: 100%;
    max-width: 800px;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #fff;
    margin: 0;
    padding: 0 55px;
    box-sizing: border-box;
}

.icons-grid
{
    text-align: center;
}

.icons-grid .icon
{
    width: 50%;
    float: left;
    margin: 25px 0
}

.icons-grid .icon .img
{
    width: 62px;
    height: 52px;
    margin: auto;
}

.icons-grid .icon img
{
    max-height: 44px;
    max-width: 66px;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.icons-grid .icon.compensate img
{
    max-height: 50px
}

.icons-grid .icon span
{
    margin: 5px 0 0 0;
    color: #222;
}



section.map .map-image
{
    width: 100%
}

section.map ol {
  counter-reset: section;
  list-style-type: none;
  padding: 0;
}

section.map li
{
    padding: 8px 0;
}

section.map li::before {
  counter-increment: section;
  content: counters(section,".") " ";
  display: inline-block;
  background: #90B07A;
  border-radius: 100%;
  text-align: center;
    color: #fff;
    font-weight: 600;
    width: 22px;
    height: 22px;
    font-size: 14px;
    line-height: 22px;
    vertical-align: middle;
    margin-right: 10px;
    font-family: "KlavikaMediumPlain",Helvetica,Helvetica Neue,Arial;
}



#footer {
	width: 100%;
    background: url("https://static.tecnico.ulisboa.pt/themes/tecnico/img/footer-bg.svg") top center no-repeat #2E323E;
    color: #FFF;
	padding: 60px 15px 0;
    text-align: center;
    z-index: 2;
}

#footer .footer-nav a
{
    color: rgba(255,255,255,.3);
}

#footer .footer-nav a:hover
{
    border-bottom: 1px dotted;
    color: #009DE0;
}

#footer ul {
    list-style-type: none;
    padding: 0
}

#footer ul li {
    margin-bottom: 10px
}

@media only screen and (min-width: 1200px) {
    #footer ul li {
        margin-bottom: 5px
    }
}

#footer ul li a {
    font-size: 0.875rem
}

#footer ul li a:hover {
    color: #009DE0
}

#footer .footer-list p {
    font-weight: 600;
    margin: 0
}

#footer .footer-list p a {
    display: none
}

@media (min-width: 1200px) {
    #footer .footer-list p a {
        display: block
    }
}

#footer .footer-list p span {
    cursor: pointer
}

#footer .footer-list ul {
    margin-bottom: 0;
    height: 0;
    max-height: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: height 600ms cubic-bezier(0.77, 0, 0.175, 1), max-height 600ms cubic-bezier(0.77, 0, 0.175, 1), visibility 600ms cubic-bezier(0.77, 0, 0.175, 1), opacity 600ms cubic-bezier(0.77, 0, 0.175, 1), margin-bottom 600ms cubic-bezier(0.77, 0, 0.175, 1);
    transition: height 600ms cubic-bezier(0.77, 0, 0.175, 1), max-height 600ms cubic-bezier(0.77, 0, 0.175, 1), visibility 600ms cubic-bezier(0.77, 0, 0.175, 1), opacity 600ms cubic-bezier(0.77, 0, 0.175, 1), margin-bottom 600ms cubic-bezier(0.77, 0, 0.175, 1)
}

#footer .footer-list ul.visible {
    visibility: visible;
    opacity: 1;
    height: 100%;
    max-height: 500px
}

#footer .footer-list ul.visible:last-of-type {
    margin-bottom: 60px
}

@media only screen and (min-width: 768px) {
    #footer .footer-list {
        text-align: left
    }
    #footer .footer-list p a {
        display: inline-block
    }
    #footer .footer-list p span {
        display: none
    }
    #footer .footer-list ul {
        visibility: visible;
        opacity: 1;
        height: auto;
        max-height: 100%;
        margin-bottom: 60px
    }
}

#footer .copyright
{
    font-size: 14px;
    font-weight: 400;
    float: right;
	margin: 0;
}

#footer .copyright a
{
    display: inline-block;
}

#footer nav
{
    text-align: justify;
    border-top: 1px solid rgba(255,255,255,.1);
    padding-top: 30px;
    box-sizing: border-box;
    color: rgba(255,255,255,.3);
}

#footer nav ul
{
    float: left;
    margin-bottom: 30px;
}

#footer nav ul li
{
    display: inline-block;
    margin: 0 15px;
}

#footer nav ul li:first-of-type
{
    margin-left: 0;
}


#footer ul li a
{
    color: rgba(255,255,255,.3);
    font-size: 14px;
}

#footer .site-info span.hide-mobile {
    display: none
}

#footer .site-info .copyright {
    margin-bottom: 20px
}

@media only screen and (min-width: 992px) {
    #footer .site-info span.hide-mobile {
        display: inline
    }
    #footer .site-info br {
        display: none
    }
    #footer .site-info .copyright {
        margin-bottom: 0;
    }
    #footer .site-info .last-update {
        text-align: right
    }
}

.social-icons a,
.social-share a {
    padding: 8px
}

.social-icons a svg .social-bg, .social-icons a svg .social-icon, .social-share a svg .social-bg, .social-share a svg .social-icon {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

footer .social-icon
{
	fill: #fff;
}

footer .social-bg
{
	stroke: #fff;
}

.social-icons a:hover svg .social-bg, .social-share a:hover svg .social-bg {
    fill: #009DE0;
    stroke: #009DE0;
}

.social-icons a:hover svg .social-icon, .social-share a:hover svg .social-icon {
    fill: #FFF;
}

#footer .social-icons {
    width: 100%;
    text-align: center;
    margin: 40px 0
}

#footer .social-icons p {
    font-weight: 600;
	font-size: 16px;
}

@media only screen and (min-width: 1200px) {
    #footer .social-icons {
        margin-top: 0
    }
}

#footer .social-icons li,
#footer .social-icons a {
    display: inline-block
}


@media screen and (max-width: 1200px)
{
    #footer nav ul,
    #footer .copyright
    {
        float: none;
        width: 100%;
        text-align: center;
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 990px)
{
    #footer .footer-nav
    {
        text-align: center;
    }

    #footer .footer-nav ul
    {
        margin-bottom: 30px;
    }

    #footer .footer-nav ul li
    {
        display: block;
        margin: 15px 0;
    }
}

#footer .copyright a {
    display: inline-block;
}
#footer .footer-nav a {
    color: rgba(255,255,255,.3);
}


a {
    color: #009DE0;
    text-decoration: none;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    -webkit-tap-highlight-color: transparent
}

ul:first-child,
ol:first-child {
    margin-top: 0
}

ul:last-child,
ol:last-child {
    margin-bottom: 0
}

ul,
ol {
    padding-left: 20px;
    margin: 32px 0 56px
}

ul li,
ol li {
    margin-bottom: 15px
}

ol {
    list-style-type: decimal
}

/* */


#slideshow-overlay
{
	position: absolute;
	z-index: 10;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .2;
}


/* Estilo mobile */

@media screen and (max-width: 900px)
{
    section .container .row.page-content-block
    {
        padding: 100px 0;
    }

    .page-overview .small,
    .page-overview .large,
    .page-overview .regular,
    .page-overview .larger,
    .page-overview .medium
    {
        width: 100%;
        padding:0;
    }

    ol
    {
        -webkit-columns: 300px 2;
        -moz-columns: 300px 2;
        columns: 300px 2;
        margin-bottom: 45px;
    }

    .row .img,
    .page-content-block .img.no-space
    {
        position: relative;
        transform: none;
        left: auto;
        top: auto;
        margin: auto auto 50px;
    }

    .page-content-block .text
    {
        width: 100%;
    }

    .has-two-images.page-content-block .img
    {
        transform: none;
        margin: 0 0 100px 0;
        width: 50%;
        float: left;
        padding: 0;
    }

    .has-two-images.page-content-block > .img:first-of-type
    {
        padding-right: 10px;
    }

    .has-two-images.page-content-block > .img:nth-of-type(2)
    {
        padding-left: 10px;
    }

    section .container .row.centered ul > :nth-of-type(2)
    {
        padding-left: 20px;
    }

    section .container .row.centered ul > :nth-of-type(1)
    {
        padding-right: 20px;
    }

    .row .img, .page-content-block .img.no-space
    {
        padding-left: 0;
        width: 50%
    }
}

@media screen and (max-width: 674px)
{
    section.intro .container .hero-content-wrap .centered-content
    {
        padding-top: 74px;
    }

	#scroll-link,
	.sy-pager
	{
		display: none;
	}

    .key-facts h2
    {
        font-size: 2.5rem
    }

    section .container .row.centered ul
    {
        margin: 50px 0 0;
    }

    section .container .row.centered ul > :nth-of-type(2),
    section .container .row.centered ul > :nth-of-type(1)
    {
        width: 100%;
        padding: 0;
        text-align: center;
        margin: 50px 0;
    }

    .floating-image img
    {
        width: 100%;
        margin: 30px 0;
        float: none;
    }

	footer .container .ul-wrap
	{
		width: 100%;
		margin: auto;
		text-align: center;
	}

	footer .container .ul-wrap:first-of-type
	{
		margin-top: 50px;
	}

	footer .container ul li span
	{
		margin: 5px auto;
	}
}

@media screen and (max-width: 554px)
{
    body
    {
        font-size: 16px;
    }

    h1
    {
        font-size: 24px;
        text-align: left;
    }

    h1, p, h4
    {
        width: 100%;
        margin: 20px 0;
    }

    #ist-logo-wrap
    {
        position: relative;
        left: auto;
        top: auto;
        margin: auto;
        display: inline-block;
        box-sizing: border-box;
    }

    #ist-logo-wrap > .ist-logo
    {
        margin: auto;
    }

    .col-lg-4, .col-lg-6,
    .col-lg-4:nth-of-type(1), .col-lg-6:nth-of-type(1),
    .col-lg-4:nth-of-type(3), .col-lg-4:nth-of-type(2),
    .page-overview .larger,
    .page-overview .medium,
    .hero-content-wrap .icons-grid .icon.col-lg-4
    {
        width: 100%;
        padding: 0;
        margin: 45px auto;
        float: none;
    }

    .icons-grid .icon.col-lg-4
    {
       max-width: 200px;
       padding: 0 25px;
    }

    section .container .row.narrow .text .row > h1, section .container .row.narrow .text .row > p:first-of-type, section .container .row.centered
    {
        text-align: left;
    }

    section.intro
    {
        height: auto;
        min-height: initial;
    }

    section.intro .container
    {
        height: auto;
        top: auto;
        transform: none;
        max-height: initial;
    }

    section.intro .container .hero-content-wrap .centered-content
    {
        margin: 80px 0;
        display: block;
        padding: 0 25px;
        vertical-align: initial;
        position: relative;
    }

    section.hero-image
    {
        height: 50vh;
        min-height: 600px;
    }

    .key-facts
    {
        position: relative;
    }

    .key-facts h2
    {
        font-size: 2.5rem;
    }

    section.intro .container h1
    {
        font-size: 2rem
    }

    section .container
    {
        padding: 0 25px;
    }

    section .container .row.narrow img
    {
        min-height: initial
    }

    section .container .row,
    section .container .row.page-content-block
    {
        padding: 50px 0;
    }




    section .container .row.centered ul li
    {
        font-size: initial
    }

    section .container .row.narrow .row:first-of-type
    {
        margin-top: 0;
        padding-top: 25px;
    }

    .park-image
    {
        max-height: initial;
        min-height: initial;
        height: auto;
        padding: 50px 0;
    }

    .park-image h1
    {
        position: relative;
        transform: initial;
        left: 0;
        top: 0;
        text-shadow: 0 0 30px rgba(28, 37, 26, 0.5), 0 0 5px rgba(28, 37, 26, 0.2);
    }

	footer .social-icons li, footer .social-icons a
	{
	    margin-bottom: 0;
	    padding-top: 0;
	}

}





/* Estilo da input do formulário */

::-webkit-input-placeholder
{
   color: #999;
}

:-moz-placeholder
{
   color: #999;
}

::-moz-placeholder
{
   color: #999;
}

:-ms-input-placeholder
{
   color: #999;
}

/* Animação Bounce */

.bounce
{
	-moz-animation: bounce 2s infinite;
	-webkit-animation: bounce 2s infinite;
	animation: bounce 2s infinite;
}

@-moz-keyframes bounce {
    0%, 100%, 20%, 50%, 80%
    {
        -moz-transform:translateY(0);
        transform:translateY(0)
    }
    40%
    {
        -moz-transform:translateY(-10px);
        transform:translateY(-10px)
    }
    60%
    {
        -moz-transform:translateY(-5px);
        transform:translateY(-5px)
    }
}
@-webkit-keyframes bounce
{
    0%, 100%, 20%, 50%, 80%
    {
        -webkit-transform:translateY(0);
        transform:translateY(0)
    }
    40%
    {
        -webkit-transform:translateY(-10px);
        transform:translateY(-10px)
    }
    60%
    {
        -webkit-transform:translateY(-5px);
        transform:translateY(-5px)
    }
}
@keyframes bounce
{
    0%, 100%, 20%, 50%, 80%
    {
        -moz-transform:translateY(0);
        -ms-transform:translateY(0);
        -webkit-transform:translateY(0);
        transform:translateY(0)
    }
    40%
    {
        -moz-transform:translateY(-10px);
        -ms-transform:translateY(-10px);
        -webkit-transform:translateY(-10px);
        transform:translateY(-10px)
    }
    60%
    {
        -moz-transform:translateY(-5px);
        -ms-transform:translateY(-5px);
        -webkit-transform:translateY(-5px);
        transform:translateY(-5px)
    }
}
