Codes Resources and Tools
 

The City of Austin Development Services Department has various resources to assist the development community. From our Code Interpretations Library to online property research tools.

 

   

icon

Codes and Regulations

The development process in the City of Austin is guided by a collection of separate controlling sources including the Land Development Code, Site and/ or Area-Specific Zoning regulations, Building and Technical Codes, and Technical Criteria Manuals.

Learn More

 

icon

Resources

A list of available resources that may provide helpful information to our customers, including fees, neighborhood assistance, and understanding the development process.
 

Learn More

 

icon

Online Tools

The Development Services Department has various online tools to help you search for development & permit-related information, sign in for service, pay fees, view geographic-related information, or sign up for email notifications.

Learn More 

 

<script>


// DSD Web Modernization Toolbox V1, documentation pending

// Content Accordions

// Go through each accordion
var accordions = document.querySelectorAll('.ckeditor-accordion-container');

accordions.forEach(function (accordion, index) {


var contentSections = accordion.querySelectorAll('dt');

contentSections.forEach(function (contentSection, index) {




var contentAccordionExists = contentSection.querySelector('[id*="content-accordion"]');
var openAccordionExists = contentSection.querySelector('[id*="open-accordion"]');


if (contentAccordionExists == '[object HTMLSpanElement]') {



const classList = contentSection.querySelector('[id*="content-accordion"]').getAttribute('id');

var newContentAccordion = document.createElement("div");
newContentAccordion.className = classList;


accordion.parentNode.insertBefore(newContentAccordion, accordion.prevSibling);

let accordionHTML = contentSection.nextElementSibling.innerHTML.split('<hr>');

// content top
let contentTop = accordionHTML[0]

// content bottom
let contentBottom = accordionHTML[1];

let accordionTop = '<div class="accordion-top accordion-trigger"><div class="accordion-inner">'+ contentTop +'</div></div>'

let accordionBottom = '<div class="accordion-bottom accordion-content"><div class="accordion-inner">'+ contentBottom +'</div></div>'

newContentAccordion.innerHTML += accordionTop + accordionBottom;


newContentAccordion.querySelector('.accordion-trigger').addEventListener("click", accordionReveal);

// Open version of accordion
} else if (openAccordionExists == '[object HTMLSpanElement]') {

const classList = contentSection.querySelector('[id*="open-accordion"]').getAttribute('id');


var newOpenAccordion = document.createElement("div");
newOpenAccordion.className = classList;


accordion.parentNode.insertBefore(newOpenAccordion, accordion.prevSibling);

let accordionHTML = contentSection.nextElementSibling.innerHTML;

// content
let content = accordionHTML;

newOpenAccordion.innerHTML += '<div class="accordion-content"><div class="accordion-inner">'+ content +'</div></div>';

}

});

// remove initial accordions
accordion.remove();

});



function accordionReveal(){
this.parentNode.closest('.content-accordion').querySelector('.accordion-content').classList.toggle('is-active');
}







// Feature Cards

var featureCards = document.querySelectorAll('[id*="feature-card"]');

featureCards.forEach(function (featureCard, index) {


var classList = featureCard.getAttribute('id');

var parentTable = featureCard.parentNode.closest('.table-responsive');

var tableRows = parentTable.querySelectorAll('tr');

var newFeatureCard = document.createElement("div");
newFeatureCard.className = 'feature-card-group';



tableRows.forEach(function (tableRow, index) {

parentTable.parentNode.insertBefore(newFeatureCard, parentTable.prevSibling);

let cardImage = tableRow.querySelector('td img').outerHTML;

let cardContent = tableRow.querySelector('td').innerHTML;

newFeatureCard.innerHTML += '<div class="row ' + classList + '"><div class="col-md-4 card-image">'+ cardImage +'</div><div class="col-md-8 card-content">'+ cardContent +'</div></div>';


});








parentTable.remove();

});


// Horizontal Cards

var horizontalCards = document.querySelectorAll('[id*="horizontal-card"]');

horizontalCards.forEach(function (horizontalCard, index) {


var classList = horizontalCard.getAttribute('id');

var parentTable = horizontalCard.parentNode.closest('.table-responsive');

var tableRows = parentTable.querySelectorAll('tr');

var newHorizontalCards = document.createElement("div");

newHorizontalCards.className = 'horizontal-cards row';

tableRows.forEach(function (tableRow, index) {

parentTable.parentNode.insertBefore(newHorizontalCards, parentTable.prevSibling);

let cardImage = tableRow.querySelectorAll("td")[0].innerHTML;

let cardContent = tableRow.querySelectorAll("td")[1].innerHTML;

newHorizontalCards.innerHTML += '<div class="card ' + classList + '"><div class="col-md-2 card-image">'+ cardImage +'</div><div class="col-md-10 card-content">'+ cardContent +'</div></div>';

});

parentTable.remove();

});


// Vertical Cards

var horizontalCards = document.querySelectorAll('[id*="vertical-card"]');

horizontalCards.forEach(function (horizontalCard, index) {


var classList = horizontalCard.getAttribute('id');

var parentTable = horizontalCard.parentNode.closest('.table-responsive');

var tableRows = parentTable.querySelectorAll('tr');

var newHorizontalCards = document.createElement("div");



newHorizontalCards.className = "vertical-cards row ";

tableRows.forEach(function (tableRow, index) {

parentTable.parentNode.insertBefore(newHorizontalCards, parentTable.prevSibling);

let cardImage = tableRow.querySelectorAll("td")[0].innerHTML;

let cardContent = tableRow.querySelectorAll("td")[1].innerHTML;

newHorizontalCards.innerHTML += '<div class=" ' + classList + ' vertical-card card"><div class="card-inner"><div class="card-image">'+ cardImage +'</div><div class="card-content">'+ cardContent +'</div></div></div>';

});

parentTable.remove();


});


var clickableCards = document.querySelectorAll('.has-card-link');


clickableCards.forEach(function (clickableCard, index) {


clickableCard.addEventListener('click', function(e){
window.location.href = clickableCard.querySelector('.card-content .btn').getAttribute('href');
});


});


</script>
<style>
/* core styles */
ul.button-list:after {
content: "";
display: block;
box-sizing: border-box;
position: absolute;
left: 526px;
bottom: -32px;
width: 0;
height: 0;
border-top: 60px solid transparent;
border-bottom: 60px solid transparent;
border-left: 60px solid #f2f2f2;
}

ul.button-list:before {
box-sizing: border-box;
position: relative;
display: block;
width: 550px;
background: rgba(0, 0, 0, .05);
height: 50px;
content: '';
position: absolute;
top: -7px;
left: -10px;
z-index: 0;
display: block;
}

.button-list li {
list-style: none;
display: inline-block;
margin-right: 10px;
z-index: 1;
position: relative;
}

.button-list {
padding-left: 0 !important;
position: relative;
}

.button-list li {
margin-bottom: 10px;
}

.button-list a {
display: block;
padding: 10px;
color: black;
text-decoration: none !important;
font-size: 10px;
font-family: "National 2", sans-serif;
}

.button-list li a {
text-decoration: none !important;
}

li .create-your-plan {
background-color: #f9ebe2 !important;
}

li .review-and-revise {
background-color: #5EA642;
}

li .zoning-review,
li .subdivision-review,
li .site-plan-review,
li .building-plan-review {
background-color: #e3e9ee !important;
}

li .build-and-inspect {
background-color: #f9ebe2
}

li .inspections,
li .occupancy {
background-color: #f0f7ee !important;
}

.open-accordion .learn-more {
display: none;
}

.col-sm-6.center-left {
width: 75%;
}

.center-right {
/* removes right-side */
display: none;
}

/* Typography */
h2 {
margin-top: 0;
}

p {
max-width: 900px;
}

hr {
border: 0;
border-top: 1px solid #14436B;
flex-grow: 1;
width: 100%;
opacity: .5;
margin-bottom: 20px;
}

/* colors */

.background-orange,
.orange-background {
background-color: #d76c28 !important;
}

.background-green,
.green-background {
background-color: #5EA642 !important;
}

.background-blue,
.blue-background {
background-color: #14436B !important;
}

.background-light-orange {
background-color: #FFE7D5!important;
}

.background-light-green {
background-color: #DBEDCF !important;
}

.background-light-blue {
background-color: #14426b1e !important;
}

.background-green,
.btn-success {
background-color: #449d44 !important;
text-decoration: none !important;
}

.card-content {
padding: 0 27px 20px;
margin-bottom: 20px;
}

.card h4 a,
.card h4 {
/*color: #5EA642;*/
color: black;
text-decoration: none;
margin-top: 0;
}

/*.field-content p,
.center-left p {
font-size: 16px !important;
line-height: 142% !important;
} */

#converted-row h4 {
text-align: left;
}

#converted-row .card {
border-bottom: 6px solid transparent;
}

#converted-row .card:hover {
border-bottom: 6px solid #D56B27;
}

.open-accordion,
.content-accordion {
padding: 30px;
margin-bottom: 60px;
position: relative;
overflow: visible;
}

.open-accordion .accordion-content {
margin: 0;
}

.accordion-trigger {
cursor: pointer;
}

.accordion-content {
margin: 20px 0;
transition: all 0.1s ease-out;
height: 0;
visibility: hidden;
opacity: 0;
position: absolute;
width: 100%;
overflow: hidden;
}

.accordion-content:last-child,
.accordion-content .horizontal-card:last-child {
margin-bottom: 0;
}

.open-accordion .accordion-trigger {
cursor: auto;
}

.open-accordion .accordion-content,
.accordion-content.is-active {
transition: all 1s ease-out;
opacity: 1;
height: auto;
visibility: visible;
position: relative;
}

.mini-accordion.row,
.horizontal-cards.row {
margin-left: 0;
margin-right: 0;
}

.accordion-content.card {
border-bottom: 0 !important;
cursor: auto !important;
}

.horizontal-card {
display: flex;
flex-direction: row;
align-items: flex-start;
padding: 20px;
cursor: pointer;
margin: 0 0 40px 0;
background: white;
}

.horizontal-card p {
font-size: 16px;
}

.horizontal-card div:nth-child(1) {
padding-left: 0;
}

.horizontal-card div:nth-child(2) {
padding-right: 0;
}

.horizontal-card h4 {
/*color: #5EA642; */
color: black;
font-size: 18px;
margin: 0 0 10px 0;
padding: 0;
}

.horizontal-card .card-content {
padding: 0 20px 0 20px;
margin: 0;
display: flex;
flex-direction: column;
}

.vertical-cards {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}

.vertical-card {
display: flex;
flex-direction: column;
margin-bottom: 30px;
border: 0;
position: relative;
min-height: 1px;
padding-left: 15px;
padding-right: 15px;
width: 33.333%;
}

.column-5.vertical-card {
width: 20%;
}

.column-4.vertical-card {
width: 25%;
}

.column-3.vertical-card {
width: 33.333%;
}

.column-2.vertical-card {
width: 50%;
}

.column-1.vertical-card {
width: 100%;
}

.vertical-card .card-inner {
background: white;
height: 100%;
}

.vertical-card .card-image {
margin-bottom: 20px;
}


.icon-images .card-image img {
max-width: 220px !important;
display: block;
padding: 20px 20px 0 20px;
margin: auto auto;
}

.has-border .card-inner {
border: 1px solid black;
}

.no-background .card-inner,
.background-none {
background: none;
}

a.learn-more,
button.learn-more {
margin: auto 0;
display: block;
text-align: left;
background: #5EA642;
color: white;
padding: 10px 20px;
border: 0;
text-align: center;
width: 130px;
margin-top: 20px;
cursor: pointer;
font-weight: 500 !important;
text-decoration: none !important;
}

a.learn-more:hover,
button.learn-more:hover {
color: white;
text-decoration: none;
}

.accordion-trigger .learn-more {
pointer-events: none;
}

.horizontal-cards .card {
padding-top: 20px;
}

.feature-card.row {
margin: 0;
}

.feature-card .card-image,
.feature-card img {
position: relative;
height: 100%;
margin: 0;
padding: 0;
}

.feature-card .card-content {
margin-top: 0;
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
}

.feature-card .card-content h3 {
margin-top: 0;
}

.table-responsive img {
width: 180px !important;
}

.feature-card .card-content img {
display: none;
}



.tip-card {
max-width: 600px;
margin: 0 0 50px;
padding: 10px 20px !important;
}

.tip-card.has-border {
border: 1px solid #449d44;
}

.tip-card h3 {
margin-top: 0;
margin-bottom: 0;
padding-top: 0;
font-size: 17px;
}

.tip-card p,
.tip-card a {
font-family: "National 2",sans-serif !important;
color: black;
max-width: 600px;
}

.is-rounded {
border-radius: 125px;
}

body .tip-card .card-image {
align-self: center;
padding-right: 0;
}

.tip-card .card-image img {
max-width: 70% !important;
margin: auto;
float: right;
}

.has-shadow {
box-shadow: 9px 11px 15px -4px rgb(130 130 130 / 64%);
-webkit-box-shadow: 9px 11px 15px -4px rgb(0 0 0 / 15%);
-moz-box-shadow: 9px 11px 15px -4px rgba(130,130,130,0.64);
}


.has-card-link {
cursor: pointer;
}

@media only screen and (min-width: 780px) {
.horizontal-cards img {
width: 100%;
display: block;
}
}

@media only screen and (max-width: 780px) {
.col-12 {
width: 100%;
}

.horizontal-cards .card,
.horizontal-card {
flex-direction: column;
}

.horizontal-card .card-content {
padding: 20px 0 0 0;
}

.horizontal-cards .card-image {
order: 1;
}

.horizontal-cards .card-content {
order: 2;
}

.card-image p {
padding: 0;
margin: 0;
}

button.learn-more {
width: 100%;
}

.block-region-centerleft {
background: none;
border-top: none;
padding: 0;
}

body.toolbar-fixed.toolbar-vertical.toolbar-tray-open.toolbar-fixed {
margin-left: 0;
}

body.toolbar-fixed.toolbar-vertical.toolbar-tray-open .navbar-fixed-top {
left: 0;
}

body.toolbar-vertical.navbar-is-fixed-top header {
top: 0 !important;
}

.col-sm-6.center-left {
width: 100%;
}

.button-list:before,
.button-list:after {
display: none;
}

.vertical-card {
width: 100% !important;
}


.feature-card .card-content {
padding: 0;
}

.feature-card img {
margin-bottom: 20px;
}

.feature-card h4 {
margin-top: 0;
}

.tip-card {
border-radius: 15px;

}

body .tip-card .card-image {
align-self: flex-start;
}

.tip-card .card-image img {
max-width: 60px !important;
float: none;
}


}




</style>
<style>
/* page styles */
.page-node-type-department .block-region-centerleft .field--name-field-dept-message .feature-card .card-image img {
height: 174px !important;
object-fit: cover;
width: 100%;
object-position: top center;
}


body .field--type-text-with-summary {
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}

body .field--name-field-dept-message {
border: 0 !important;
padding-top: 0 !important;
}

.feature-card h4 {
margin-top: -40px;
}

.feature-card-group .feature-card {
margin-bottom: 30px;
}

</style>