html {
    padding:0;
    overflow-y:scroll;
}

body {
    margin:0;
    padding:0;
    background:#FFF; /* main body bg color */
    color:#000;      /* main font color */
    font-size:16px;
    line-height:22px;
    font-family:Arial,Helvetica,sans-serif;
    /* solve the bug of iOS Safari */
    -webkit-text-size-adjust:100%;
}
::-webkit-scrollbar{
    width:8px;
    background:#CCC;
}
::-webkit-scrollbar-thumb{
    background:#435363;
}

::selection {
  background-color: lightyellow; /* color for the selected text on page */
  color: black; /* Optional: to ensure the text color is readable */
}

uu {
    border-bottom:2px solid black; /* thicker underline */
}

/*
#top-banner {
    /* background:-moz-linear-gradient(top, #010101 0%, #454545 100%); version 1
       background:-webkit-linear-gradient(top,#821131 0%, #A02334 100%); version 2
       background:-o-linear-gradient(top, #101828 0%, #435363 100%);current
    */
    /*
    background:-moz-linear-gradient(top, #414042 0%, #435363 100%);
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #435363), color-stop(100%, #435363));
    background:-webkit-linear-gradient(top,#414042 0%, #435363 100%);
    background:-o-linear-gradient(top, #414042 0%, #435363 100%);
    background:-ms-linear-gradient(top, #414042 0%, #435363 100%);
    -webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.6);
    -moz-box-shadow:0 0 10px rgba(0, 0, 0, 0.6);
    box-shadow:0 0 10px rgba(0, 0, 0, 0.6);
    */
    /*
    position:fixed;
    z-index:96;
}
*/

#top-banner {
    background-color: #414042; /* Fallback color */
    background-image: linear-gradient(to bottom, #414042 0%, #435363 100%) !important;

    /* Browser prefixes (for older support) */
    /*
    background: -moz-linear-gradient(top, #414042 0%, #435363 100%);
    background: -webkit-linear-gradient(top, #414042 0%, #435363 100%);
    background: -o-linear-gradient(top, #414042 0%, #435363 100%);
    background: -ms-linear-gradient(top, #414042 0%, #435363 100%);
    *

    /* Ensure visibility */
    height: 100px; /* Adjust as needed */
    width: 100%;
    
    /* Fix positioning */
    position: fixed;
    top: 0;
    left: 0;
    z-index: 96;

    /* Optional shadow */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
}


#bottom-banner {
    background:-moz-linear-gradient(top, #435363 0%, #414042 100%);
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #435363), color-stop(100%, #414042));
    background:-webkit-linear-gradient(top, #435363 0%, #414042 100%);
    background:-o-linear-gradient(top, #435363 0%, #414042 100%);
    background:-ms-linear-gradient(top, #435363 0%, #414042 100%);
    -webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.6);
    -moz-box-shadow:0 0 10px rgba(0, 0, 0, 0.6);
    box-shadow:0 0 10px rgba(0, 0, 0, 0.6);
}



.banner {
    width:100%;
    min-width:375px;
    height:100px;
    background-color:rgb(0,0,0);
}


#site-title {
    width: 70%;
    min-width: 375px;
    max-width: 940px;
    position:fixed;
    z-index:97;
    top:0;
}

#main-body {
    padding-top:80px; /* body to the top banner */
}

/*.wrapper {
    width:940px;
    margin:0 auto;
    overflow:hidden;
}
*/

.wrapper {
    width: 70%;
    min-width: 375px;
    max-width:940px;
    margin:0 auto;
    overflow:hidden;
}

#name {
    top: 20px;
    width: 50%;
    min-width: 340px;
    min-height: 37px;
    line-height:37px;
    position: absolute;
    font-family:'Verdana';
    font-size:28px;
    color:#FFF;
    z-index: 98;
    margin-left: 2px;
}

#subname {
    font-family:'Helvetica';
    font-size:18px;
    color: #FFE800;
    text-decoration:none;
}

#access {
    top: 56px;
    width: 100%;
    max-width: 940px;
    min-height: 25px;
    position: absolute;
    z-index: 99;
}

#nav {
    list-style:none;
    margin: 8px 10px auto;
    line-height: 23px;
    font-size: 16px;
    position: absolute;
    right: 0;
}

#nav li {
    display:inline;
    margin:0;
    padding-left:20px;
    vertical-align:middle;
}

#nav li a {
    display:inline-block;
    outline:none;
    color:#FFF;
    text-decoration:none;

    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}

#nav li a:hover {
    color:#FFE800;
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}

#sel {
    display: none;
    float: right;
    border: 1px solid #9bc0dd;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    width: 120px;
    font-size: 16px;
    text-align: center;
    margin: -30px 10px auto;
    padding-left: 2px;
    line-height: 23px;
    color:#FFF;
    background: #501B1D;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    -ms-appearance:none;
    -o-appearance:none;
    -khtml-appearance:none;

    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}

#sel:hover {
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
    color: #FFE800;
}


@media screen and (max-width: 768px) {
  #nav  { display: none; }
  #sel  { display: inline-block; }
  #gallery-text { display: none; }
  .container-description div {min-width: 295px;}
}


#motto p {
    color:#FFF; 
    margin:10px 10px 0px 0px;
    min-width: 375px;
    max-width: 940px;
    font-family:'Verdana';
    font-size:16px;
    text-align:right;
}
#motto span {
    float:right;
    margin: 0px 10px auto auto; /* 0px, move the image to the top */
}

.backToTop {
    display: none;
    width: 40px;
    line-height: 1.2;
    padding: 5px 0;
    background-color: #b50000;
    color: #FFF;
    font-size: 16px;
    font-weight:bold;
    text-align: center;
    position: fixed;
    _position: absolute;
    right: 80px; /*--- top bar to the right end */
    bottom: 67px;
    _bottom: "auto";
    cursor: pointer;
    opacity: .8;
}


/* 940px - 437px Ratio: 2.151 */
#home-gallery {
    width: 100%;
    height: 32.3vw;
    min-width: 375px;
    max-width: 940px;
    min-height: 174px;
    max-height: 437px;
    margin-top:50px;
    position:relative;
    overflow:hidden;
}
.gallery-content {
    min-width: 375px;
    max-width: 940px;    
}
#gallery-background {
    width: 100%;
    height: 32.3vw;
    min-height: 174px;
    max-height: 437px;
}
.gallery-photo {
    position:absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 32.3vw;
    min-width: 375px;
    max-width: 940px;
    min-height: 174px;
    max-height: 437px;    
}
.gallery-photo img {
    width: 100%;
    height: 100%;
}

#gallery-text {
    width: 100%;
    height: 5vw;
    max-height: 70px;
    background-color:#E7EBEF;
    opacity:0.85;
    z-index: 2;
    text-align:center;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
}

#gallery-description {
    overflow:hidden;
    width: 80%;
    margin: 2% auto auto auto;
}

#gallery-description p {
    font-size:24px;
    line-height:120%;
    font-weight: bold;
}
.gallery-arrow {
    background-repeat:no-repeat;
    width: 5.3%;
    height:32.3vw;
    opacity:0.5;
    z-index:3;
    top: 40%;
    -webkit-transition:opacity .5s;
    -moz-transition:opacity .5s;
    -o-transition:opacity .5s;
    transition:opacity .5s;    
}
.gallery-arrow:hover {
    opacity:1;
    -webkit-transition:opacity .5s;
    -moz-transition:opacity .5s;
    -o-transition:opacity .5s;
    transition:opacity .5s;
}
.gallery-arrow img {
    width: 100%;
    margin: auto;
}

#arrows-left {
    position:absolute;
    float:left;
    text-align: left;
}

#arrows-right {
    position:absolute;
    float:right;
    text-align: right;
    margin-left:94.7%;
}

#gallery-bottom {
    width: 100%;
    min-width: 375px;
    max-width: 940px;
    height:2.96vw;
    min-height: 17px;
    max-height: 40px;
    margin-bottom:24px;
}

#gallery-bottom img {
    width: 100%;
    height: 100%;
}

.container-outside {
    margin-top:50px;
    margin-bottom:50px;
}

.container-block {
    background-color:#E7EBEF;
}

.container-block h1{
    position:relative;
    top:40px;
    margin-left:40px;
    color:#AC3B61;
    font-size: 27px;
    line-height: 20px;
    height: 50px; /*distance between title (h1) and the text in a container*/
}

.container-description {
    position:relative;
    /* margin-top:100px; */
    margin-top: 80px;
    margin-left:40px;
    margin-right:40px;
    bottom:30px;
}


.container-description div {
    display: inline-block;
    vertical-align: top; 
}
.container-description a {
    /* font-weight:bold; */
    /*margin-top:200px; /* distance between title (h1) and the text in a container*/
    color:#AC3B61;
    text-decoration:none;
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}
.container-description a:hover {
    /* font-weight:bold; */
    color:#0057E7;
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}
.container-description li {
    margin-bottom:10px;
}
.container-description span img {
    width: 100%;
    height: 100%;
}
.container-desc-col-2 {
    display:inline-block;
    width:46%;
    margin: 1% 1%;
}

.container-desc-col-3 {
    display:inline-block;
    width:30%;
    margin: 1% 1%;
}
.container-desc-col-4 {
    display:inline-block;
    width:22%;
    margin: 1% 1%;
}
#news ul {
    margin-top: 0;
}
#news summary {
    margin-bottom: 10px;
}
#quick-link {
    text-align: center;
}
#quick-link div {
    min-width: 120px;
}
#quick-link span img {
    box-shadow:none;
    -webkit-transition:box-shadow .5s;
    -moz-transition:box-shadow .5s;
    -o-transition:box-shadow .5s;
    transition:box-shadow .5s;    
}

#quick-link span img:hover {
    box-shadow:0 0 10px #123C69;
    -webkit-transition:box-shadow .5s;
    -moz-transition:box-shadow .5s;
    -o-transition:box-shadow .5s;
    transition:box-shadow .5s;
}

.container-text {
    position:relative;
    margin-bottom: 10px;
    width: 100%;
}
.container-text h3 {
    margin-top:0;
    margin-bottom:10px;
}
.container-text p {
    margin-top:0;
    margin-bottom:0px;
}

#about-me-photo {
    width: 33%;
    overflow:hidden;
    margin-right: 20px;
    margin-bottom: 10px;
}
#about-me-text {
    width:60%;;
}
#about-me-text p {
	text-align:justify;
}


.team-member-photo {
    width: 15%;
    overflow:hidden;
    margin-right: 2%;
    margin-bottom: 10px;
}
.team-member-text {
    width:78%;
}
.team-member-text p {
    margin-bottom: 8px;
}

.team-alumni-block {
    width: 100%;
    margin-bottom: 30px;
}

.software-photo {
    width:18%;
    overflow:hidden;
    margin-right: 2%;
    margin-bottom: 10px;
}
.software-text {
    width:70%;
}
.software-text p {
    margin-bottom: 8px;
}


#contact {
    list-style-type:none;
    padding-left:0px;
    margin-bottom:40px;
}

#contact li a {
    text-decoration:none;
    color:#000; 
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}

#contact-photo {
    position:relative; 
    width:66%;
    margin-right: 2%;
    overflow:hidden;
}


#contact-text {
    width: 30%;
}


#twitter {
    background:url("../img/contact-twitter.png") no-repeat;
    padding-left:24px;
}
#twitter:hover {
    color:#0057E7;
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}
#linkedin {
    background:url("../img/contact-linkedin.png") no-repeat;
    padding-left:24px;
}
#linkedin:hover {
    color:#0057E7;
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}
#mail {
    background:url("../img/contact-mail.png") no-repeat;
    padding-left:24px;
}
#mail:hover {
    color:#0057E7;
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}



#mail {
    background:url("../img/contact-mail.png") no-repeat;
    padding-left:24px;
}
#mail:hover {
    color:#b50000;
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}

#twitter {
    background:url("../img/contact-twitter.png") no-repeat;
    padding-left:24px;
}
#twitter:hover {
    color:#00acee;
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}

#linkedin {
    background:url("../img/contact-linkedin.png") no-repeat;
    padding-left:24px;
}
#linkedin:hover {
    color:#007bb6;
    -webkit-transition:color .5s;
    -moz-transition:color .5s;
    -o-transition:color .5s;
    transition:color .5s;
}









