body {
    font-family: 'Poppins', sans-serif;
    background-color: #1c1c1c;
    color: whitesmoke;
    margin: 0;
    height: 100vh;
    border: solid 20px #5514b4;
    display: flex;
    line-height: 1.4;
    font-size: 24px;
}
h1,h2,h3,h4,h5,h6,p {
    margin-bottom: 0;
}
.accent-font {
    color: #6a19df;
}
.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.center-div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.center-div a img {
    width: 500px;
}

.bold {
    font-weight: bold;
}
.px30 {
    font-size: 30px;
}

.main {
    margin: auto;
}
.intro {
    margin-bottom: 50px;
}
.intro .title {
    font-size: 130px;
    margin: 0;
    line-height: 1;
    color: #5514b4;
    font-weight: bold;
}
.subtext {
    display:flex;
    align-items: center;
}
.subtext img{
    flex-grow:0;
    flex-shrink:0;
    margin-right: 10px;
}
.subtext h3 {
    font-size: 40px;
    margin: 0;
    line-height: 1;
    font-weight: bold;
}
.social p {
    margin-top: 10px;
    margin-bottom: 0;
}
.social p svg {
    vertical-align: bottom;
}
a {
    color: white;
    text-decoration: none;
}
a:active, a:hover, a:focus {
    color: #d8d8d8;
}

.portfolio-container {
    padding-top: 40px;
}
.portfolio-container h1 {
    font-size: 75px;
}
.portfolio-container .row {
    padding-top: 20px;
}

.portfolio-item {
    position: relative;
}

.portfolio-item img {
    display: block;
    width: 100%;
    height: auto;
}

.portfolio-item .overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    transition: .5s ease;
    background-color: #5514b4;
}

.portfolio-item:hover .overlay {
    opacity: 0.8;
}

.portfolio-item .overlay p {
    color: white;
    font-size: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
}

@media only screen and (max-width: 725px) {
    .main {
        padding-left: 20px;
        padding-right: 20px;
    }
    .intro .title {
        font-size: 100px;
    }
    .intro .subtext h3 {
        font-size: 25px;
    }
    .portfolio-container a h1 {
        line-height: 1.0;
        margin-bottom: 20px;
    }
    .portfolio-container .row {
        padding-top: 0;
    }
    .col-md-4 {
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 530px) {
    .intro .title {
        margin-bottom: 50px;
    }
}