/* =============================================================================
   Aamal Aljoud — Element defaults
   -----------------------------------------------------------------------------
   The ground every page is drawn on: box sizing, the margins text elements
   start from, the heading scale, links and form controls.

   The site was built over the purchased theme's Bootstrap and style.css, and
   its pages were tuned against the element defaults those set. The theme is
   gone; these are the defaults it left in effect — measured from the rules
   that actually matched on every page, with the cascade between its four
   files resolved — so every page renders exactly as it did.

   Loaded first. Anything the site's own stylesheets say wins over it.
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    margin: 0;
}

::selection {
    color: #fff;
    background: #5c5c5c;
}

[hidden] {
    display: none !important;
}

/* ------------------------------------------------------------------- text */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-block: 0 10px;
    font-weight: 500;
    line-height: 1.2;
}

h1,
h2,
h3 {
    font-weight: 600;
    color: #000;
}

h1 {
    font-size: 50px;
}

h2 {
    font-size: 44px;
}

h3 {
    margin-block-end: 20px;
    font-size: 16px;
    text-align: right;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1rem;
}

@media (max-width: 767px) {
    h1,
    h2,
    h3 {
        font-size: 22px;
    }
}

p {
    margin-block: 0 20px;
    line-height: 24px;
}

address {
    margin-block-end: 24px;
    font-style: italic;
    line-height: inherit;
}

ul,
ol,
dl {
    margin-block: 0 24px;
    padding: 0;
    list-style-position: outside;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 80%;
    font-weight: 400;
}

a {
    color: #23252d;
    text-decoration: none;
    background-color: transparent;
    outline: 0;
    transition: all 0.2s linear;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: #23252d;
}

a:hover,
a:focus,
a:active {
    color: #fff;
    outline: 0;
}

/* ------------------------------------------------------------------ media */

figure {
    margin: 0 0 1rem;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-style: none;
}

svg {
    overflow: hidden;
    vertical-align: middle;
}

table {
    width: 100%;
    margin-block-end: 24px;
    border-collapse: collapse;
    background-color: transparent;
}

/* ------------------------------------------------------------------ forms */

label {
    display: inline-block;
    margin-block-end: 10px;
    font-weight: 600;
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button {
    border-radius: 0;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
    cursor: pointer;
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color;
}

textarea {
    overflow: auto;
    resize: vertical;
}

[type="search"] {
    outline-offset: -2px;
    -webkit-appearance: none;
}

select {
    padding: 10px 10px 10px 30px;
    word-wrap: normal;
    background-color: #fff;
    appearance: none;
}

/* addresses and numbers read left to right inside a right-to-left page */
[type="email"],
[type="file"],
[type="number"],
[type="password"],
[type="tel"],
[type="url"] {
    text-align: left;
    direction: ltr;
}
