@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --dark: #19283f;
    --light: #fff;
    --green: #33d1cc;
    --section: #eff7fa;
}

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    font-family: "Roboto", sans-serif;
}

.main-btn {
    background-color: transparent;
    border-color: var(--light);
    color: var(--light);
    padding: 0.5rem 1rem;
    transition: 0.5s;
}

.main-btn:hover {
    background-color: var(--green);
    color: var(--light);
}

.main-title::after {
    content: '';
    width: 120px;
    height: 2px;
    background-color: var(--green);
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}

/* Navbar */
.navbar-expand-lg {
    background: var(--dark);
}

.navbar .navbar-brand {
    color: var(--light);
    font-weight: 700;
    font-style: italic;
}

.navbar .navbar-brand span {
    color: var(--green);
}

.navbar .navbar-nav .nav-link {
    color: var(--light);
    transition: 0.5s;
}

.navbar .navbar-nav .nav-link.active, 
.navbar .navbar-nav .nav-link:focus, 
.navbar .navbar-nav .nav-link:hover {
    color: var(--green);
}

.navbar .search {
    border-left: 1px solid var(--green);
}

.navbar .search svg {
    color: var(--green);
}

.navbar .navbar-toggler {
    color: var(--light);
    font-size: 25px;
    border-color: var(--light);
}

.navbar .navbar-toggler:focus {
    box-shadow: none;
}

.navbar .navbar-toggler[aria-expanded="true"] {
    border-color: var(--green);
    color: var(--green);
}
/* End Navbar */

/* Landing */
#landing {
    background: var(--dark);
    background-image: url("../imgs/bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    min-height: calc(100vh - 56px);
    padding: 0 100px;
}

#landing .content {
    position: absolute;
    bottom: 40px;
}

#landing .content h1 {
    font-size: 25px;
    color: var(--light);
    font-weight: 600;
}

#landing .content p {
    color: var(--light);
    font-size: 16px;
}
/* End Landing */

/* Services */
#services .icon-holder {
    height: 200px;
}

#services .icon-holder svg {
    left: 50%;
    transform: translateX(-50%);
}

#services .icon-holder .number {
    font-size: 12rem;
    color: var(--section);
}

#services .icon-holder .icon {
    color: var(--green);
}

#services .serv h4 {
    color: var(--dark);
}
/* End Services */

/* Portfolio */
.portfolios {
    background: var(--section);
}

.portfolios ul .active {
    background: var(--green);
    color: var(--light);
}

.portfolios ul li {
    padding: 0.5rem 1rem;
    cursor: pointer;
}

.portfolios ul li:not(.active):hover {
    color: var(--dark);
}

.portfolios .box {
    padding: 5px;
    overflow: hidden;
    position: relative;
}
/* End Portfolio */

/* Pricing */
.pricing #pro {
    position: relative;
    top: -10px;
}
/* End Pricing */

/* About */
.about {
    background: var(--section);
}

.about .description {
    max-width: 500px    ;
}
/* End About */

/* Subscribe */
.subscribe {
    background-color: var(--green);
}

.subscribe input[type="email"] {
    border: none;
    border-bottom: 1px solid var(--light);
}

.subscribe input[type="email"]:focus {
    outline: nones;
}

.subscribe input[type="email"]::placeholder {
    color: var(--light);
}

.subscribe input[type="submit"] {
    background-color: var(--dark);
    color: var(--light);
}
/* End Subscribe */

/* Contact */
.contact input[type="submit"] {
    background-color: var(--dark);
    color: var(--light);
}

.contact ul li {
    margin-bottom: 15px;
}

.contact ul li svg {
    color: var(--green);
    margin-right: 10px;
    font-size: 20px;
}
/* End Contact */

/* Footer */
.footer {
    background-color: var(--dark);
}

.footer .contact svg {
    width: 20px;
    height: 20px;
    color: var(--light);
}

.footer .links ul li a {
    font-size: 14px;
    color: var(--green);
    text-decoration: none;
}

.footer .facebook {
    background-color: #1877f2;
}

.footer .twitter {
    background-color: #1da1f2;
}

.footer .instagram {
    background-color: #c13584;
}

.footer .linkedin {
    background-color: #0077b5;
}
/* End Footer */

/* Copy */
.copy {
    background-color: var(--dark);
    border-top: 0.5px solid var(--section);
    padding: 10px;
    font-size: 13px;
}
/* End Copy */

/* User Modal */
.user-auth .login-btn-modal {
    height: 40px;
    padding: 0 35px;
    background: transparent;
    border: 2px solid #fff;
    border-radius: 40px;
    font-size: 16px;
    color: #fff;
    font-weight: 500;
    cursor: pointer;
    transition: 0.5s;
}

.user-auth .login-btn-modal:hover {
    background: #fff;
    color: #222;
}

.auth-modal {
    position: fixed;
    width: 420px;
    height: 440px;
    background: rgba(0,0,0,0.3);
    border: 2px solid rgba(255,255,255,0.3);
    border-radius: 20px;
    box-shadow: 0 0 30px rgba(0,0,0,0.3);
    backdrop-filter: blur(20px);
    color: #fff;
    inset: 0;
    margin: auto;
    display: flex;
    align-items: center;
    overflow: hidden;
    transform: scale(0);
    transition: height 0.2s ease, transform 0.5s ease;
}

.auth-modal.show {
    transform: scale(1);
}

.auth-modal.slide {
    height: 520px;
}

.auth-modal .close-btn-modal {
    position: absolute;
    top: 0;
    right: 0;
    width: 45px;
    height: 45px;
    background: #fff;
    border: none;
    border-bottom-left-radius: 20px;
    font-size: 25px;
    color: #222;
    cursor: pointer;
    z-index: 1;
}

.auth-modal .form-box {
    width: 100%;
    padding: 40px;
}

.auth-modal .form-box.login,
.auth-modal.slide .form-box.register {
    transform: translateX(0);
    transition: transform 0.18s ease;
}

.auth-modal.slide .form-box.login {
    transform: translateX(-400px);
    transition: none;
}

.auth-modal .form-box.register {
    position: absolute;
    transform: translateX(400px);
}

.form-box h2 {
    font-size: 35px;
    text-align: center;
}

.input-box {
    position: relative;
    width: 100%;
    height: 50px;
    margin: 30px 0;
}

.input-box input {
    width: 100%;
    height: 100%;
    background: transparent;
    border: 2px solid rgba(255,255,255,0.3);
    outline: none;
    border-radius: 40px;
    font-size: 16px;
    color: #fff;
    padding: 20px 45px 20px 20px;
}

.input-box input::placeholder {
    color: #fff;
}

.input-box i {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
}

.form-box p {
    font-size: 14.5px;
    text-align: center;
    margin: 25px 0 10px;
}

.form-box p a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.form-box p a:hover {
    text-decoration: underline;
}

/* End User Modal */