@import url('./layout.css');
@import url('./colour-picker.css');

@font-face{
    font-family: 'oxyous';
    src: url('../fonts/oxyous.ttf')
}

html, body{
    margin:0;
    padding:0;
    height:100%;
    overflow-x: hidden;
    background-color:#FFF;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

#fx-container{
    width:100%;
    height:100%;
    bottom:0;
    background: url('../img/background-black.jpg');
    background-attachment: fixed;
    background-size: cover;
    background-origin: 50% 50%;
}

#fx-container::before{
    content: "";
    display:block;
    left:0;
    top:0;
    width:100%;
    height:100%;
    z-index: -1;
    position: fixed;
    background: url('../img/background-black.jpg') no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#particle-container{
    width:100%;
    height:100%;
    position: relative;
    bottom:0;
}
#canvas-fx{
    position: absolute;
    bottom:0;
    top:0;
    left:0;
    right:0;
    z-index: 100;
}
.bg-dark{
    background-color: #1a1a1a !important;
}

.bg-blue{
    background-color:#6498C4 !important;
}

.bg-green{
    background-color:#7FD783 !important;
}

.bg-red{
    background-color:#D7817F !important;
}

.page-header{
    margin-bottom:0;
    position:relative;
    height:620px;
    text-align: center;
    user-select: none;
}

.header-list{
    color:white;
    vertical-align: top;
    width:100%;
}
.header-list li{
    display:inline-block;
    padding:8px;
    margin: 0 48px;
    object-fit: contain;
    position: relative;
    opacity: 0.5;
    z-index:100;
    user-select: none;
    font-size:18pt;
}
.header-list li:before{
    content: '\4A';
    width:32px;
    height:32px;
    margin-left:0;
    position: absolute;
    font-family: 'oxyous';
    left:-32px;
    top:12px;
    font-size:12pt;
}

.slide-list{
    color:#2a2a2a;
    vertical-align: top;
    width:100%;
    list-style: none;
    vertical-align: middle;
}

.slide-list li{
    display:inline-block;
    padding:8px;
    margin: 0 48px;
    object-fit: contain;
    position: relative;
    z-index:100;
    user-select: none;
    vertical-align: middle;
}
.slide-list li:before{
    content: attr(data-icon);
    margin-left:0;
    position: absolute;
    font-family: 'oxyous';
    left:-32px;
    top:4px;
    font-size:18pt;
    vertical-align: middle;
}


.header-list li:hover{
    opacity: 1.0;
    transition: all 1s;
}
.header-icons{
    float:right;
    color:white;
    width:100%;
    margin-top:48px;
}
.header-logo{
    color:white;
    display:inline-block;
    width:320px;
    text-align: center;
    margin-top:128px;
    z-index:100;
    position: relative;
}

.navbar-sticky{
    position:sticky;
    top:0;
    opacity: 1.0;
    z-index: 10000;
}
.side-nav-list{
    color:#EEE;
    font-size:10pt;
    margin-top:32px;
    
    list-style-image: url('../img/bullet-point.png');
    list-style-position: outside;
    padding-left:32px;
    vertical-align: middle;
}
.side-nav-list li{
    position: relative;
    padding-bottom: 16px;
    vertical-align: middle;
}
.side-nav-list li span:before{
    content: '';
    position: absolute;
    border-left: 2px solid;
    left: -14px;
    bottom:0;
    top:4px;
    height:100%;
    padding-top:8px;
    z-index: -1;
}
.basic-table{
    width:100%;
    table-layout: fixed;
}
.basic-table td, th{
    border: 1px solid #EEE;
}

.side-nav-list li:last-child span::before{
    content: none;
}
.side-nav-list a{
    color:#000;
    text-decoration: none;
    font-weight: 400;
    opacity: 1.0;
    font-family: 'Open Sans';
    vertical-align: top;
    position: absolute;
    top:-2px;
}
.side-nav-list a:hover{
    opacity: 1.0;
    color:#3D9D55;
    text-decoration: none;
}
.side-nav-list li.active a{
    color:#3D9D55;
    font-weight: bold;
}
.side-nav-list li.active{
    color:#3D9D55;
}


footer {
    background-color: #2a2a2a;
    color: #888;
    width: 100%;
}

footer ul {
    list-style: none;
    margin: 0;
    padding: 4px;
}

footer ul li {
    padding: 8px 0px;
}

.footer-list{
    text-align: left;
    list-style: none;
    margin:0 auto;
    padding:0;
}
.footer-list > span{
    font-weight: bold;
    font-size:18pt;
}

.footer-list > span > img {
    vertical-align: middle;
    opacity: 0.25;
    padding: 2px;
    margin-left:-32px;
}

footer{
    background-color:#444;
    font-weight: 300;
}
footer h5{
    color:white;
    font-weight: 500;
}
.footer-list > li{
    padding:2px 4px;
}
.footer-list > li a{
    color:white;
}
.copyright-footer{
    background-color: #1a1a1a;
}
.sub-text-center{
    text-align: center;
    font-weight: 300;
}
.button-link{
    padding:4px 16px;
    background-color:#3D9D55;
    color:white;
    border:none;
    border-radius: 6px;
    margin:4px;
}

.next-page{
    float: right;
}
.next-page > div:first-child{
    color:#444;
}
.next-page > div:nth-child(2){
    color:#444;
    font-weight: bold;
}

.prev-page{
    float: left;
}
.prev-page > div:first-child{
    color:#444;
}
.prev-page > div:nth-child(2){
    color:#444;
    font-weight: bold;
}

.card > .img-thumbnail > img{
    width:340px;
    height:330px;
}


.portfolio-cards .card:hover img{
    transition: all 0.5s;
    transform:scale(0.99);
}

.anchor{
    display: block;
    position: relative;
    top:-64px;
    visibility: hidden;
}

.img-lg-thumbnail{
    max-width:800px;
}
.img-lg-thumbnail > img{
    width:100%;
    object-fit: contain;
}

.modal{
    display:none;
    position: fixed;
    z-index: 100;
    padding-top: 100px;
    left:0;
    right:0;
    top:0;
    width:100%;
    height:100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0, 0.9);
    text-align: center;
    object-fit: contain;
}

.screenshot{
    cursor: pointer;
    width:100%;
}
.screenshot:hover img{
    transform:scale(0.99);
    transition:transform 0.75s;
}

.h-48{
    height:48px;
}

.modal img{
    margin:auto;
    width:80%;
    height:auto;
    -webkit-animation-name: zoom;
    -webkit-animation-duration: 0.6s;
    animation-name: zoom;
    animation-duration: 0.6s;
    z-index: 1000;
}

.modal span{
    position: absolute;
    top: 48px;
    right: 32px;
    color:#FFF;
    font-size:36pt;
}
.modal span:hover{
    color:#FFF;
}

.tab button{
    background-color:transparent;
    border:2px solid #888;
    padding:4px 16px;
    border-radius: 4px;
}
.tab button:hover{
    transition:all 1s;
    background-color:#EEE;
}

.tab button.active{
    background-color:#888;
    border:2px solid #888;
    color:#FFF;
    padding:4px 16px;
    border-radius: 4px;
}
.tab-page{
    display:none;
}
.tab-page.active{
    display:block;
}

.article
{
    position: relative;
    height:100%;
}

.article button{
    position: absolute;
    right:16px;
    bottom:16px;
}

.search-result{
    padding:16px;
    margin-top:8px;
    border:1px solid #EEE;
}

.video{
    object-fit: cover;
    object-position: center;
    width:100%;
    height:100%;
    position: absolute;
    left:0;
    top:0;
    z-index:0;
}

@-webkit-keyframes zoom {
    from {-webkit-transform:scale(0)} 
    to {-webkit-transform:scale(1)}
}
  
@keyframes zoom {
    from {transform:scale(0)} 
    to {transform:scale(1)}
}

.fade-fx {
    opacity:0.0 !important;
}
.anim-element{
    transform: translate(0, 0), rotate(0deg);
    transition: all 0.75s;
    transition-property: transform, opacity;
    opacity: 1.0;
}
.slide-up-fx{
    transform: translateY(100%);
    transition: all 0.75s;
    transition-property: transform, opacity;
    opacity: 0.0;
}
.slide-down-fx{
    transform: translateY(-100%);
    transition: all 0.75s;
    transition-property: transform, opacity;
    opacity: 0.0;
}
.slide-in-left{
    transform: translateX(100%);
    transition: all 0.75s;
    transition-property: transform, opacity;
    opacity: 0.0;
}

.slide-in-right{
    transform: translateX(-100%);
    transition: all 0.75s;
    transition-property: transform, opacity;
    opacity: 0.0;
}

.rot-in-left{
    transform: rotate(360deg) scale(1.0);
    transition: all 0.75s;
    transition-property: transform, opacity;
    opacity: 0.0;
    transform-origin: center;
}

.table-col > div{
    padding:8px;
    text-align: left;
}
.table-col > div:nth-child(1){
    font-weight:bold;
    text-align: center;
}
.table-col > div:nth-child(2){
    text-align: center;
}

.jumbotron-white{
    background-color:#FFF;
    border-top: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
    border-radius: 0;
    box-shadow: 2px 8px 8px rgba(0,0,0,0.05);
}

.point-list{
    text-align: left;
    list-style:none;
}
.point-list li{
    padding:0px;
    margin-bottom:32px;
    float:left;
    width:100%;
}
.point-list li h5{
    margin-top:0px;
    margin-bottom:0;
    font-weight: normal;
}
.list-icon p{
    margin-top:0;
    margin-bottom:0;
    font-size:12pt;
    line-height:16px;
}
.list-icon{
    float:left;
    line-height:48px;
    position: relative;
    background-color:transparent;
}
.list-icon p{
    color:#888;
}
.list-icon span{
    font-family: 'oxyous';
    font-size:36pt;
    background-color:#3D9D55;
    color:white;
    width:64px;
    height:64px;
    border-radius: 64px;
    text-align: center;
    margin:8px;
    padding:8px;
    float:left;
    z-index: 100;
    position: relative;
}
.point-list li:not(:last-child)::after {
    border-left:1px dashed #CCC;
    height:64px;
    width:1px;
    line-height:16px;
    content: ' ';
    position: absolute;
    left:40px;
    z-index:0;
}

footer a{
    color:white;
    opacity: 0.75;
}

footer a:hover{
    color:white;
    opacity: 1.0;
}

footer .icons{
    font-family: 'oxyous';
    font-size:18pt;
    color:#FFF;
    vertical-align: middle;
}

@media only screen and (max-width:768px){
    .list-icon span{
        display:block;
        clear:both;
        float:none;
    }
    .point-list
    {
        margin:0;
        padding:0;
    }
    .point-list li h5{
        width:100%;
        clear:both;
        float:none;
    }
    .point-list li{
        width:100%;
        clear:both;
        float:none;
    }
    .figure{
        width:100%;
        max-width:800px;
    }
 }
 
 @media only screen and (max-width:992px){
    .header-icons{
        margin-top:32px;
        text-align: left;
        display:block;
    }
 }
 